Выбираем маршрут для украинских (+380) кодов подтверждения

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

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

Что нужно для украинских тестов: одноразовый номер или долгосрочная линия?

Начните с этого вопроса, потому что от него зависит всё остальное. Одноразовый номер OTP Gateway принимает один код подтверждения и после этого закрывается. Долгосрочная линия — это то, что вы сохраняете и используете для входа спустя месяцы.

Для Украины ответ прост: самообслуживаемый вариант — это OTP Gateway. Самообслуживаемого выделенного украинского номера нет. Долгосрочные Dedicated Numbers (выделенные номера) есть только в США и Канаде, от $1.95/месяц, и подходят для стейджинговых аккаунтов, которым нужно входить повторно, или для общей командной линии восстановления доступа. Если вам именно нужна постоянная линия +380, напишите на [email protected]; доступность зависит от местных правил и не обещается.

Практически это значит так: используйте одноразовый номер +380 для регистрации и QA телефонного шага, а если тестовый аккаунт должен пережить повторную верификацию, подумайте, подойдёт ли для теста американская или канадская линия. Компромиссы разобраны в сравнении временных и выделенных номеров.

Почему инженерные команды тестируют на номерах +380?

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

  • QA на украинском языке: украинский — государственный язык, и команды, локализующие онбординг, хотят увидеть реальный шаг с телефоном в окружении кириллического текста.
  • Диаспора: люди с номерами +380 теперь живут в Польше, Германии и других странах Европы, поэтому приложение, запущенное в другом месте, всё равно встречает украинские номера при регистрации.
  • Сценарии с мессенджерами: Telegram и Viber широко используются в Украине, поэтому они часто становятся целями тестов для продуктов, интегрированных с любым из них.

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

Как нормализовать номера +380?

Внутри страны украинские номера пишутся с транковым 0 и девятью цифрами, например в виде 0XX XXX XX XX. В международном формате ноль отбрасывается: +380 и девятизначный национальный номер. Обратите внимание, что сам код страны оканчивается на 0, что сбивает с толку некоторые самописные валидаторы.

Рекомендации:

  • Сохраняйте только строку E.164; пробелы и транковый ноль добавляйте при отображении.
  • Если пользователь после выбора +380 вводит 0…, удалите ровно один ведущий ноль.
  • Следите за +3800…: это признак того, что транковый префикс не был убран.
  • Проверяйте длину поддерживаемой библиотекой, а не регулярными выражениями, скопированными откуда-то.

Какие сервисы может принимать украинский номер для верификации?

Живой снимок насчитывает для Украины более 1 500 сервисов. Среди популярных — Telegram, Viber, WhatsApp, Signal, Google (Gmail & YouTube), Facebook, Instagram, TikTok, Discord, LinkedIn, Microsoft & Outlook, Uber, ChatGPT (OpenAI) и Claude.

Предложение меняется в течение дня, поэтому считайте этот список примером и позволяйте API сообщать, что доступно сейчас.

Как сочетаются вызовы OTP API для Украины?

Запросы на номера +380 идут на https://otproute.com/api/v1 с Bearer-ключом or_live_, созданным в консоли разработчика. Id страны для Украины — ua.

Чёткая последовательность: узнайте id через GET /api/v1/services и GET /api/v1/countries; прочитайте стоимость и доступность из GET /api/v1/prices?country=ua&service=<id>; проверьте средства через GET /api/v1/balance; затем отправьте POST /api/v1/activations с телом {"service": "viber", "country": "ua"}. В ответе будут номер +380 и id активации.

Для доставки выберите между опросом GET /api/v1/activations/{id} и вебхуком, подписанным на activation.sms_received, activation.expired и activation.cancelled. Каждый вебхук содержит X-OTPRoute-Signature: t=<unix>,v1=<hex>; проверяйте его как HMAC-SHA256 от <t>.<raw body> с секретом эндпоинта, отклоняйте устаревшие метки времени и обрабатывайте каждый id активации один раз. Аккаунт допускает 10 ключей, 5 эндпоинтов и 300 запросов в минуту. Подробности — в документации.

Как действовать через панель тем, кто не программирует?

Сотрудники поддержки и роста могут полностью обойтись без API. Откройте OTP Gateway в панели, выберите Украину и сервис, проверьте показанную цену и закажите номер. Введите номер +380 в приложении, запросите SMS, и код появится на странице активации, когда придёт.

Что если код не приходит и как работает оплата?

Активация остаётся открытой 20 минут, и вы платите, только когда код пришёл. Если окно закрывается пустым или вы вызываете POST /api/v1/activations/{id}/cancel, вся сумма возвращается на кошелёк.

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

Средства списываются с одного предоплаченного кошелька в долларах США без абонентской платы. Для пополнения подходят и банковские карты, и USDT/USDC, а после каждого платежа в почту приходит PDF-счёт. По запросу тестовый аккаунт может работать в режиме песочницы с имитированными номерами и кодами — это удобно при настройке CI-пайплайнов. OTP Route предназначен для ваших собственных законных продуктов и аккаунтов: соблюдайте условия каждого сервиса и Политику допустимого использования.

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

Можно ли принимать SMS-коды Украины без украинской SIM-карты?

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

Какой id страны OTP Route использует для Украины?

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

Входит ли транковый 0 в номер +380?

Только при наборе внутри страны. В E.164 вы храните +380 и девять цифр без лишнего нуля.

Сколько стоит номер верификации для Украины?

Цены начинаются от $0.20 за код, а API возвращает точное актуальное значение для каждого сервиса.

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

Самообслуживаемой долгосрочной украинской линии нет. Dedicated Numbers — продукт для США и Канады; по остальным вопросам напишите на [email protected].

Потеряю ли я деньги, если Telegram не пришлёт код?

Нет. Если код не пришёл в течение 20-минутного окна, сумма автоматически возвращается на кошелёк.

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

Да, вызывая API из вашего набора тестов, а аккаунт в песочнице позволит заранее прогнать сценарий на имитированных кодах.

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

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

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