Overview
Отправка SMS в Египет чаще всего завершается неудачей по трем причинам: незарегистрированный идентификатор отправителя, неправильный формат номера или отправка арабского текста с неправильной кодировкой. Египетский регулятор, NTRA, требует предварительной регистрации идентификаторов отправителей A2P через лицензированный локальный канал — незарегистрированные отправители блокируются или их идентификаторы отправителей перезаписываются. Зарегистрируйте идентификатор отправителя, отправляйте номера в формате 20XXXXXXXXXX без + или 00 и используйте type=4 для арабского языка.
Идентификатор отправителя не зарегистрирован (обычная причина).
В Египте A2P-трафик передается только по лицензированным, одобренным NTRA маршрутам, и каждый буквенно-цифровой идентификатор отправителя должен быть предварительно зарегистрирован. При отправке с незарегистрированным идентификатором отправителя шлюз вернет HTTP06 (Недействительный идентификатор отправителя), или сообщение будет принято, но заблокировано/перезаписано ниже по потоку, поэтому оно никогда не дойдет до адресата с вашим брендом. Зарегистрируйте идентификатор отправителя в BroadNet перед отправкой и передайте его в параметре sid точно так, как он был одобрен. Имена параметров (sid, mno, type) и коды ошибок HTTPxx на этой странице относятся к устаревшему HTTP API (/websmpp); в REST API с токеном Bearer (POST /sms/sendSms) им соответствуют senderId, destinationNumber и messageType (UNICODE для арабского).
- Египетская система A2P работает только на маршрутах, лицензированных NTRA.
- Незарегистрированный идентификатор отправителя → HTTP06 или скрытая блокировка со стороны нижестоящего поставщика.
- Сначала зарегистрируйте идентификатор отправителя; установите значение sid равным разрешенному значению.
- Проверьте возвращаемый код — HTTP06 указывает непосредственно на идентификатор отправителя.
Неверный формат чисел
Номера назначения в mno должны быть в полном международном формате, только цифры: код страны 20 для Египта, за которым следует национальный номер, без ведущих +, 00 и 0 в начале национальной части. Неправильно сформированный или немаршрутизируемый номер отклоняется с ошибкой HTTP09 (Неверный адрес назначения). Перед отправкой выполните нормализацию.
- Формат: 20 + национальный номер, только цифры (например, 201001234567).
- Strip +, 00, пробелы и лидирующий в стране 0.
- При получении некорректных чисел возвращается HTTP09 (Неверный адрес назначения).
- GET принимает до 100 получателей, POST — до 10 000.
Арабский текст отправлен с неправильной кодировкой.
Арабский текст необходимо отправлять с правильным типом. Используйте type=4 для арабского языка (до 70 символов на сегмент) или type=2 для общего Unicode/UCS-2; отправка арабского текста с type=1 (английский GSM-7) искажает текст, превращая его в вопросительные знаки или ненужные символы. Отправляйте тело сообщения в кодировке UTF-8 и URL-кодировке, и помните, что сегменты UCS-2/арабского языка имеют размер 70 символов, поэтому более длинные сообщения разбиваются на большее количество (оплачиваемых) частей.
- Арабский: тип=4 (70 символов/сегмент); общий Unicode: тип=2.
- type=1 (GSM-7) приведет к искажению арабского текста.
- Отправляйте данные в кодировке UTF-8 и URL.
- Сегменты по 70 символов — длинные сообщения на арабском языке требуют больше компонентов.
Подтвердите получение по акту приемки товара.
Сообщение, принятое при отправке, всё ещё может не дойти до сети. Настройте веб-перехватчик DLR (или получите статус через устаревший HTTP API: /websmpp/websmsstatus) и проверьте статус: DELIVRD означает, что сообщение достигло устройства, UNDELIV — что нет. Сопоставьте отчёты по MessageId или BatchId и проверьте HTTP18 (недостаточно кредитов), если зависает весь пакет.
- Принято ≠ доставлено — всегда проверяйте DLR.
- Статус DELIVRD против UNDELIV; совпадение по MessageId / BatchId.
- Получайте статус по запросу (устаревший HTTP API: /websmpp/websmsstatus).
- Зависание пакета может быть вызвано ошибкой HTTP18 — недостаточно кредитов.