When you send SMS with Nexmo you should be aware of how many parts your message is being sent as and what encoding is required to send your message.
If you send a message that contains more than the maximum number of characters for your chosen encoding, Nexmo sends a concatenated SMS. A concatenated SMS contains multiple SMS parts that are connected by segmentation information in the User Data Header (UDH).
Segmentation information tells the handset the number of messages that make up the concatenated SMS, and the position of each SMS part in the concatenated SMS. The parts of a concatenated SMS arrive at the user's handset out of sequence. When the handset has received all the SMS parts, it presents your message as a single text to your user.
The maximum number of characters you can fit into an SMS part also depends on the Encoding that you are using.
If you are sending a message with type value of
text then the following character limits apply:
|1||160||Without UDH 160 characters are available|
If your SMS uses Unicode the amount of characters you can send per part depends on how many bytes the ligatures that you are sending require. Use this tool to test with your message templates:
Nexmo accepts SMS of up to 3200 characters but not all carriers do. It's best practice that the message does not exceed 6 SMS parts.
Note: You are charged for each SMS sent as part of a concatenated SMS.
By default all SMS sent by Nexmo are support the following characters:
! " # $ % ' ( ) * + , - . / : ; < = > ? @ _ ¡ £ ¥ § ¿ 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ä Å Æ Ç É Ñ Ø Ü ß à ä å æ è é ì ñ ò ö ù ü
A message saying
Bonjour monde or
Hola mundo is delivered seamlessly.
שלום עולם or
مرحبا بالعالم requires more thought. Languages such as Arabic, Chinese, Korean, Japanese, or Cyrillic alphabet languages need the 16-bit characters available in Unicode.
If you rent one or more virtual numbers from Nexmo, inbound SMS to that number are sent to your webhook endpoint using either GET or POST. Inbound messages comply with the SMS format. If an SMS sent to your virtual number is longer than the maximum number of characters for an individual SMS, you should receive the concatenated message in SMS parts.
You can use the
concat-part parameters to reassemble the parts into the message. However, you can only receive inbound concatenated SMS if the carrier your user is sending through supports them. If the carrier who sent the inbound SMS does not support concatenation, a workaround is to consider messages coming from the same number within a close time period as concatenated.