Русский
Тестирование венгерской (+36) проверки телефона: чек-лист, шаги и решения
OTP Route может принимать за вас коды подтверждения из Венгрии (+36): OTP Gateway выдаёт одноразовый номер для выбранного сервиса, а код попадает в вашу панель, цикл опроса или подписанный вебхук. Цена — от $0.20 за код, точная цена по сервису возвращается API в реальном времени, а платить нужно только в том случае, если SMS пришло в течение 20-минутного окна активации.
Чек-лист: готов ли ваш стек к прогону Hungary OTP API?
Пройдитесь по этому списку один раз на проект, а не на каждый тест:
- Безопасность аккаунта. Зарегистрируйтесь на странице регистрации, затем включите двухфакторную аутентификацию TOTP, прежде чем создавать какие-либо ключи.
- Ключи для каждого окружения. Создайте ключи
or_live_в консоли разработчика, по одному на конвейер или рабочую машину разработчика, чтобы утёкший ключ можно было отозвать, не останавливая остальных. - Id в конфигурации, а не в коде. Венгрия — это
hu; читайте id сервисов изGET /api/v1/servicesи храните соответствие в файле конфигурации. - Адрес для вебхуков. Зарегистрируйте HTTPS-эндпоинт (до 5 на аккаунт) и сохраните его секрет в менеджере секретов.
- Контроль бюджета. Пусть набор тестов сначала вызывает
GET /api/v1/balanceи корректно завершается, если средств не хватает. - Разбор с учётом региона. Убедитесь, что ваше поле ввода телефона знает регион HU, ведь венгры редко вводят код страны в локальной форме.
На странице решения для QA-тестирования показано, как команды обычно выстраивают это в тестовом фреймворке.
Почему обработка номеров +36 заслуживает отдельных тестовых случаев?
Код страны Венгрии — +36, а внутренняя транковая приставка — 06. Венгерский пользователь часто вводит мобильный номер как 06 30 123 4567 или 06 20 ..., где 20, 30, 31, 50 и 70 — распространённые мобильные префиксы. Ваша форма должна преобразовать это в +3630..., убрав 06, а не оставляя его после кода страны. Напишите явные тесты для:
06 30 ...в поле национального формата;+36 30 ...и0036 30 ..., поскольку00— международный префикс выхода;- пробелов, косых черт и дефисов, которые в реальном вводе встречаются во всех сочетаниях.
Официальный язык — венгерский, и многие сервисы отправляют код на венгерском, как только локаль аккаунта настроена на него. Буквы ő и ű не входят в 7-битный алфавит GSM, поэтому венгерское сообщение с ними кодируется в UCS-2, и в каждом сегменте помещается меньше символов. Это важно, если ваш продукт сам отправляет венгерские коды, и хороший повод читать полученный текст в тестовых логах, а не только извлечённые цифры. Венгерские слова к тому же длинные, поэтому QA локализации должен проверить, что шаг с телефоном и его сообщения об ошибках по-прежнему помещаются на маленьких экранах.
Какие венгерские маршруты доступны для тестового номера +36?
OTP-маршрутизация для hu сейчас охватывает более 1 600 сервисов. Часто запрашиваемые маршруты в текущем срезе — WhatsApp, Viber, Facebook, Instagram, Google (Gmail & YouTube), Uber, Airbnb, eBay, Amazon, LinkedIn, Netflix и ChatGPT (OpenAI).
Эти маршруты — срез; наличие меняется в течение дня, поэтому API возвращает доступность с каждым запросом цены. Запрашивайте GET /api/v1/prices?country=hu&service=<id> непосредственно перед заказом, а не кэшируйте старый ответ.
Шаги: приём SMS с OTP-кодами из Венгрии через API
Когда чек-лист выполнен, одному тесту через API SMS-верификации нужно не более пяти вызовов, все — к https://otproute.com/api/v1:
GET /api/v1/prices?country=hu&service=uber, чтобы подтвердить маршрут и записать цену.POST /api/v1/activationsс{"service": "uber", "country": "hu"}. Сохраните id активации — он служит ключом для всего дальнейшего.- Передайте полученный номер +36 на экран проверки в вашем приложении.
- Получите код. Вебхук доставляет
activation.sms_received; опрос используетGET /api/v1/activations/{id}. Выберите что-то одно для каждой задачи, чтобы два пути не конкурировали. - При сбое теста вызовите
POST /api/v1/activations/{id}/cancel, чтобы сразу освободить средства.
Проверяйте каждый вебхук, прежде чем ему доверять: разделите X-OTPRoute-Signature на t и v1, вычислите HMAC-SHA256 от <t>.<raw body> с секретом эндпоинта, сравните за постоянное время и отклоняйте слишком старые метки времени. Считайте activation.expired и activation.cancelled конечными состояниями, чтобы повторы прекращались. Рабочий пример есть в руководстве по интеграции OTP API.
Шаги для коллег, которые никогда не трогают API
Сотрудники клиентской поддержки или маркетинга могут пользоваться панелью. Откройте OTP Gateway, выберите Венгрию и сервис, проверьте показанную цену, подтвердите и вставьте номер +36 в приложение. Код появится в самом заказе. Если за 20 минут ничего не пришло, заказ истекает, а кошелёк пополняется на полную сумму, так что неудачная попытка ничего не стоит.
Диагностика венгерского проверочного номера, который молчит
Пройдите по этим пунктам, прежде чем создавать обращение:
- Номер передан в формате E.164? Лишний
06после+36— самая частая ошибка, которую делают сами. - Принимает ли сервис виртуальные номера? Некоторые нет. Автоматический возврат это покрывает, а переход на другой маршрут сервиса или в соседнюю страну обычно самый быстрый выход.
- Вы дождались конца окна? Отмена после короткого ожидания может потерять код, который уже был в пути. Дайте заказу отработать, затем повторите позже.
- Скрипт долбит один маршрут? Растягивайте повторы с нарастающей паузой. Повторные мгновенные заказы редко помогают и могут сработать на собственные антиабьюз-проверки платформы.
Статья о снижении числа неудачных доставок OTP идёт дальше.
Долгосрочные линии, кошелёк и ответственное использование в Венгрии
Долгосрочного номера по самообслуживанию для Венгрии нет. Если он нужен операционной команде или службе поддержки, напишите на [email protected] с описанием сценария; доступность зависит от местных правил и не может быть обещана. Выделенные виртуальные номера по самообслуживанию существуют только для линий США и Канады, от $1.95/месяц.
OTP Route списывает средства с единого предоплаченного кошелька в USD: без абонентской платы и тарифного плана, пополнение картой или USDT/USDC и PDF-счёт на email за каждое пополнение. Режим песочницы с имитированными номерами и кодами можно включить по запросу для интеграционных тестов. Используйте номера только для тестирования или работы с собственными продуктами и законными аккаунтами, соблюдайте условия каждого сервиса и помните, что действует Политика допустимого использования OTP Route.
Частые вопросы
Может ли моя QA-команда получить венгерский SMS-код без венгерской SIM-карты?
Да. Закажите номер +36 для нужного сервиса через OTP Gateway и заберите код в панели или через API.
Какой id страны использует API для Венгрии?
Используйте hu, например в POST /api/v1/activations с телом вида {"service": "uber", "country": "hu"}.
Как преобразовать номер, записанный как 06 30 123 4567?
Отбросьте транковую приставку 06 и добавьте +36, получится +36301234567. Храните эту форму E.164 и форматируйте её только для отображения.
Платить ли, если венгерский маршрут не доставил код?
Нет. Если SMS не пришло за 20 минут или вы отменили активацию, вся сумма автоматически возвращается на кошелёк.
Почему сообщение с венгерским кодом иногда выглядит иначе, чем английское?
Венгерские тексты могут содержать ő или ű, из-за чего сообщение переходит на кодировку UCS-2. Цифры те же; меняются только текст сообщения и его длина.
Можно ли купить венгерский номер, который останется со мной на месяцы?
Не как продукт самообслуживания. Выделенные номера есть только в США и Канаде; по Венгрии можно написать на [email protected], без обещания, что это удастся организовать.
Сколько сервисов поддерживает OTP Route для Венгрии?
Более 1 600 на момент написания. Вызовите GET /api/v1/countries или посмотрите актуальный список в панели.
Названия сервисов являются товарными знаками их владельцев. OTP Route не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.