Приём индийских (+91) кодов подтверждения через API

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

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

Как выглядит последовательность вызовов India OTP API?

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

  1. Один раз вызовите GET /api/v1/countries и закэшируйте результат. Id страны для Индии — in.
  2. Вызовите GET /api/v1/prices?country=in&service=<id> для тестируемого сервиса. Он возвращает актуальную цену и доступность, поэтому читайте его при каждом прогоне.
  3. Оформите заказ через POST /api/v1/activations с JSON-телом вида {"service": "telegram", "country": "in"}. В ответе придут id активации и номер +91.
  4. Введите этот номер на экране регистрации или входа в вашем приложении.
  5. Заберите код вебхуком или опросом GET /api/v1/activations/{id}. Если тест оборвался раньше, вызовите POST /api/v1/activations/{id}/cancel.

Проверьте GET /api/v1/balance в начале набора тестов, чтобы прогон падал сразу. API допускает 300 запросов в минуту — с запасом для опроса раз в несколько секунд. Подробности запросов и ответов — в документации API.

Как построить обработчик вебхуков для кодов +91?

Подписанный вебхук масштабируется лучше опроса, когда задачи идут параллельно. Зарегистрируйте эндпоинт в консоли разработчика (до 5 на аккаунт) и подпишитесь на activation.sms_received, activation.expired и activation.cancelled.

Каждая доставка несёт заголовок X-OTPRoute-Signature вида t=<unix>,v1=<hex>. Чтобы проверить его, вычислите HMAC-SHA256 от строки <t>.<raw body> с секретом этого эндпоинта и сравните результат с v1 за постоянное время. Две детали, на которых часто спотыкаются:

  • Хэшируйте сырые байты запроса, а не заново сериализованный JSON-объект: порядок ключей и пробелы меняют дайджест.
  • Отклоняйте метки времени старше нескольких минут, чтобы перехваченный запрос нельзя было воспроизвести повторно.

Привязывайте запись к id активации, чтобы повторная доставка ничего не меняла, и отвечайте 2xx до выполнения тяжёлой работы. Материал о защите вебхуков OTP с помощью HMAC построчно разбирает шаг сравнения.

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

Маршрут Индии сейчас содержит более 2 300 сервисов. Среди популярных в актуальном срезе — WhatsApp, Telegram, Google (Gmail & YouTube), Instagram, Facebook, X (Twitter), ChatGPT (OpenAI), Microsoft & Outlook, Amazon, LinkedIn, Discord, Uber и Snapchat.

Доступность меняется в течение дня, поэтому API сообщает её в реальном времени. Если ваша тестовая матрица зависит от одного сервиса, запросите цены для in перед прогоном и аккуратно пропустите тест, когда этот маршрут закрыт. Используйте эти маршруты только для собственных продуктов и аккаунтов, соблюдайте условия каждого сервиса и помните, что действует Политика допустимого использования OTP Route.

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

Да. Сотрудники операционных служб и аккаунт-менеджеры агентств могут обойтись без API:

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

Панель и API используют одно окно, одно правило возврата и один кошелёк.

Что делать, если код не пришёл в течение 20 минут?

Каждая активация остаётся открытой 20 минут. Вы платите, только если SMS пришло: когда окно закрывается пустым или вы отменяете раньше, вся сумма автоматически возвращается на кошелёк, а ваш вебхук получает activation.expired или activation.cancelled.

Если кода нет:

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

Более подробно о стратегии повторов рассказано в материале о снижении числа неудачных доставок OTP.

Как хранить и нормализовать индийские номера?

Индийские мобильные номера состоят из десяти цифр и на практике начинаются с 6, 7, 8 или 9. Внутри Индии их часто пишут с ведущим транковым 0 или разбивают на две группы по пять цифр пробелом. В международном формате этот 0 отбрасывается и добавляется код страны, получается +91 и десять цифр.

Храните только форму E.164: +91 и десять цифр, без пробелов, дефисов и нуля. Нормализуйте ввод на входе: убирайте форматирование, ведущий 0 или «голое» 91, набранное без плюса. Это предотвращает дубликаты пользователей, отличающихся лишь форматированием.

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

Зачем продуктовым командам номер +91 для тестирования?

Индия — распространённый рынок для запуска потребительских приложений, финтех-онбординга и маркетплейсов, и её пользователи ожидают шага с SMS при регистрации. Команды используют маршруты +91, чтобы отрепетировать запуск, провести QA локализации интерфейсов на хинди, тамильском, телугу, бенгальском, маратхи и других языках, поддержать региональных операционных сотрудников и проверить сценарии индийских клиентов за рубежом, которые по-прежнему входят с домашним номером. Хорошая OTP-маршрутизация здесь — это выбор маршрута сервиса, соответствующего реальному пути пользователя, и подключение его теми же вызовами API SMS-верификации, что и на других ваших рынках.

Есть ли долгосрочная индийская линия и как устроена оплата?

Нет. Выделенные номера — продукт для США и Канады, от $1.95/месяц, и долгосрочную индийскую линию из панели купить нельзя. Если она вам нужна, напишите на [email protected]; доступность зависит от местных правил и не гарантируется.

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

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

Можно ли проверить регистрацию в приложении по Индии без местной SIM?

Да. Закажите номер +91 через OTP Gateway, введите его на экране регистрации и прочитайте код в панели, через API или на своём вебхуке.

Какой id страны для Индии в API OTP Route?

Это in. Передавайте его как страну в GET /api/v1/prices и в теле POST /api/v1/activations.

Сколько стоит приём индийского SMS с OTP?

Коды начинаются от $0.20 за код, точная цена зависит от сервиса. Вы видите её до заказа, а активация, по которой код не пришёл, возвращается на ваш кошелёк.

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

Нет. Номер шлюза рассчитан на один проверочный код. Аккаунтам, которым нужны повторные входы, нужна выделенная линия, а такие есть только в США и Канаде.

Есть ли песочница для разработки интеграции с Индией?

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

Может ли наша финансовая служба платить стейблкоинами?

Да. Кошелёк принимает оплату картой, а также USDT и USDC, и каждое пополнение сопровождается PDF-счётом на email.

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

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

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