Development

Кодирование SMS-сообщений, используя текстовые и бинарные API методы Infobip

Что произойдет, если вы отправите SMS, написанное кириллицей, греческими или другими символами, если вы не используете кодирование в Unicode?

July 24 2015

Даже при том, что в большинстве профессиональных SMS сообщений используется базовый GSM алфавит (который поддерживает все символы латиницы, цифры и некоторые особые символы), некоторые приложения и компании предпочитают использовать их собственные алфавиты для коммуникаций с клиентами посредством SMS.

Что произойдет, если вы попробуете отправить SMS, написанное кириллицей, греческими, арабскими символами или на иврите, если вы не используете кодирование в Unicode? Клиенты получат сообщение, которое не смогут прочитать, так как их телефоны не смогут распознать тип кодирования информации.

Чтобы избежать генерирования нечитабельных символов, мы предлагаем вам два пути отправки Unicode сообщений текстовым или бинарным методом "Send SMS"

Если вы хотите отправить Unicode сообщения с помощью текстового метода "Send SMS", то должны вставить неконвертированное сообщение в параметр"text" parameter:

POST /sms/1/text/single HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{  
   "from":"InfoSMS",
   "to":"41793026727",
   "text":"Hello world, Καλημέρα κόσμε, コンニチハ"
}

Unicode сообщение будет автоматически отправлено на мобильный телефон.

С другой стороны, если вы хотите отправить Unicode сообщение с помощью бинарного метода "Send SMS", то текст должен быть конвертирован в шестнадцатеричную систему. Данный контент должен быть вставлен в параметр “hex” а также вы должны выставить параметр “dataCoding” pна 8 (UTF-8):

POST /1/sms/binary/single HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json

{  
   "from":"InfoSMS",
   "to":"41793026727",
   "binary":{  
      "hex":"48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 20 ce 9a ce b1 ce bb ce b7 ce bc e1 bd b3 cf 81 ce b1 20 ce ba e1 bd b9 cf 83 ce bc ce b5 2c 20 e3 82 b3 e3 83 b3 e3 83 8b e3 83 81 e3 83 8f",
      "dataCoding":8,
      "esmClass":0
   }
}

Важно:

При отправке сообщения с одним или более не-GSM символом (например, Unicode), длина сообщения ограничена 70 символами. Здесь вы можете ознакомиться со всеми GSM символами.

Убедитесь, что ваши сообщения ясны и читабельны на любом языке - используйте Infobip SMS API!! Протестируйте наши специфические для языка опции - SMS транслитерацию и язык SMS -для преодоления лимитов и оптимизации ваших затрат.

Мы обслуживаем мировую платформу сообщений которая отправляет более миллиона SMS ежедневно, охватывая больше трети мирового населения. Имея офисы на 5 континентах и более 200 прямых подключений к операторам мобильной связи, мы не можем забывать о языковых спецификах!