Sending Two Factor Authentication (2FA) codes by SMS API
Back to Articles
News SMS API Security Two Factor Authentication News

Sending Two Factor Authentication (2FA) codes by SMS API

July 31, 2018 1 min
Aivis Olsteins

Aivis Olsteins

We have discussed the topic of two factor authentication previously several times, here regarding voice call ( https://datatechlabs.com/posts/56/two-factor-authentication-api-with-phone-call ), here in general ( https://datatechlabs.com/posts/48/two-factor-authentication-with-sms-and-voice-calling ) and here regarding one time passwords: https://datatechlabs.com/posts/32/usecase-one-time-password-generator-for-application-security

Now let's see how to do with SMS, simply by using our API. In general, sending SMS is as simple as constructing this simple request:

 

POST /sms/send

{
"to": "recipient",
"from": "sender",
"content": "hello, World!"
}

In this simple example above, the API will just send a hello, world! message to recipient. There are, however, ways to have more control about the sending process, like, for example: getting to know if the message was delivered or not, or sending non-latin encoded texts:

This request will ask for a delivery receipt (DLR) after the message was delivered:


POST /sms/send

{
"to": "recipient",
"from": "sender",
"content": "hello, World!",
"dlr": true
"dlr-level": 3,
"dlr-url": "http://server.host.com/path",
"dlr-method": "POST"
}

Now, upon successful delivery, the API will do a HTTP POST to the address of the server specified in dlr-url and report on the on the success of delivery. The values of dlr-level attribute are integers, where 1 - means SMS-C delivery report, 2 - means endusers terminal delivery report and 3 means both of them.

In the case we need to send non-Latin characters, we can set desired character set with coding attribute:

POST /sms/send

{
"to": "recipient",
"from": "sender",
"content": "hello, World!",
"dlr": true
"dlr-level": 3,
"dlr-url": "http://server.host.com/path",
"dlr-method": "POST",
"coding": "UTF-8"
}

Note, however, that most SMS carriers actually charge per bits of message sent (see https://datatechlabs.com/posts/13/anatomy-of-a-short-message ), i.e. only the messages with are 7-bit encoded (ASCII) are allowed to be 160 characters long before they are split into multiple segments.

Share this article

Aivis Olsteins

Aivis Olsteins

An experienced telecommunications professional with expertise in network architecture, cloud communications, and emerging technologies. Passionate about helping businesses leverage modern telecom solutions to drive growth and innovation.

Related Articles

Case Study: Global Communications Company

Case Study: Global Communications Company

A leading communications company used our cloud Voice platform to send 30 million OTP calls per month to their customers, resulting in cost reduction and incrased conversion

Read Article
Bridging The Delay Gap in Conversational AI: The Backpressure Analogy

Bridging The Delay Gap in Conversational AI: The Backpressure Analogy

Conversational AI struggles with the time gap between text generation and speech synthesis. A “backpressure” mechanism, akin to network data flow control, could slow text generation to match speech synthesis speed, improving user interaction.

Read Article
How Voice AI Agents Can Automate Outbound Calls and Unlock New Opportunities for Businesses: A Deeper Dive

How Voice AI Agents Can Automate Outbound Calls and Unlock New Opportunities for Businesses: A Deeper Dive

AI voice agents transform healthcare scheduling by reducing costs, administrative tasks, and no-shows. They offer 24/7 service, multilingual support, proactive reminders, and valuable insights, improving efficiency and patient experiences.

Read Article
How to Fix Your Context: Mitigating and Avoiding Context Failures in LLMs

How to Fix Your Context: Mitigating and Avoiding Context Failures in LLMs

Larger context windows in LLMs cause poisoning, distraction, confusion, and clash. Effective context management (RAG, pruning, quarantine, summarization, tool loadouts, offloading) remains essential for high-quality outputs.

Read Article

SUBSCRIBE TO OUR NEWSLETTER

Stay up to date with the latest news and updates from our telecom experts