In version 1.2.0, we have introduced end-to-end tests for all the supported endpoints. The implementation of these Cucumber steps can be found in the /tests
folder of each API package. These tests run on every push to the repository, providing enhanced protection against potential regressions.
This release also includes several updates to align with the latest API changes and to improve the developer experience. See below for detailed changes in each API package.
Highlights:
[Bugfix] Remove the values set by default by the SDK when formatting the API request.
[Bugfix] In the interface UpdateGroupRequest
, the property name
can also be set to null to remove an existing name set.
[Deprecation Notice] In the interface GetDeliveryReportByPhoneNumberRequestData
, the request parameter recipient_msisdn
is deprecated and should be replaced by phone_number
.
[Deprecation Notice] All variations of a group response (GroupResponse
, CreateGroupResponse
, ReplaceGroupResponse
and UpdateGroupResponse
) are deprecated and replaced by the unique interface Group
.
See full content here: SMS CHANGELOG.md
Highlights:
[Bugfix] Remove the "scheduledProvisioning" properties for SMS and Voice in the update number request.
[Deprecation notice] availableNumber
and activeNumber
subdomain are deprecated and all methods are now defined on the upper numbers service.
All the methods names are the same except availableNumber.list()
-> searchForAvailableNumbers()
Deprecated | New |
---|---|
numbersService.availableNumber.checkAvailability() |
numbersService.checkAvailability() |
numbersService.availableNumber.list() |
numbersService.searchForAvailableNumbers() |
numbersService.availableNumber.rent() |
numbersService.rent() |
numbersService.availableNumber.rentAny() |
numbersService.rentAny() |
numbersService.activeNumber.get() |
numbersService.get() |
numbersService.activeNumber.list() |
numbersService.list() |
numbersService.activeNumber.update() |
numbersService.update() |
numbersService.activeNumber.release() |
numbersService.release() |
See full content here: Numbers CHANGELOG.md
Highlights:
[Bugfix] Fix issue with pagination to iterate over multiple pages.
[Bugfix] conversations.listRecent()
: Add a page_size value by default. Without it the API returns an empty list.
[Bugfix][Breaking] InjectConversationEvent
interface: only AppEvent
is allowed (ContactEvent
and ContactMessageEvent
are no longer allowed).
[Bugfix][Breaking]
See full content here: Conversation CHANGELOG.md
Highlights:
[Breaking] In the interface ConferenceCalloutRequest
, the property mohClass
was declared as a string
and is now a MusicOnHold
type;
[Deprecation Notice] The type VoiceCallback
becomes VoiceCallbackEvent
and is accessible on the Voice
namespace.
See full content here: Voice CHANGELOG.md
Highlights:
[Feature] Support the locale
parameter in the SmsOptions
interface when starting a verification with a SMS.
[Deprecation Notice] All the references to "callout" and "seamless" will be replaced by "phoneCall" and "data" respectively. This change is done to match the code to the online documentation and to enhance the developer experience.
[Deprecation Notice] The type VerificationCallback
becomes VerificationCallbackEvent
and is accessible on the Verification
namespace.
See full content here: Verification CHANGELOG.md
Highlights:
[Feature] Support date rage filter for listing faxes
[Bugfix] Fix faxes.send()
to send one or several faxes over JSON or FormData. Add examples in the simple-examples package.
[Feature][Breaking] Update interfaces according to OAS updates.
See full content here: Fax CHANGELOG.md
Highlights:
[Feature] Add the method accessControlList.get()
.
[Feature] Support date rage filter for listing calls.
[Bugfix][Breaking] callHistory.find()
: the direction
enum's values are in lower case. E.g.: INBOUND
-> inbound
.
[Bugfix][Breaking] The price amount
is now a number
instead of a string
.
See full content here: Elastic SIP Trunking CHANGELOG.md
As a developer-focused business, Sinch understands the need to constantly consolidate and refine our resources to be more accommodating. Our Sinch Software Development Kits (SDKs) allow access to multiple APIs, extend the number of languages supported, and feel a bit more tailored to your language of choice.
Whether you're a new user or have been with us for a while, we encourage you to explore our new SDKs:
SDK |
Github Repository |
Supported
|
Documentation |
|
|
Python SDK |
SMS |
||
Numbers |
||||
Voice |
Voice SDK Documentation | |||
Verification |
||||
|
||||
|
.NET SDK |
SMS |
||
Numbers |
||||
Voice | ||||
Verification |
||||
|
||||
|
Java SDK |
SMS |
||
Numbers |
||||
Voice |
||||
Verification |
||||
|
||||
|
Node.js SDK |
SMS |
||
Numbers |
||||
Voice |
||||
Verification |
We started out by establishing a common framework for functionality we wanted to be consistent across the board. Problems like pagination, error code response, language familiarity, and other issues needed standardization regardless of the underlying API setup. For example, two common approaches to pagination are page-based and token. Depending on the API, there are pros and cons to each approach.
However, in our SDKs, we provide a single iterator object you can use to parse through your results: Example of our Python paginator
To further enhance your experience, we've made several minor improvements, including centralizing our client around a single authentication model, ensuring support for all actively supported language versions, and reducing reliance on third-party libraries. Over the next few months, we'll be rolling out a series of articles to provide a deeper dive into each specific language SDK. While we continue to expand our coverage across all APIs, we'll keep you informed about relevant support additions to each SDK.
We're confident our SDKs will enhance your Sinch experience significantly. Thank you for being a part of the Sinch Developer Community.
If you have any questions or need help check out our Sinch Community Site or you can reach out to us at onlineteam@sinch.com. We're always happy to help!