When you send a message whose text is longer than the maximum number of characters per SMS (160 characters for normal text messages), the carriers will automatically split the message and send multiple SMS so that your whole message will be shown as one SMS on the receiving handset.
Carriers charge us for each separate SMS part that we send through their networks. This means that if a SMS that you sent via one API call to our platform has a long message text so that 3 SMS are needed to send it to the recipient we need to charge you with the same price for each of these SMS parts individually.
If you are using special characters or even emoji icons in your SMS than the encoding needs to change and the maximum number of characters for one SMS is reduced even more, because of the extra overhead that for example unicode brings with it.
This table should give you a good overview:
The maximum number of characters per single message depends on the encoding:
|Encoding type||number of characters||maximum number of characters|
|7-bit encoding (e.g., latin-1/9 and GSM8)||160||153|
|8-bit encoding (binary)||140||134|
|16-bit encoding (Unicode)||70||67|
Because of the need of inclusion of concatenation headers in concatenated messages the maximum number of characters is slightly reduced even more - see third column in the table above.
This means if for example you send a SMS message whose contents need Unicode encoding then the message is split in parts after each 67 characters and carriers will charge for each of the individual parts.