Русский
Тестируем македонские (+389) коды регистрации до запуска
OTP Gateway в OTP Route выдаёт одноразовый номер Северной Македонии (+389), чтобы ваша команда могла получить SMS с кодом подтверждения в личном кабинете или через API и подписанные вебхуки. Коды стоят от $0.20 за код, актуальную цену каждого сервиса возвращает API, а активация, по которой за 20 минут не пришло SMS, ничего не стоит.
В чек-листе запуска написано «проверить регистрации +389»: с чего начать QA?
Знакомая ситуация: продукт выходит на Западные Балканы, форма регистрации уже работает в десятке стран, и кому-то нужно доказать, что она принимает северомакедонские номера и что отправленное приложением SMS действительно доходит. Брать телефон у коллеги не масштабируется, а локальную SIM-карту неудобно держать внутри CI-раннера.
OTP Gateway снимает эту зависимость. Вы запрашиваете номер для верификации в Северной Македонии через API или кабинет, вводите его в собственный сценарий и собираете пришедший код. Каждый номер обслуживает одну верификацию, поэтому регрессионный набор может запрашивать новый номер +389 для тестирования при каждом запуске. Как команды встраивают это в процесс релиза, показывает обзор QA-тестирования.
Как записываются номера +389 и что должен принимать ваш валидатор?
Код страны Северной Македонии — +389, национальный префикс — 0. Мобильные номера локально записываются как 07X XXX XXX; в международном формате 0 исчезает, получается +389 7X XXX XXX с восьмизначным национальным номером. Храните формат E.164 (+3897…), а локальную запись считайте только форматом ввода.
Какие тест-кейсы стоит оставить в наборе:
- Пользователь выбирает +389 и всё равно вводит 0: форма должна убрать его, а не отклонить ввод.
- Вставленные номера с пробелами, косыми чертами и дефисами должны нормализоваться в одно хранимое значение.
- Проверку диапазонов лучше доверить поддерживаемой библиотеке разбора телефонных номеров, а не жёстко прописанным префиксам: диапазоны операторов со временем меняются.
Почему кириллическим шаблонам SMS нужен отдельный тест?
Македонский — официальный язык по всей стране и пишется кириллицей; албанский тоже имеет официальный статус и широко распространён. Если ваше приложение отправляет код на македонском, кириллица требует кодировки UCS-2, из-за чего длина одного SMS-сегмента сокращается со 160 до 70 символов. Шаблон, который свободно помещается по-английски, может разбиться на несколько сегментов или обрезаться, если отправитель ограничивает длину.
Получив настоящее сообщение на номер +389, вы увидите то, что увидит пользователь: достаточно ли рано стоит код, чтобы прочитать его в превью уведомления, срабатывает ли запасной вариант на латинице и работают ли подсказки автозаполнения. Парсер должен искать цифры, а не фиксированную фразу, поскольку сторонние сервисы сами выбирают формулировку и язык.
Какие вызовы нужны, чтобы получить номер Северной Македонии программно?
Все поля описаны в документации для разработчиков; схема работы этого API SMS-верификации короткая. Авторизуйтесь Bearer-ключом с префиксом or_live_ на https://otproute.com/api/v1, затем:
- Загрузите список стран через
GET /api/v1/countries; идентификатор Северной Македонии —mk. - Запросите
GET /api/v1/prices?country=mk&service=<id>, чтобы узнать актуальную цену и доступность. - Создайте активацию через
POST /api/v1/activationsс телом вроде{"service": "viber", "country": "mk"}. - Опрашивайте
GET /api/v1/activations/{id}или ждитеactivation.sms_receivedна вебхуке. - Отмените через
POST /api/v1/activations/{id}/cancel, если тест завершился раньше.
Вебхук-запросы содержат заголовок X-OTPRoute-Signature: t=<unix>,v1=<hex>. Пересчитайте HMAC-SHA256 от "<t>.<raw body>" с секретом эндпоинта, сравните за постоянное время, отклоняйте устаревшие метки времени и привязывайте обработку к id активации, чтобы повторная доставка была безвредной. На аккаунт полагается до 10 ключей, 5 вебхук-эндпоинтов и 300 запросов в минуту.
Какие сервисы сейчас открыты на маршруте +389?
В Северной Македонии сейчас доступно более 900 сервисов в OTP Gateway. В актуальном срезе есть Viber, WhatsApp, Facebook, Instagram, Telegram, Google (Gmail & YouTube), TikTok, Microsoft & Outlook, Signal, LinkedIn, Uber и ChatGPT (OpenAI).
Не каждый сервис доступен в любой час — для SMS-ресурсов это нормально, и именно поэтому цены и доступность отдаёт API. Коллеги, которые работают без кода, могут пройти те же шаги в кабинете: создайте аккаунт, пополните баланс, выберите Северную Македонию и сервис — код появится на странице активации, как только придёт.
Код не пришёл: что делать?
Каждая активация длится 20 минут, и вы платите, только если SMS пришло. Отмените её или дайте окну закрыться без сообщения — вся сумма автоматически вернётся на кошелёк.
Прежде чем заказывать снова:
- Дождитесь конца окна: медленный отправитель встречается куда чаще, чем потерянное сообщение.
- Убедитесь, что сервис принимает виртуальные номера; некоторые отклоняют их по политике — именно для этого и существует возврат.
- Повторите позже или через другой маршрут сервиса.
- Делайте паузу между попытками, чтобы нестабильный тест не слал заказ за заказом на маршрут +389.
Как планировать запасные варианты между рынками, объясняет руководство по маршрутизации стран. Используйте номера только для своих продуктов и аккаунтов, соблюдайте условия каждого сервиса и помните, что действует Политика допустимого использования OTP Route.
Что с постоянным македонским номером, оплатой и песочницей?
OTP Route не предлагает самостоятельно оформляемый долгосрочный номер в Северной Македонии. Dedicated Numbers (выделенные номера) — продукт для США и Канады, продаётся мгновенно, от $1.95/month; для постоянной линии +389 напишите на [email protected], и команда сообщит, допускают ли это местные правила, не обещая наличия.
Оплата — по мере использования с предоплаченного кошелька в USD, который пополняется картой или USDT/USDC, без абонентской платы и с PDF-счётом за каждое пополнение. Тестовые аккаунты по запросу переводятся в песочницу, чтобы интеграции работали с имитированными номерами и кодами.
Частые вопросы
Можно ли проверить SMS регистрации моего приложения в Македонии без SIM-карты?
Да. Запросите номер OTP Gateway со страной mk, используйте его на своём экране регистрации и читайте сообщение в кабинете или из вебхука.
Сколько стоит код подтверждения на +389?
От $0.20 за код; точная сумма зависит от сервиса и показывается в кабинете или возвращается GET /api/v1/prices. Если окно в 20 минут закрылось без SMS, вы получаете всю сумму обратно.
Будут ли сообщения с кодами на северомакедонские номера на кириллице?
Это зависит от отправителя. Шаблон вашего приложения вы контролируете сами, а сторонние сервисы выбирают язык по настройкам аккаунта или устройства, поэтому разбирайте именно цифры.
Нужно ли хранить в базе ведущий 0 македонских мобильных номеров?
Лучше хранить E.164: +389 и восьмизначный национальный номер, без префиксного 0 и без пробелов.
Можно ли сохранить номер Северной Македонии для повторных входов?
Самостоятельно нельзя. Долгосрочные Dedicated Numbers есть только для США и Канады; для +389 напишите в поддержку — ответ зависит от местных правил.
Можно ли гонять CI для Северной Македонии, не тратя деньги?
Попросите песочницу для тестового аккаунта. Она имитирует номера и коды, так что всю интеграцию можно прогнать целиком без списаний с кошелька.
Почему сервис может отклонить мой номер +389?
Некоторые платформы не принимают виртуальные номера. Тогда активация истекает или её можно отменить, а оплата автоматически возвращается на кошелёк.
Названия сервисов являются товарными знаками их владельцев. OTP Route не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.