Русский
Тестируем бельгийские регистрации, когда ни у кого в команде нет SIM-карты +32
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 запросов в минуту.
- Получите
GET /api/v1/servicesиGET /api/v1/countriesи закэшируйте их; идентификатор Бельгии —be. - Узнайте текущую цену через
GET /api/v1/prices?country=be&service=linkedin, пока прогон ещё ничего не потратил. - Создайте заказ через
POST /api/v1/activationsс телом{"service": "linkedin", "country": "be"}. В ответе будут идентификатор активации и номер +32, который нужно ввести в форме регистрации. - Пусть ваш бельгийский тест ждёт события
activation.sms_receivedили опрашиваетGET /api/v1/activations/{id}, не перегружая его. - Если тест прерван, вызовите
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:
- Зарегистрируйтесь по адресу email и 6-значному коду из письма или через вход Google, затем включите двухфакторную защиту TOTP.
- Пополните кошелёк.
- Выберите Бельгию и сервис, проверьте цену на экране и подтвердите заказ.
- Введите номер +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 не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.