Тестируем бельгийские регистрации, когда ни у кого в команде нет SIM-карты +32

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

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

Ваш релиз нацелен на Бельгию, но все тестовые устройства иностранные

Знакомая картина: продукт работает на домашнем рынке, Бельгия следующая в дорожной карте, и QA-лид понимает, что во всех тестовых телефонах стоят иностранные SIM-карты. Одолжить телефон брюссельского коллеги можно один раз, затем его личный номер навсегда оказывается привязан к staging-аккаунту, а регрессионный набор по-прежнему не может запускаться без участия человека.

OTP Route снимает это узкое место с помощью OTP Gateway. Вы выбираете сервис и Бельгию, получаете номер +32 ровно для одного кода подтверждения и читаете код в панели или из собственного кода. Ничей личный номер не привязывается к тестовому входу, а тот же шаг можно запускать в конвейере ночью. Руководство по QA-тестированию показывает, как команды вписывают это в существующий тест-план.

Какие сервисы сейчас доставляют коды на номера +32?

Бельгийский маршрут сейчас включает более 1 700 сервисов. Среди популярных в последнем срезе: WhatsApp, Telegram, Google (Gmail & YouTube), Facebook, Instagram, TikTok, LinkedIn, Microsoft & Outlook, Amazon, Uber, Signal, Viber, Netflix, Airbnb и eBay.

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

Как подключить OTP-маршрутизацию для Бельгии к автоматическому тесту?

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

  1. Получите GET /api/v1/services и GET /api/v1/countries и закэшируйте их; идентификатор Бельгии — be.
  2. Узнайте текущую цену через GET /api/v1/prices?country=be&service=linkedin, пока прогон ещё ничего не потратил.
  3. Создайте заказ через POST /api/v1/activations с телом {"service": "linkedin", "country": "be"}. В ответе будут идентификатор активации и номер +32, который нужно ввести в форме регистрации.
  4. Пусть ваш бельгийский тест ждёт события activation.sms_received или опрашивает GET /api/v1/activations/{id}, не перегружая его.
  5. Если тест прерван, вызовите POST /api/v1/activations/{id}/cancel, чтобы средства сразу вернулись.

Доставки вебхуков несут X-OTPRoute-Signature: t=<unix>,v1=<hex>. Вычислите HMAC-SHA256 от "<t>.<raw body>" секретом эндпоинта, сравните за постоянное время и отбросьте запросы с устаревшей меткой времени. Все поля перечислены в справочнике API.

Как хранить номера +32, чтобы форматирование не ломало тесты?

Внутри Бельгии мобильные номера пишут с ведущим внутренним префиксом 0, как правило, в виде 04xx и ещё шести цифр, а группируют их пробелами, косыми чертами или точками. В международной форме 0 исчезает и его место занимает +32, так что 04xx превращается в +32 4xx. Некоторые пользователи также вводят префикс 0032, который используется для звонков за границу из Европы.

Сохраняйте одну каноническую строку E.164 без разделителей и напишите тест, который подаёт в поле телефона все три стиля ввода и ожидает одно и то же сохранённое значение. Одна такая проверка выявляет на удивление много ошибок онбординга до того, как их увидят бельгийские клиенты.

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

Бельгийский код не пришёл: что делать?

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

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

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

Построение повторных попыток подробнее разобрано в статье о том, как снизить число неудачных доставок OTP.

Может ли служба поддержки или операционная команда заказать номер +32 без кода?

Да. Панель закрывает тот же сценарий для тех, кто никогда не работает с API:

  1. Зарегистрируйтесь по адресу email и 6-значному коду из письма или через вход Google, затем включите двухфакторную защиту TOTP.
  2. Пополните кошелёк.
  3. Выберите Бельгию и сервис, проверьте цену на экране и подтвердите заказ.
  4. Введите номер +32 в верифицируемом приложении и дождитесь кода в панели.

Это подходит агентству, которое оформляет бельгийский бизнес-профиль клиента, или руководителю операций, которому нужна одна верификация без заявки в инженерную команду.

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

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

Оплата идёт с одного предоплаченного кошелька в USD по схеме «плати по факту», без ежемесячной платы и без выбора тарифа. Расходы на бельгийские тесты можно оплачивать картой или через USDT/USDC, а PDF-счёт после каждого пополнения приходит на почту для вашей финансовой команды. Для работы над интеграцией тестовый аккаунт по запросу можно переключить на песочницу, чтобы имитированные номера и коды проверяли ваш код, не затрагивая средства кошелька. Все подробности — на странице тарифов.

Используйте бельгийские номера только для своих продуктов и законных аккаунтов, соблюдайте условия каждого сервиса и помните, что действует политика допустимого использования OTP Route (Acceptable Use Policy).

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

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

Да. Закажите номер +32 для тестируемого сервиса, введите его в форме регистрации и прочитайте код в панели или через API.

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

Бельгия — это be, поэтому типичный запрос — POST /api/v1/activations с телом {"service": "whatsapp", "country": "be"}.

Сколько стоит бельгийский номер для верификации?

Код +32 стоит от $0.20 за код, и сумма меняется в зависимости от выбранного сервиса. Точную цену до заказа покажет GET /api/v1/prices или панель.

Спишут ли деньги, если код +32 не придёт?

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

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

Храните форму E.164: она отбрасывает внутренний 0 и начинается с +32. Приводите всё, что вводят пользователи, к этому формату перед сохранением.

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

Нет. Каждый номер OTP Gateway принимает один код. Долгосрочные выделенные номера предлагаются только в США и Канаде; по Бельгии напишите на [email protected].

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

Попросите переключить ваш тестовый аккаунт на песочницу: она возвращает имитированные номера и коды для сквозных тестов.

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

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

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