An SDK, or Software Development Kit, is a collection of tools, libraries and frameworks which are designed to make application development easier. SDKs enable software developers to build software applications faster and in a more standardized way. SDKs can function as "wrappers" for functionality such as API endpoints (more on this later.)
If you're a developer reading this, the chances are that you've probably already used an SDK, even if you didn't realise it. For example, .Net developers use the .Net SDK to develop C# and .Net applications. Moreover, popular development platforms typically come with their own SDKs. Mobile developers use the iOS SDK to develop iOS applications and Android programmers use the Android SDK. For a programmer, an SDK is as vital as a box of tools is to a mechanic.
SDKs make APIs easy
Sinch uses SDKs as a complement to APIs. APIs make development easier but they can be tricky to use in their raw form. For example, let's say you are creating a Python app that sends a message using the SMS API. You'd need to write a custom 'send' function containing the endpoint URL, headers and a payload. Moreover, having made all these elements, you would then need to bring them together in a post request. Getting this right will require extensive consultation of the API reference, and you're going to have to do it all again if you want to do something else, like create a messaging group.
The whole process is a different story when you use an SDK. The Python SDK comes with out-of-the-box methods. These methods encapsulate the raw endpoints with "wrapper" methods that call the Sinch API to perform specific tasks. Once you've imported the SDK library, you can do anything from sending a message to creating a group, simply by invoking the appropriate method. Because an SDK is language specific, developers can leverage it using tools that feel comfortable for them. A Python developer can use Sinch's Python SDK the same way that they would use, say, the Python requests library.
Developing through DRY
Software engineers often use a principle called Don't Repeat Yourself (DRY). What it means is that when faced with simple operations, such as reversing a string or sending a message, programmers should avoid writing code from scratch but should instead package them into reusable methods.
A common way to achieve this sort of reusability is an open source library. A library such as Python requests is available through a package manager such as pip and provides methods such as `get` and `post` which developers can readily call when they need to. SDKs bring this convenience to Sinch's APIs. They are available through package managers such as pip and nuget. Their built in methods abstract away from the rigmarole of using raw endpoints. In short, they allow developers to harness the power of DRY in the context of an API. By leveraging an SDK, developers using Sinch to create mobile messaging apps can write code that is more readable, more reliable and more maintainable.
Sinch has SDKs in the following languages:
This is third-party software for which we must purchase licenses. SENDXMS by default manages the four standard SMS protocols (UCP, SMPP, OIS, SEMA) and handles SMS messages as text files (MT, MOs and notifications). This software is used for sending and receiving SMS and supports a large range of protocols and SMS standards.
A process or program that performs client requested tasks. Servers generally receive requests from client programs, execute database retrieval and updates, manage data integrity, and return responses to client requests. Sometimes server programs execute common or complex business logic. The server-based process sometimes runs on another machine on a network and provide both file system services and application services. In other cases, another desktop machine may provide application services. The server process acts as a software engine that manages shared network resources or performs back-end tasks that are common to similar applications.
Signature-based Handling of Asserted Information Using toKENs (SHAKEN) and the Secure Telephone Identity Revisited (STIR)) standards. The FCC explains SHAKEN/STIR as follows:
“… calls traveling through interconnected phone networks would have their caller ID ‘signed’ as legitimate by originating carriers and validated by other carriers before reaching consumers. SHAKEN/STIR digitally validates the handoff of phone calls passing through the complex web of networks, allowing the phone company of the consumer receiving the call to verify that a call is from the person making it.”
Short Codes are network specific access codes used for sending and receiving messages (both SMS and MMS) between consumers and companies. Short codes are recognized for use around the world in specific countries and are shorter than a normal mobile phone number, usually consisting of four to six digits, depending on the country. Short codes are used because they are memorable and easy to enter into a phone. They can also spell out memorable brand names (phone words) (for example, 1-800-468-5865 for 1-800-GOT-JUNK), so the short code could be something like 485865 (GTJUNK).
Subscriber Identity Module (SIM) is a removable smart card for mobile phones. SIM cards securely store the service-subscriber key (IMSI) used to identify a GSM subscriber. The SIM card allows users to change phones by simply removing the SIM card from one mobile phone and inserting it into another mobile phone.
The traditional SIM card issued by a mobile operator contains a single IMSI for the issuing operator. The IMSI is then used to authorize access to mobile networks, whether the home network or another network the device has roamed.
A SIM card can typically contain, the telephone number of the subscriber, encoded network identification details, the PIN and other user data such as the phone book. A user's SIM card can be moved from phone to phone as it contains all the key information required to activate the phone.
When a mobile subscriber opts into a program using a subscriber-initiated message to a service provider as prompted by the terms of the program. For example, when a subscriber texts JOIN HEALTH ALERTS to a short code, that subscriber is opting into the service.
For SMPP, Sinch uses Nobill as a third-party communication software. So, a “sink” is Nobill’s next destination in the message route. For MT (mobile terminated), this would be a Nobill supplier site, or the supplier/operator connection. For MO (mobile originated) this would be the Nobill customer site, or the customer account.
Session Initiation Protocol (SIP) is a signalling protocol used for initiating, maintaining, modifying and terminating real-time sessions that involve video, voice, messaging and other communication applications and services between two or more endpoints on IP networks.
A Session Initiation Protocol (SIP) Trunk or SIP Trunking is a way of communicating using VoIP rather than a traditional telephone line to facilitate two-way conversations or multiple people on a conference call to communicate via audio or video over an IP network.
Learn more about SIP Trunks.
A handheld device that integrates mobile phone capabilities with the more common features of a handheld computer or PDA. Smartphones allow users to store information, e-mail, install programs, along with using a mobile phone in one device.
Short Message Service (SMS) is currently one of the most popular messaging formats for sending text messages. The format supports messages of up to 160 characters, allowing users to send texts quickly and easily from mobile devices.
Refer to SMS Message for more information.
Take a look at the Sinch SMS Product page to learn more about our SMS products, or click here to sign up to our self-service portal and get started today.