Тестируем малийскую регистрацию, когда ни у кого в команде нет SIM +223

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

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

Ваш продукт запускается в Мали, но местной SIM-карты ни у кого нет. Что делать?

Знакомая ситуация для QA-лида. Продукт хочет проверить малийский сценарий регистрации до маркетинговой кампании в Бамако, поле телефона уже принимает +223, а в телефонах всех инженеров стоят европейские или североамериканские SIM-карты. Одолжить личный номер коллеги ненадёжно, это не масштабируется на набор тестов и переносит данные сотрудников в тестовые аккаунты.

Номер для верификации Мали из OTP Gateway решает узкую задачу: один настоящий номер +223, один код, затем номер освобождается. Им можно управлять из скрипта или заказывать вручную в панели, а на страницах тестирования QA и CI/CD описано, как команды встраивают это в регрессионные прогоны.

От каких приложений номер Мали может принимать коды?

В актуальном срезе по Мали есть WhatsApp, Facebook, Telegram, TikTok, Google (Gmail и YouTube), Instagram, Snapchat, imo, Viber, Signal, Microsoft и Outlook, ChatGPT (OpenAI) и LinkedIn. Всего на шлюзе для Мали доступно более 1 600 сервисов.

Доступность не статична. Маршруты открываются и закрываются в течение дня, поэтому скрипт должен подтверждать возможность покупки сервиса во время выполнения, а не полагаться на вчерашний результат.

Как выглядит работа с OTP API Мали в коде?

Запросы идут на https://otproute.com/api/v1 с Bearer-ключом, начинающимся с or_live_. Ключи создаются в консоли разработчика, до 10 на аккаунт.

  1. Один раз получите идентификаторы из GET /api/v1/services и GET /api/v1/countries. Мали — ml.
  2. Узнайте актуальную цену через GET /api/v1/prices?country=ml&service=<id>.
  3. Закажите через POST /api/v1/activations, например {"service": "whatsapp", "country": "ml"}, и сохраните идентификатор активации.
  4. Введите полученный номер +223 в форму верификации вашего приложения.
  5. Заберите код из GET /api/v1/activations/{id} или дождитесь вебхука. Освободите неиспользованные номера через POST /api/v1/activations/{id}/cancel.

Для вебхуков подпишите endpoint (их можно пять) на activation.sms_received, activation.expired и activation.cancelled. Проверяйте X-OTPRoute-Signature: вычислите HMAC-SHA256 от "<t>.<raw body>" с секретом endpoint, отклоняйте устаревшие метки времени и делайте обработчик идемпотентным по идентификатору активации. Лимит аккаунта — 300 запросов в минуту, а в руководстве по интеграции API есть рабочие примеры.

Восемь цифр без транк-префикса: как хранить малийские номера

В Мали закрытый план нумерации из восьми цифр без транк-префикса, поэтому номер, набираемый дома, совпадает с восемью цифрами после +223 из-за границы. Нормализация получается приятно простой: форма E.164 — это +223 и восемь цифр, никакого ведущего нуля добавлять или убирать не нужно. Но длину проверяйте явно, ведь общее правило для рынка с десятизначными номерами отклонит корректный малийский ввод.

Проверочные SMS от международных приложений обычно приходят на французском, тогда как в повседневной жизни чаще всего говорят на бамана. Поэтому коды обычно приходят во французских или английских шаблонах; извлекайте их числовым шаблоном, а не поиском фраз.

Зачем вообще тестировать здесь? Команды, запускающие продукты рядом с мобильными деньгами в Западной Африке, НКО и логистические операторы с полевыми аккаунтами из Бамако, а также приложения для большой малийской диаспоры во Франции и соседних странах — всем нужен рабочий путь +223. При региональном запуске сочетайте это с проверками маршрутов вроде Сенегала.

Что делать, если код +223 молчит

Отсутствие SMS обычно связано с маршрутом или сервисом, а не с вашей интеграцией. Прежде чем заводить баг:

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

Если к закрытию окна ничего не пришло или вы отменили заказ раньше, вся сумма возвращается на кошелёк.

Может ли команда держать малийский номер долго?

У OTP Route нет самостоятельного долгосрочного малийского номера. Для ml доступен только одноразовый OTP Gateway.

Выделенные виртуальные номера OTP Route, которые продлеваются с кошелька и поддерживают входящие и исходящие SMS и звонки из браузера, существуют только в США и Канаде, от $1.95/month. Если постоянная линия +223 важна для вашей работы, напишите на [email protected]; всё, что выходит за рамки шлюза, зависит от местных правил и не гарантируется.

Оплата OTP-маршрутизации в Мали и тестирование без расходов

Один предоплаченный кошелёк в USD обслуживает все страны: оплата по факту, без абонентской платы и выбора тарифа. Пополняйте картой или USDT/USDC, и за каждое пополнение приходит PDF-счёт на почту.

Пока вы ещё разрабатываете, попросите поддержку перевести тестовый аккаунт в режим sandbox. Тогда вы получите имитированные номера и коды и сможете отработать всю последовательность API SMS-верификации без трат с кошелька. Реальные номера используйте только для своих продуктов и законных аккаунтов, соблюдая условия каждого сервиса и Политику допустимого использования. Актуальные расценки — на странице цен.

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

Можно ли подтвердить малийскую регистрацию, не ездя в страну и не покупая местную SIM?

Да. Закажите номер +223 для тестирования в OTP Gateway, введите его в приложении и прочитайте код в панели или через API.

Какой идентификатор у Мали в API OTP Route?

Мали — ml: это значение подставляется и в запрос цен, и в тело запроса активации.

Нужно ли убирать ведущий ноль из малийских номеров?

Нет. В Мали нет транк-префикса; корректный номер — это +223 и восемь цифр.

Сколько стоит SMS OTP для Мали?

Малийские коды начинаются от $0.20 за код, а сумму для каждого приложения API показывает заранее, до покупки.

Потеряю ли я деньги, если приложение так и не отправит код?

Нет. Активация, по которой SMS не пришло к концу 20-минутного окна, или отменённая вами возвращается на кошелёк полностью.

Может ли этим пользоваться человек без навыков программирования?

Да. В панели выберите Мали и сервис, закажите номер, вставьте его в приложение, и код появится на экране активации.

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

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

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