What is it?
SMPP (Short message peer to peer) is an application layer TCP/IP protocol used for exchanging SMS messages between Short Message Service Centers (SMSC) and External Short Messaging Entities (ESME). It is the standard protocol for SMS messaging which allows fast delivery of SMS messages.
API (Application Programming Interface) is a set of functions and procedures that allow the creation of applications which access the features of a platform. Unifonic API’s runs over HTTPS/TLS.
Before we dig Into REST API, we want to define what is an API for whom don’t know about it :it is the appreciation of application program interface, a group of protocols and routines for building software application, it’s the thing that allows you to copy and paste from app to another, most API’s today can be customized for the type of the website, for example: The REST API style emphasizes that interactions between clients and services are enhanced by having a limited number of operations. Flexibility is provided by assigning resources their own unique universal resource indicators (URIs). Because each operation (GET, POST, PUT, and DELETE) has a specific meaning, REST avoids ambiguity.
- Setup time:SMPP takes more time to setup and test, and it requires more time to integrate with your system. As for REST testing it takes seconds, Normally, providers gives you SDK’s in multiple programming languages to ease implementation.
- Complexity:When talking about SMPP, You have to do all the configuration from your end and to test all scenarios. So it is more complex to implement. As for REST, Normally the API provider handles all the complexity and provides you with simple API interface to interact with.
- Switching Time:SMPP normally simple and straightforward To switch to a new provider, a matter of changing IP address and port and you are ready to go. As for REST, it needs more time as you need to update all your code to update to the new provider API’s.
- Flexibility:SMPP is less flexible as you are limited to the standard commands of SMPP protocol. REST is more flexible since you can do more stuff depending on the range of API’s that are given to you by the provider, for example: send bulk messages, give priority for some messages, inquire DLR, inquire message report status, inquire your accounts balance.
- Throughput:SMPP offers higher throughput, Normally you have to agree the required Throughput with your provider. As for REST, Multi-threading is required to increase your throughput, you need to do more customization to get the same throughput as SMPP.
- Latency:SMPP offers minimal latency, because you are using a standard protocol for messaging. As for REST, more because you are going to the internet through Http protocol which adding extra step. Also, the last mile for message delivery is SMPP based, so each message has to be ultimately sent through SMPP.
- Implementation for gateway:It’s a requirement for SMPP, you need third party gateway for the installation like kannel or Linq2, which adds to the cost of implementation. As for REST it is not required: you can connect directly without a gateway.
- Standardization:SMPP is the standard, The same settings for all provider. As for REST it is customized per provider.
- Scalability:SMPP is scalable with no Downtime but REST is not easy to scale and it doesn’t cope with large amounts of requests in the same way.
- Managing Security:SMPP is more flexible to manage security, such as establishing VPN connection and setting IP’s, as for REST the APIs are public, you can’t utilize VPN.
- Stability:SMPP is pretty stable n comparison to REST, it deals with more requests with ease and is preferred by bigger businesses.
- DLR:The DLR are pushed directly into your SMPP connection as received but in REST you need to configure a webhook or use a pull method to get DLR.