Русский
Приём индийских (+91) кодов подтверждения через API
Да: OTP Route позволяет принимать индийские (+91) SMS-коды подтверждения на одноразовый номер OTP Gateway — в панели или программно через REST-опрос и подписанные вебхуки. Цена начинается от $0.20 за код, точная сумма по каждому сервису возвращается API в реальном времени, а платить нужно только тогда, когда код действительно пришёл в пределах 20-минутного окна.
Как выглядит последовательность вызовов India OTP API?
Весь поток — несколько запросов к https://otproute.com/api/v1 с авторизацией Bearer-ключом, начинающимся с or_live_. Ключи создаются в консоли разработчика, до 10 на аккаунт, так что у каждого окружения может быть свой.
- Один раз вызовите
GET /api/v1/countriesи закэшируйте результат. Id страны для Индии —in. - Вызовите
GET /api/v1/prices?country=in&service=<id>для тестируемого сервиса. Он возвращает актуальную цену и доступность, поэтому читайте его при каждом прогоне. - Оформите заказ через
POST /api/v1/activationsс JSON-телом вида{"service": "telegram", "country": "in"}. В ответе придут id активации и номер +91. - Введите этот номер на экране регистрации или входа в вашем приложении.
- Заберите код вебхуком или опросом
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:
- Создайте аккаунт с email и 6-значным кодом из письма или через вход Google, затем включите двухфакторную аутентификацию TOTP.
- Пополните кошелёк.
- Выберите Индию и сервис, проверьте цену на экране и оформите заказ.
- Введите номер +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 не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.