Тестирование верификации +27: чек-лист для запуска в Южной Африке

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

С OTP Gateway от OTP Route вы можете получать коды верификации из ЮАР (+27) на временный номер, от $0.20 за код, и забирать каждый из них в панели или через API — опросом либо подписанным вебхуком. Заказывайте с идентификатором страны za; активация длится 20 минут, а платить нужно только в том случае, если SMS действительно пришло.

Перед первым заказом +27: короткий список готовности

Отметьте эти пункты — и первая активация в ЮАР пройдёт без сюрпризов:

  1. Кошелёк пополнен. Один предоплаченный USD-кошелёк покрывает всё; пополняйте его картой или в USDT/USDC. Подписки нет.
  2. Ключ выпущен. Создайте Bearer-ключ в консоли разработчика (он начинается с or_live_). Заведите отдельные ключи для CI и для staging — всего до 10.
  3. Вебхук зарегистрирован. Добавьте HTTPS-endpoint и сохраните его секрет подписи. Зарегистрировать можно до пяти.
  4. Нормализатор номеров проверен. Подайте ему ввод вида 082 123 4567 и убедитесь, что на выходе получается +2782... без ведущего 0.
  5. Идентификатор сервиса подтверждён. Берите каталог из GET /api/v1/services, а не угадывайте идентификаторы.
  6. Sandbox — по желанию. Поддержка может перевести аккаунт разработки в sandbox, чтобы имитированные номера и коды проходили через ваш код до каких-либо реальных трат.

Как встроить эти части в конвейер, показывает руководство по CI-тестированию.

Как хранить и нормализовать южноафриканские номера?

В ЮАР используется транковый префикс 0. Мобильный номер в локальной записи состоит из десяти цифр, например 082 123 4567, а мобильные диапазоны в такой национальной форме обычно начинаются с 06, 07 или 08. В международном формате 0 исчезает: та же линия превращается в +27 82 123 4567, а без пробелов — в +27821234567, то есть девять цифр после кода страны.

Классическая ошибка — сохранённое значение вроде +270821234567, возникающее, когда форма приклеивает код страны к местному номеру, не убрав 0. Нормализуйте при вводе, храните только E.164, а локальный формат с пробелами используйте исключительно для отображения. Если вы сами отправляете исходящие SMS, то же правило сохраняет согласованность отчётов о доставке и поиска пользователей.

Какие сервисы могут присылать коды на номер верификации в ЮАР?

Среди популярных маршрутов для za сейчас — WhatsApp, Facebook, Instagram, TikTok, Google (Gmail & YouTube), Uber, Telegram, Microsoft & Outlook, LinkedIn, Netflix, Amazon, X (Twitter), ChatGPT (OpenAI) и Discord. Во всём каталоге страна поддерживает более 1 700 сервисов, а поскольку наличие меняется в течение дня, актуальную доступность стоит читать из API.

Почему команды выбирают этот рынок? Йоханнесбург и Кейптаун — устоявшиеся технологические и финансовые центры, и многие компании используют ЮАР как базу для более широкого запуска в Южной Африке. В стране несколько официальных языков, включая английский, зулу, коса и африкаанс, но большинство сообщений с кодами приходит на английском, поэтому QA локализации обычно сосредоточен на окружающих экранах, а не на тексте самого SMS.

Шаги: вызов OTP API для ЮАР из вашего тестового окружения

Запросы идут на https://otproute.com/api/v1 с вашим Bearer-ключом, до 300 в минуту.

  1. GET /api/v1/prices?country=za&service=<id> возвращает актуальную цену для нужной пары.
  2. POST /api/v1/activations с телом {"service": "<id>", "country": "za"} резервирует номер +27 и возвращает идентификатор активации.
  3. Ваш тест вводит номер в приложение и запускает отправку SMS.
  4. Событие activation.sms_received приходит на ваш вебхук. Прежде чем ему доверять, пересчитайте HMAC-SHA256 от <t>.<raw body> с секретом endpoint, сравните с v1 в X-OTPRoute-Signature и отбросьте запросы со слишком старой отметкой времени.
  5. Предпочитаете опрос? Читайте GET /api/v1/activations/{id} с умеренным интервалом.
  6. Брошенные прогоны должны вызывать POST /api/v1/activations/{id}/cancel, а GET /api/v1/balance позволяет задаче остановиться раньше, когда средства на исходе.

Больше о выборе маршрутов — в материале о маршрутизации OTP по странам.

Шаги для сотрудников операционного отдела в панели

Код не нужен: откройте OTP Gateway, выберите ЮАР и сервис, проверьте отображаемую цену, подтвердите заказ и вставьте номер +27 в приложение. SMS появится на странице активации по мере поступления, а 20-минутное окно и автоматический возврат работают так же, как и через API.

Что делать, если южноафриканские коды застряли

Сначала о деньгах: если SMS не пришло в течение 20 минут или вы отменили заказ, вся сумма автоматически возвращается на кошелёк. Затем диагностика:

  • Сначала терпение. Скорость доставки зависит от сервиса и маршрута, поэтому дайте активации отработать до конца.
  • Политика приёма. Некоторые сервисы отклоняют виртуальные номера; возврат в таком случае — ожидаемое поведение, а не сбой.
  • Другое время или маршрут. Повторите позже или используйте соседний маршрут, например Намибию или Ботсвану, если это допускает тестовый сценарий.
  • Без «долбёжки». Отмена и повторный заказ в быстром цикле редко помогают и съедают ваш лимит запросов.

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

Долгосрочные линии в ЮАР и модель оплаты

Самообслуживаемого долгосрочного номера +27 нет. Dedicated Numbers, от $1.95/month, предлагаются только в США и Канаде; командам, которым нужна постоянная южноафриканская линия, можно написать на [email protected] — возможность зависит от местных правил. Оплата — по мере использования с предоплаченного кошелька, с PDF-счётом на почту за каждое пополнение. Полная картина — на странице цен.

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

Можно ли проверить регистрацию моего приложения в ЮАР без местной SIM-карты?

Да. Закажите номер +27 через OTP Gateway и прочитайте код в панели или через API. Это стоит от $0.20 за код, и только если код пришёл.

Нужно ли сохранять ведущий 0 при переводе южноафриканского номера в E.164?

Нет. Отбросьте транковый 0 и добавьте префикс +27: 082 123 4567 превращается в +27821234567.

Какой идентификатор страны в API у ЮАР?

Это za: он указывается в запросе цены и в JSON-теле при создании активации +27.

На каком языке приходят южноафриканские тексты верификации?

В основном на английском, хотя в стране несколько официальных языков. Формулировку определяет отправляющий сервис.

Вернут ли деньги, если код так и не доставлен?

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

Можно ли купить южноафриканский номер на несколько месяцев?

В режиме самообслуживания — нет. Dedicated Numbers — продукт для США и Канады; по ЮАР напишите в поддержку, но доступность не обещается.

Со сколькими сервисами можно верифицироваться на номер +27 в OTP Route?

Более 1 700 по последнему снимку. Смотрите актуальный каталог через API, поскольку доступность меняется в течение дня.

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

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

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