Messente avatar logo

Top 5 Most Common Mistakes When Implementing SMS Messaging API

- 5 MIN READ - 20 Oct 2013

Implementing SMS messaging to your existing web app is always a hassle and takes some time to get everything right.

Spending days on implementing some appearantly simple API is not very interesting and this usually results in extra coffee break for the developer instead of adding one more "if-then-else" to the code.

Messente for example has multiple Helper Libraries for most popular programming languages that do the heavy-lifting for you to avoid some common mistakes but you should not overlook most common practices.

1. Check the Response Code and Act Accordingly

Usually developers check if the SMS was successfully sent to the service provider and if there is an error, the app tries to send the text again or just skips it.

When an error code is returned there should be at least two different processes implemented:

In either case, server administrator should be notified that an error occurred and someone should look into it, which lead us to the next point.

2. No Notification System in Case of an Error

When error code is returned for the message sending request, there could be dosens of reasons why it failed.

In every case, server administrator should be somehow notified that something unexpected happened with the SMS messaging service.

Having internal notification system will help you avoid most common causes like for example when the account runs out of credits.

3. Your IP Address has Changed

Messente has implemented IP-based filters for API calls to block requests from unwanted servers.

When possible, get your server a static IP address. You can also add a list multiple IP addresses in the API settings to allow requests to be made from multiple servers.

4. Incorrect Encoding of the Message Body

The most commonly used character encoding in the web is UTF-8, that supports all the characters from all alphabeths. This is also what Messente assumes you are using.

When testing out the API and everything seems to be working with simple “abc”, you might run into trouble when suddenly you need to send text with “ñ” character in it.

If you are using some other encoding like Western (ISO-8859-1) or Cryllic (KOI8-R), first convert the text to UTF-8.

Or when that is not possible, just let Messente know what encoding you will be using and it will take care of it.

5. Backup Route is Not Implemented

You are still able to send SMS messages even when the main server is having hickups by simply switching to a backup server.

It happens rarely that Messente’s main server is down, but when nature is having a bad day, nobody is safe.

What’s Next?

Stay tuned for next versions of API helper libraries by following us on Twitter or Facebook.

Jaanus Rõõmus

Jaanus Rõõmus - CTO

Jaanus is co-founder and CTO of Messente and makes sure its wheels keep spinning and Messente always has a full tank of fuel.

Municipalities take advantage of SMS to help people

16 Feb 2018

The humble SMS is a widely used tool and as such it is no miracle that municipalities use it widely as well. With high delivery, open rates and the majority of SMS opened within the first 3 minutes, there are few other means of communication that can reach people as fast and as reliably. Not to mention that the SMS works with any device, so recipients don’t have to have an internet-connected smartphone.

Uku Tomikas

Uku Tomikas

Where is the industry actually headed? WhatsApp, RCS, and more.

13 Feb 2018

The enterprise messaging space is full of innovative solutions. Some of them find their place in the mix of communication channels. Some of them quickly fade away and make room for others.

While Facebook Messenger has transformed how small businesses communicate with their customers, the short-lived MMS is one of the most notable technologies of the past that did not live up to expectations.

Lauri Kinkar

Lauri Kinkar

Central log management and why it really matters

06 Feb 2018

It’s a well-known fact that without logging we don’t really understand if our systems are functioning properly. Or worse, if something goes wrong, it’s next-to-impossible to understand why.  

However, today’s software architecture is more modularized as opposed to a more monolithic approach employed in the past. Individual applications are now often isolated into application containers (e.g. LXC, Docker) to decouple complex systems into more easily manageable chunks which can be easily deployed, replicated, secured and provisioned.

Uku Loskit

Uku Loskit

Start sending messages to

for € N/A

Contact us