SMS-верификация Туниса (+216): чек-лист для разработчиков

Телефонный код +216OTP Gateway от $0.20 за кодВыделенные номера: только США и КанадаID API: tn
Краткий ответ

Да, вы можете получать коды подтверждения Туниса (+216) с OTP Route: закажите номер в OTP Gateway и читайте код в панели, опрашивайте REST API или берите его из подписанного вебхука. Цены начинаются от $0.20 за код, а заказ, по которому SMS не пришло за 20 минут, автоматически возвращается на кошелёк.

Что входит в предполётный чек-лист перед заказом номера +216?

Пройдитесь по этому списку один раз, и большинство тестовых прогонов по Тунису пройдут гладко:

  • API-ключ готов. Создайте Bearer-ключ в консоли разработчика; боевые ключи начинаются с or_live_.
  • Кошелёк пополнен. OTP Gateway списывает средства с вашего предоплаченного баланса в USD; GET /api/v1/balance подтверждает это из скрипта.
  • Вебхук доступен. Зарегистрируйте HTTPS-конечную точку, сохраните её секрет и убедитесь, что часы вашего сервера точны, чтобы проверки меток времени проходили.
  • Цена проверена. Вызовите GET /api/v1/prices?country=tn&service=<id> для именно того сервиса, который собираетесь тестировать.
  • Поле телефона проверено. Убедитесь, что ваша форма принимает восьмизначный тунисский национальный номер и вставленный международный +216.
  • Парсер терпим. Проверьте, что извлечение кода работает для арабских, французских и английских текстов сообщений (см. ниже).
  • Условия изучены. Вы тестируете собственный продукт или ведёте собственный законный аккаунт в соответствии с правилами сервиса и Политикой допустимого использования OTP Route.

Как форматируются тунисские номера в E.164?

В Тунисе закрытый план нумерации: каждый абонентский номер состоит из восьми цифр, магистрального префикса нет, поэтому перед добавлением кода страны ничего убирать не нужно. Форма E.164 — просто +216 и эти восемь цифр. Местные часто записывают номера группами вроде xx xxx xxx, поэтому при нормализации удаляйте пробелы, точки и дефисы. Не проверяйте номер по фиксированному списку начальных цифр; проверка длины плюс надёжная библиотека телефонных номеров безопаснее ручной таблицы диапазонов.

На каких языках приходят тунисские сообщения с кодами?

Государственный язык — арабский, в повседневной речи используется тунисский арабский, а французский распространён в бизнесе, администрации и многих приложениях. В результате в одном тестовом прогоне коды могут прийти на французском, английском или арабском в зависимости от отправителя и локали устройства.

Арабские сообщения передаются как Unicode-SMS и могут содержать метки направления письма справа налево вокруг цифр. Регулярное выражение, которое захватывает первую последовательность из четырёх-восьми ASCII-цифр после удаления невидимых меток, работает на всех трёх языках. Команды обычно добавляют Тунис в свою матрицу для запусков в франкоязычной Северной Африке вместе с Марокко и Алжиром, для QA локализации раскладок справа налево или потому, что обслуживают тунисских клиентов, живущих в Европе; номер +216 для тестирования покрывает все эти случаи.

Пошагово: получение OTP Туниса через API

В актуальном снимке для Туниса указано более 1700 сервисов, среди которых Facebook, WhatsApp, Instagram, Telegram, TikTok, Google (Gmail & YouTube), Snapchat, Signal, LinkedIn, Discord, ChatGPT (OpenAI), Microsoft & Outlook, Amazon и Uber. Доступность меняется в течение дня, поэтому пусть ваша логика маршрутизации OTP читает её из GET /api/v1/services и GET /api/v1/countries в начале прогона.

  1. Отправьте POST /api/v1/activations с {"service": "facebook", "country": "tn"} и сохраните идентификатор активации.
  2. Введите возвращённый номер в тестируемом приложении и запустите отправку кода.
  3. Обработайте activation.sms_received на вебхуке: проверьте X-OTPRoute-Signature (HMAC-SHA256 от метки времени, точки и сырого тела), отклоняйте старые метки времени и игнорируйте дубликаты для уже обработанного идентификатора активации.
  4. Без вебхука опрашивайте GET /api/v1/activations/{id}, оставаясь заметно ниже лимита в 300 запросов в минуту.
  5. Вызовите POST /api/v1/activations/{id}/cancel, если тест прерван.

Все поля перечислены в документации по API, а руководство по тестированию в CI показывает, как встроить это в конвейер.

Пошагово из панели

  1. Создайте аккаунт с помощью email и шестизначного кода или через вход с Google и включите двухфакторную защиту TOTP.
  2. Пополните баланс картой или в USDT/USDC.
  3. Выберите Тунис, затем сервис и проверьте показанную цену.
  4. Закажите, скопируйте номер +216 и запросите код в целевом приложении.
  5. Как только тунисский код появится в панели, скопируйте его и завершите тестируемую регистрацию.

Устранение неполадок: что делать, если код +216 так и не появился?

Каждая активация длится 20 минут, и вы платите, только когда код приходит. Если окно истекло или вы отменили заказ, вся сумма возвращается на кошелёк.

  • Не пришло вообще ничего: дождитесь конца окна, затем повторите позже или через другой маршрут сервиса, если тест это допускает.
  • Сервис отклонил номер: некоторые сервисы отвергают виртуальные номера; возврат покрывает этот случай.
  • Вебхук молчит, а панель показывает код: скорее всего, не проходит проверка подписи; сравнивайте с сырым телом, а не с заново сериализованным JSON, и проверьте расхождение часов.
  • Несколько неудач подряд: добавьте задержку; повторный заказ в плотном цикле редко помогает.

Долгосрочные линии, оплата и песочница для Туниса

Самостоятельного долгосрочного тунисского номера нет. Dedicated Numbers — продукт для США и Канады, от $1.95/month; если нужна постоянная линия +216, напишите на [email protected], помня, что доступность зависит от местных правил.

Кошелёк работает по принципу оплаты по мере использования, без абонентской платы, и на каждое пополнение по почте приходит PDF-счёт. Аккаунты разработки могут запросить режим песочницы, где имитированные номера и коды позволяют проверить интеграцию, не тратя баланс.

Частые вопросы

Можно ли проверить тунисскую регистрацию без тунисской SIM-карты?

Да. Используйте номер +216 из OTP Gateway и получайте код в панели или через API SMS-верификации и вебхуки.

Нужно ли убирать магистральный префикс у тунисских номеров?

Нет. Тунисские номера состоят из восьми цифр без магистрального префикса, поэтому форма E.164 — это просто +216 и эти цифры.

Какой идентификатор страны Туниса в OTP API?

Используйте tn в запросе цен и в теле запроса POST /api/v1/activations.

Сколько стоит номер подтверждения для Туниса?

От $0.20 за код; точная сумма зависит от сервиса и отображается в панели и через конечную точку цен до заказа. См. тарифы.

Мой парсер ломается на арабских сообщениях OTP. Что изменить?

Удаляйте Unicode-метки направления и сопоставляйте последовательность цифр, а не окружающие слова, — тогда одно правило работает для арабских, французских и английских текстов.

Можно ли сохранить номер +216 для последующих входов?

Самостоятельно — нет. Номер Gateway покрывает один код, а долгосрочные линии, доступные сразу, существуют только в США и Канаде.

Названия сервисов являются товарными знаками их владельцев. OTP Route не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.

Направьте первый OTP за несколько минут

Создайте бесплатный аккаунт, пополните USD-кошелёк и закажите номер в панели или через API. Без абонентской платы.