Автоматизируем коды подтверждения +998 для запусков в Узбекистане и QA

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

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

Как активация +998 проходит путь от запроса до кода?

Начните с создания Bearer-ключа в консоли разработчика. Ключи имеют префикс or_live_, все вызовы идут на https://otproute.com/api/v1, и вы можете держать до 10 ключей, что удобно для разделения ночных сборок и ручного QA.

Сначала ваш клиент читает GET /api/v1/countries, где Узбекистан значится как uz, и GET /api/v1/services для id сервиса. Затем он запрашивает GET /api/v1/prices?country=uz&service=<id>, чтобы узнать, сколько стоит пара сейчас и есть ли номера. Если ответ устраивает тест, он отправляет POST /api/v1/activations с телом вида {"service": "instagram", "country": "uz"} и получает id активации вместе с номером +998.

Далее тест вводит этот номер в ваш экран регистрации или входа. С этого момента код приходит либо как событие вебхука, либо через GET /api/v1/activations/{id}. Тест, который прерывается, должен вызвать POST /api/v1/activations/{id}/cancel, чтобы освободить резерв. Проверка GET /api/v1/balance в начале прогона помогает избежать недовыполненных наборов. Каждый запрос этого SMS verification API описан в справочнике API.

Что нужно надёжному приёмнику вебхуков для узбекских кодов?

Три вещи: аутентификация, защита от повторов и идемпотентность.

  • Аутентификация. Каждая доставка содержит X-OTPRoute-Signature в виде t=<unix>,v1=<hex>. Соберите строку <t>.<raw body>, подпишите её HMAC-SHA256 с секретом эндпоинта и сравните с v1 за постоянное время.
  • Защита от повторов. Отклоняйте любой запрос, у которого значение t старше выбранного вами короткого допуска.
  • Идемпотентность. Сохраняйте id активации при обработке события и подтверждайте дубликаты, не действуя повторно.

Подпишитесь на activation.sms_received для основного сценария, а также на activation.expired и activation.cancelled, чтобы ваш тестовый раннер мог закрывать неудачи. На аккаунте можно зарегистрировать до 5 эндпоинтов, например по одному на окружение. Опрос остаётся допустимым запасным вариантом; лимит 300 запросов в минуту покрывает несколько одновременных активаций, проверяемых каждые несколько секунд. Более полный шаблон — в статье о приёме OTP через вебхуки.

Зачем командам добавлять Узбекистан в план OTP-маршрутизации?

Узбекистан — самая населённая страна Центральной Азии, и компании, расширяющиеся по региону, часто нуждаются в номере +998 для тестов ещё до появления местного партнёра. Типичные причины — запуск продукта для узбекских пользователей, QA переводов на узбекский и русский и региональные операционные команды, подтверждающие аккаунты вендоров или маркетплейсов, связанных с этим рынком.

Telegram — один из самых популярных мессенджеров в стране, поэтому сценарии, которые привязывают аккаунт Telegram или опираются на него в поддержке, заслуживают отдельного теста. Планируете сразу несколько рынков? Руководство по маршрутизации по странам объясняет, как выбирать маршруты под каждый тест-кейс.

Как разбирать, хранить и читать номера +998?

Полный узбекский номер — это +998 и девять цифр, первые две из которых обычно определяют оператора или регион. Привычки набора внутри страны с годами менялись, поэтому люди могут вводить номер с лишними ведущими цифрами или без кода страны. Приводите всё к виду +998 и девять цифр перед сохранением, а форматирование для показа, например +998 90 123 45 67, оставляйте чисто косметическим.

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

Какие приложения могут принимать SMS OTP Узбекистана через шлюз?

На маршруте Узбекистана доступно более 1 800 сервисов. В живом снимке представлены Telegram, WhatsApp, Instagram, Google (Gmail & YouTube), TikTok, Facebook, Microsoft & Outlook, Amazon, Discord, Snapchat, Signal, Viber, ChatGPT (OpenAI), Claude и WeChat.

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

Можно ли заказать номер верификации Узбекистана без API?

Панель повторяет API для тех, кто предпочитает кликать:

  1. Зарегистрируйтесь по адресу электронной почты и 6-значному коду, который вы получите, либо через вход Google. Включите TOTP для аккаунта.
  2. Пополните кошелёк.
  3. Выберите Узбекистан и сервис; цена показывается до подтверждения.
  4. Используйте номер +998 в проверяемом приложении.
  5. Прочитайте код на экране активации, когда он придёт.

Что если узбекский код не пришёл вовремя?

Активация +998 остаётся действующей 20 минут, и плата списывается только после фактического получения кода. Если она истечёт или вы её отмените, кошелёк получит всю сумму обратно без обращения в поддержку.

Если кодов нет, пройдите по этому списку:

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

Доступны ли долгосрочные линии +998 и оплата в песочнице?

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

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

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

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

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

Да. Номер +998 из OTP Gateway принимает код, где бы ни находилась ваша команда, и вы читаете его в панели или через API.

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

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

Сколько стоит номер +998 для тестов?

От $0.20 за код. У каждого сервиса своя актуальная цена, которую возвращает GET /api/v1/prices и показывает панель перед подтверждением заказа.

Узбекские OTP-сообщения будут латиницей или кириллицей?

Возможны оба варианта, а некоторые сервисы присылают русский или английский. Ищите числовой код, а не текст вокруг него.

Спишут ли деньги, если узбекский код не придёт?

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

Можно ли сохранить номер Узбекистана для повторных входов?

Самостоятельно — нет. Одноразовые номера принимают один код; аккаунтам, которым нужно входить повторно, лучше подходит Dedicated Number в США или Канаде, либо можно написать в поддержку по поводу Узбекистана.

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

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

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