Clickatell SMS со специальными символами GSM через REST API

Я использую Clickatell REST API для отправки SMS. Мне нужно отправить некоторые специальные символы (например, Ä), которые доступны в стандарте GSM 03.38 (а также в латинице-1). Итак, я не хочу использовать Unicode. Однако независимо от того, как я отправляю сообщение, я не получаю то, что хочу. Либо сообщение правильно сохраняется в Clickatell, но на устройстве появляются странные символы, либо я кодирую сообщение, а затем получаю шестнадцатеричную букву в Clickatell и вообще ничего на устройстве. В FAQ есть решение для HTTP API, но оно не помогло мне для REST API. Я связался со службой поддержки, но уже 3 дня жду ответа. У кого-нибудь здесь есть опыт работы с API?

Вот некоторые из моих неудачных попыток:

Данные правильно отображаются на странице Clickatell, но не в SMS

string data = clickatellEncoding.GetString(memoryStream.ToArray());
StringContent stringContent = new StringContent(data, clickatellEncoding,
    jsonContentType

Шестнадцатеричное письмо на странице Clickatell, SMS не получено

byte[] utfBytes = utf8.GetBytes(data);
byte[] clickatellBytes = Encoding.Convert(utf8, clickatellEncoding, utfBytes);
data = clickatellEncoding.GetString(clickatellBytes);
StringContent stringContent = new StringContent(data, clickatellEncoding), 
    jsonContentType);

Я также написал собственный конвертер из utf-8 в GSM 03.38, в результате на странице Clickatell снова были шестнадцатеричные буквы без SMS.

Есть идеи, что еще я мог попробовать?

Кодировка Clickatell - латиница-1. Итак, теоретически я должен отправить все на латинице-1, и это должно работать...

1 ответ

Текущий REST API Clickatell ожидает набор символов Windows-1252. Если вы придерживаетесь этого, и персонажи по-прежнему не доставляются, команде поддержки потребуется выяснить маршруты доставки в сети, в которые вы отправляете.

Другие вопросы по тегам