Text messaging standards such as Short Message Service (SMS) and Multimedia Messaging Service (MMS) describe protocols that were initially focused on the transmission of alphanumeric characters. Over time, emojis emerged and became popular and widely used. To support emojis in the digital text communications, a solution was developed to encode the emojis into the text, assigning unique codes on them known as Unicode.
Syniverse follows these industry-standard and support Unicode accordingly to send and receive emojis as needed.
This document provides examples of how SCG presents the emojis on MO and MT messages.
MO messages with emojis
The SCG UI have multiple screens and reports as the Messages inbox and Reports that can display the messages body.
When a raw message body have Unicode, SCG UI displays the related emoji according to the Unicode.
In the case of a webhook, the app will display the emoji according to Unicode.
In text environments like command shells a MO message can be retrieved by a cURL command as:
curl -X GET https://api.syniverse.com/scg-external-api/api/v1/messaging/messages?id=z1fVwKPzjUJ6KbXXXXXX \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json"
Depending on the shell environment some emojis could not be displayed. In those cases, a Java Escape sequence could be shown on the output like \ud83d\uddd0
Posting MT messages with emojis
If you need to programmatically send an SMS or MMS message with emojis, you can append the emoji's Unicode Java Escape sequence in the message body text.
Example:
To send a message like: " Emoji test message π for your review π Tell us if you π like or π don't like"
POST https://api.syniverse.com/scg-external-api/api/v1/messaging/messages
{
"from": "channel:Bxn9SHBYhl89KnuXXXXXXX",
"to": "+5066173XXXX",
"body": "Emoji test message \ud83d\ude00 for your review \ud83d\ude0e Tell us if you \ud83d\udc4d like or \ud83d\udc4e don't like"
}
Message length effect
The use of emojis in the message body lead to the need of use of the UCS-2 encoding for Unicode. This change of encoding scheme means that a single message can have up to 70 characters or 67 on multisegmented messages.
Example:
A 152 characters message like:
"Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charE",
SCG creates a single segment message, while for the message:
"πTest 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charactes sms Test 152 charE"
SCG creates a 3 segments message.
It is important to understand that in the raw data, 1 single emoji usually requires 4 bytes or even more.
0 Comments