What is an SMS Gateway API
Most applications don't support sending SMS and MMS messages directly out of the box, but most products will have a way of making custom integrations, or you can add the functionality yourself if the application was built in house.
Cell phone networks operate on a set of obscure and hard to use protocols and getting connected to carriers is expensive and generally requires lots of development work. SMS Gateway APIs let the SMS provider do all the hard work, and provide an easy to integrate API for you to hook up your software or product.
There are different protocols supported by SMS providers, but generally these days REST APIs are most common, as they are easy to integrate and work with every programming language. For more specific niche integrations, SOAP, RPC and SMPP APIs are also offered by some providers.
While almost all providers will offer an API, not all APIs are created equal (just ask your development team!). It's a good idea to ask for the people that will be implementing the API to review your provider choice, as some cheaper or older providers API offerings are hard to use and sometimes unreliable.
When choosing a provider, it's important to consider what functionality you need as not all providers offer the same features.
Generally, all providers will offer outgoing SMS, but they can be lacking features like the ability to send more than a single message at once (crucial at higher volumes).
Bulk / Batch SMS API
Look out for providers that offer the ability to send more than one message per API call. For example, if your software is sending 10,000 messages and each call takes 1 second, it's going to be a slow and hard to manage process that could time out.
A good SMS api will allow you to send at least 100, ideally more, messages in a batch, meaning that same 10,000 message send will take under 30 seconds.
Two Way Messaging / Replies
Make sure the provider you chose supports inbound messaging, even if you don't require it initially. Some basic providers do not support inbound SMS, or don't support it in their API.
Messages are generally delivered by callback or webhook, meaning the SMS provider will make a HTTP Post request to your server to alert it of the incoming message and associated information. Avoid providers that force you to constantly poll for incoming messages, as this is slow and error prone.
Using an SMS Provider without custom code (no-code)
Want to hook up your application to SMS, but can't make code changes? Consider using either email to sms, or Zapier to connection your application to an SMS provider with zero code.
Email to SMS
Email to SMS can be used if your software supports sending emails (which is almost all of them!). By sending an email to specially formatted address, the carrier will parse it and turn it into a SMS message.
For example, you would email
[email protected] and the carrier would process this into an SMS message on your behalf. The disadvantage to this approach is you have no feedback weather the request actually made it to the client or not.
Many providers offer zapier integration. Zapier is a No-Code automation platform that supports thousands of tools, allowing you to connect anything to anything.
It should be noted that Zapier does charge a monthly fee based on the amount of executions, so this isn't cost-effective for high volumes of SMS.