WHAT IS SMS?
SMS is a text messaging service component of most telephone, Internet, and mobile device systems. It uses standardized communication protocols that let mobile devices exchange short text messages. An intermediary service can facilitate a text-to-voice conversion to be sent to landlines.
SMS stands for Short Message Service, and it’s the most common form of text messaging used today. A single text message is limited to 160 characters including spaces.
MMS stands for Multimedia Messaging Service. It is the media variant of an SMS message that allows users to send images, videos, or audio via a traditional cellular network. This was a common way of sending pictures, also known as Picture Messages, to friends and colleagues before mobile applications began using mobile Internet networks to send larger files.
WHAT IS AN API?
An application programming interface(api) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build such a connection or interface is called an API specification
Using APIs for Integrating Cloud, IoT, and Mobile
Most software and mobile applications nowadays have APIs, some of them to allow you to easily find the best restaurant in a new town, some of them to feed company’s logistics software with the latest information about the current location of goods. APIs are widely used both in B2C and B2B scenarios.
Even more than that, enterprise systems increasingly start supporting APIs as enterprise IT infrastructure is getting more and more interconnected. In the business world, APIs have become the driving force behind continuous and automated data exchange between different cloud-based and on-premise applications, systems, databases and even platforms.
The main reason behind that is that no business application is used as a standalone solution.
If your company uses a customer service system like Zendesk or Help Scout, you would need to integrate it with your CRM system like Salesforce or SugarCRM if you want to enable your support to immediately react to priority customers’ inquiries and issues.
The range of API implementations can go far beyond SaaS-to-SaaS integrations, though; in more complex digital transformation scenarios, it is quite a common practice to use APIs to connect IoT platforms to a lightweight integration middleware like iPaaS, and then connect the latter to a legacy ESB.
6 Characteristics That Make API Be Ideal for Integration
An API that is a best fit for integration purposes is actually suitable for both methods described above. Sometimes, though, one is preferred to the other. And while the second method is more or less universal (if you remember, with webhook triggers, we don’t care about the quality of API), it is the first method that reveals if an API is good or not.
So, what are the qualities of a good API for integration and why are they so important?
1. Modification timestamps/ Search by criteria:
A good API should allow to search data by certain criteria, most importantly by its date. Simply because after the first initial data synchronisation, it is typically the changes that we are mostly interested in. In other words, we need the changed (updated, deleted, corrected, etc.) or added information since the last time we triggered the synchronisation.
So, when a trigger should poll data from API, the first important question to answer is how to detect changes in data.
The only way to get this data is to start asking for changes since particular timestamp. For example, the first, initial data synchronisation happened on May 01, 2016. So, we specify this date as a point of reference, and set up to request for data that has been coming in since this date. This is why it is important that in addition to search by criteria option, an API also provides timestamps.
Naturally, it can happen that there are huge amounts of data, even if this is only the changed data. In order to deal with it efficiently, we need to have a way to specify that we need not all the changed data in one sitting, but, say, only the first “page” of it. For example, of the size one thousand data records.
This is what paging is about. A good API must be able to limit the amount of data that can be received in one go, as well as the frequency of requests for data. It should also be able to notify about how many “pages” of the data are left.
Paging can only work, though, when data is ordered, because if it’s not, it is impossible to know whether you’ve already received that data or not. Therefore, an API should also be able to allow to sort data at least according to time of modification.
So, having all these three characteristics allows us to define that we only need the data that came in after May 01, 2016, and only the first “page” of it, in our example, one thousand data records, ordered by time of change. Then we’ll remember what was the changed timestamp of the last record in this one-thousand records list, and then ask for next batch of data only starting from that moment. The mechanism for remembering timestamps can vary; we, for one, use snapshots for that.
Having said all that, if you use the OData protocol (preferably the latest version 4) to create APIs, then they will possess all the characteristics mentioned above by default, as well as some other, quite important ones like upserting an entity or conflict resolution (to avoid duplication of data).
4. JSON support / REST:
To be fair, an API doesn’t have to be RESTful in order to be considered good. However, most new APIs are REST APIs that, by default, support JSON, and there are quite a few good reasons for that.
REST APIs are stateless, which makes them ideal for applications that require a considerable amount of back-and-forth messaging, e.g. for mobile apps. If an upload to a mobile application is interrupted due to, say, loss of reception, REST APIs make it very easy to retry the process. With SOAP, this is possible too, but with considerably more effort. In addition to that, REST APIs are lightweight and more compatible with the web as they use simple URIs for communication.
REST APIs support various formats, with JSON being only one of them; TXT, CSV and XML would be other examples. This means that you as a developer has a choice between different formats (as opposed to SOAP that supports only XML), and can go for the one that really fits the purpose.
Using JSON with REST is considered to be best practice, though. Mainly, because unlike XML, JSON’s syntax is very close to most programming languages, which makes it very easy to parse it in almost any language. Not to mention that JSON is also really easy to create.
5. Authorization via OAuth:
OAuth is an open standard for authorization, and even though it is considered by some developers to be a pain in the …hm.. neck, Oauth provides considerably better usability for the application users/developers than any other method.
Contrary to widespread beliefs, OAuth isn’t equal to signing up with your Facebook or Twitter account; OAuth means that if application users (e.g. Xero users) want to connect this application with another one via some integration services, they can authenticate themselves by explicitly granting this service access to the application – no more, no less.
Unlike granting access with, for example, an API key, though, the OAuth authorization is considerably faster – you just need to click on a button confirming access grant. Any other method means that users of your API have to actually make an extra effort – not great for delivering superb user experience.
6. Good documentation:
It is last, but not least.
It seems like providing a good, extensive documentation for an API is something that should be understood by developers by default, you don’t need to point that out. Yet there is a massive amount of APIs that are extremely poorly described, even those APIs that are actually very good for integration.
Therefore, we can’t stress this enough how providing a solid documentation for API is important for integration projects, because it is one of the factors that drives the decrease in project implementation time, and hence, in costs for the project. And a good documentation surely does add up popularity to an API;-)
If you have other points to add to this list of characteristics that make an API great for integration, please do share them below. We’d love to learn about them!
WHAT IS AN SMS API?
An SMS gateway or MMS gateway allows a computer to send or receive text messages in the form of Short Message Service or Multimedia Messaging Service transmissions between local and/or international telecommunications networks
An SMS API is well-defined software interface which enables code to send short messages via a SMS GATEWAY
As the infrastructures for SMS communications and the internet are mostly divided, SMS APIs are often used to ‘bridge the gap’ between telecommunications carrier networks and the wider web. SMS APIs are used to allow web applications to easily send and receive text messages through logic written for standard web frameworks.
How does SMS API work?
An SMS API is a type of API that allows your business to integrate SMS (Short Message Service) messaging into your existing software platforms. SMS APIs enable you to send or receive SMS messages quickly and easily through any website or application.
How to integrate SMS API in PHP?
How to integrate Messente’s SMS API in PHP
- Step 1: Create your Messente account. You’ll need to signup to Messente to get started (no credit card details required). …
- Step 2: Create a sender ID. Next, apply for a sender ID. …
- Step 3: Create an API key.
- Step 4: Install our PHP code library.
Benefits of SMS API integrations
Automation for better efficiency
SMS APIs allow for automation of processes for sending and receiving your SMS messages. Using APIs can make workflows faster and more productive, reducing the need for manual management by staff.
For example, an API can replace a manual process performed between two applications. Similarly, if your business sends the same message on a regular basis, an SMS API can seamlessly distribute these messages without manual involvement. Time-sensitive messages can be scheduled to send at an exact time, so the customer receives their appointment reminder, confirmation, or status update at precisely the right time.
Automation of tasks using an SMS API ensures your communications go out as required, as well as enabling you to better allocate resources and free staff to focus on more critical tasks.
Greater visibility and tracking
An API enables tracking of messages with delivery receipt that show your application the exact time each message was delivered to the customer’s handset. This provides your application with an audit trail and enables escalation in the event of non-delivery.
Another feature of an SMS API is message tagging, which informs your application exactly which outbound message corresponds to a given reply. This is important for transactional messaging applications, enabling you to match responses with messages.
Flexibility with more features
An API also provides direct access to the components of the service, so you can easily incorporate the features of the provider’s SMS Gateway into your own systems. For example, you can choose how you want to send and receive bulk sms that is, to a targeted group, via any application, or spontaneously. Many other features are also available.
Moreover, as the API evolves over time with more features or functionality, your organization can take advantage of these enhancements. At MessageMedia, you can rest assured that these additional features and functions are rolled out without disrupting your applications or their links to the SMS API.
In addition, by using an API, your business has full control over the content and services you use the most.
Fast, reliable and secure delivery
An API provides direct access to the SMS Gateway, which means you also have access to enhanced speed and reliability. You can deliver hundreds or even thousands of text messages within seconds, from your own desktop, to your intended audience.
If your API provider has the right level of security, the API ensures a secure connection from your systems and your provider.
Integration with other systems
The API works across all your platforms and applications, enabling you to manage your messaging from the one interface. This integrated developer experience makes it easier and simpler, and provides a more cohesive view of your overall communications.
Clear results and reporting
An API provides a robust method to get notifications out to customers at the right time, but ad hoc reporting doesn’t necessarily need to be done via the API. A desirable API is one that is also supported by a user interface, so that regular repeated tasks can be integrated via the API, but infrequent, ad hoc tasks, such as billing or message reporting, can be achieved by a person via a user interface.
Final thoughts, further reading
Using an SMS API provides more benefits than simply sending messages. An API also brings greater automation, efficiency and flexibility to your communications. Finally, choosing an API backed by a user-centric interface will also put you at a distinct advantage.