Русский
Получаем SMS-коды из Ботсваны одним вызовом API
Да, SMS с кодами подтверждения из Ботсваны (+267) с OTP Route получить можно: создайте активацию для страны bw через API OTP Gateway или панель, и код вернётся опросом или подписанным вебхуком. Цены начинаются от $0.20 за код, а деньги списываются, только когда SMS действительно пришло на номер.
Через какие вызовы API проходит активация для Ботсваны?
Всё находится под https://otproute.com/api/v1 и авторизуется Bearer-ключом с префиксом or_live_. Ключи создаются в консоли разработчика; в аккаунте может быть до 10 ключей, а лимит составляет 300 запросов в минуту, чего с запасом хватает тестовому набору, заказывающему за прогон несколько номеров Ботсваны.
Типичная последовательность выглядит так:
- Один раз вызовите
GET /api/v1/countriesи закэшируйте ответ, чтобы код знал, чтоbw— идентификатор Ботсваны. - Запросите через
GET /api/v1/prices?country=bw&service=whatsappактуальную цену и доступность нужной пары. Цены зависят от сервиса и страны, поэтому читайте их, а не прописывайте жёстко. - Отправьте
POST /api/v1/activationsс телом{"service": "whatsapp", "country": "bw"}. В ответе будут номер +267 и идентификатор активации. - Введите этот номер в тестируемой форме регистрации, затем либо опрашивайте
GET /api/v1/activations/{id}, либо ждите вебхук. - Если тест прерван, вызовите
POST /api/v1/activations/{id}/cancel, чтобы средства сразу вернулись на кошелёк.
Руководство по интеграции OTP API разбирает те же вызовы с упором на обработку ошибок.
Как приёмнику вебхуков обрабатывать события +267?
Вебхуки — более чистый выбор, когда параллельно идёт больше одного теста. Зарегистрируйте эндпоинт (пять на аккаунт) и слушайте activation.sms_received, activation.expired и activation.cancelled, каждое из которых привязано к идентификатору активации, полученному при заказе.
Каждая доставка содержит заголовок X-OTPRoute-Signature в виде t=<unix>,v1=<hex>. Пересоберите HMAC-SHA256 строки "<t>.<raw body>" секретом эндпоинта, сравните с v1 за постоянное время и отбросьте всё, у чего метка времени устарела. Разбирайте JSON только после успешной проверки, потому что повторная сериализация тела меняет байты.
Сделайте обработчик идемпотентным: сохраняйте идентификатор активации, когда код использован, и игнорируйте повтор того же события. Подробности — в материале о защите вебхуков OTP с помощью HMAC.
Для чего можно использовать номер Ботсваны для верификации?
В актуальном срезе по Ботсване указано более 800 сервисов. Среди популярных: WhatsApp, Telegram, Google (Gmail & YouTube), Facebook, Instagram, TikTok, ChatGPT (OpenAI), Microsoft & Outlook, Amazon, LinkedIn, Uber, Signal, Netflix и Airbnb.
Доступность на конкретном маршруте меняется в течение дня по мере изменения мощностей операторов. Поэтому эндпоинт цен сообщает и о том, что можно заказать прямо сейчас: считайте его ответ источником истины, а не этот список.
Что инженерам стоит знать о телефонных номерах Ботсваны?
Ботсвана использует код страны +267 и не имеет внутреннего префикса, поэтому национальный номер набирают так, как он записан. Мобильные номера состоят из восьми цифр и начинаются с 7. В E.164 это +267 и восемь цифр, без нуля, который нужно убирать.
Несколько практических замечаний для тех, кто хранит или проверяет такие номера:
- Приводите всё к E.164 при вводе. Пользователи могут набирать
00267, пробелы или ведущий плюс; сведите всё к одной канонической форме, прежде чем сравнивать или удалять дубликаты. - Не переиспользуйте правило префикса из соседнего рынка. Валидатор, скопированный из страны, где отбрасывается ведущий ноль, будет отклонять корректные номера Ботсваны.
- Основные языки — английский и сетсвана. Коды от глобальных приложений обычно приходят на английском, но ваш парсер должен извлекать цифры по шаблону, а не опираться на фиксированные формулировки.
Команды тестируют этот рынок, когда запускают продукт на юге Африки, проверяют онбординг для клиентов по ту сторону границы с Южной Африкой или ведут региональные операции, которым нужен местный номер +267 для тестирования.
Может ли сотрудник без навыков разработки заказать код для Ботсваны из панели?
Да. Зарегистрируйтесь по email и шестизначному коду (или через Google), пополните кошелёк, затем откройте OTP Gateway, выберите Ботсвану и сервис, проверьте показанную цену и сделайте заказ. Вставьте номер в тестируемое приложение; код появится в панели, как только SMS дойдёт до маршрута.
Каждая активация остаётся открытой 20 минут. Если за это время сообщение не пришло или вы отменили заказ раньше, вся сумма автоматически возвращается на кошелёк.
Что делать, если код из Ботсваны не приходит?
Скорость доставки зависит от сервиса и маршрута, поэтому дайте окну время, прежде чем действовать. Если оно закрылось пустым, пройдитесь по списку:
- Повторите чуть позже или выберите маршрут другого сервиса для того же сценария, если ваш продукт это допускает.
- Убедитесь, что приложение на другой стороне готово отправлять SMS на виртуальную линию; некоторые приложения отклоняют такие номера, и именно поэтому неиспользованные активации возвращаются на баланс.
- Дождитесь завершения 20-минутного окна, а не отменяйте заказ через минуту.
- Не заказывайте номера заново в плотном цикле из CI; добавьте паузу между попытками.
Другие приёмы собраны в материале о том, как снизить число неудачных доставок OTP. Что бы вы ни тестировали, соблюдайте условия каждого сервиса; политика допустимого использования OTP Route (Acceptable Use Policy) распространяется на каждый заказ.
Есть ли долгосрочная линия +267 и как устроена оплата?
Как самостоятельный продукт — нет. Выделенные номера (Dedicated Numbers) мгновенно продаются только в США и Канаде, от $1.95/month; по Ботсване можно написать на [email protected], а доступность зависит от местных правил. О том, что входит в линии США и Канады, см. виртуальные номера.
Оплата идёт с одного предоплаченного кошелька в USD без ежемесячной платы; пополнять его можно картой или через USDT/USDC, и каждое пополнение сопровождается PDF-счётом на почту. Для работы над интеграцией тестовый аккаунт по запросу можно переключить на песочницу, чтобы весь процесс шёл на имитированных номерах и кодах. Актуальные цены — на странице тарифов.
Частые вопросы
Какой идентификатор страны у Ботсваны в API OTP Route?
Это bw. Передавайте его как country в POST /api/v1/activations и в строке запроса GET /api/v1/prices.
Можно ли протестировать регистрацию в моём приложении для Ботсваны без местной SIM-карты?
Да. Закажите номер +267 для сервиса вашего приложения через OTP Gateway и прочитайте код в панели или на вашем вебхуке, без SIM-карты и телефона.
Нужен ли ведущий ноль при хранении номеров Ботсваны?
Нет. В Ботсване нет внутреннего префикса, поэтому храните номер как +267 и восьмизначный мобильный номер.
Спишут ли деньги, если код +267 не придёт?
Нет. Если за 20-минутное окно ничего не пришло или вы отменили заказ, вся сумма автоматически возвращается на кошелёк.
Можно ли оставить номер Ботсваны за собой для будущих входов?
Самостоятельно оформляемого долгосрочного номера для Ботсваны нет. Долгосрочные линии — продукт для США и Канады; напишите на [email protected], если хотите узнать о других вариантах.
Можно ли гонять тесты для Ботсваны в CI, не тратя средства кошелька?
Попросите переключить ваш тестовый аккаунт на песочницу. Она возвращает имитированные номера и коды, так что весь путь API и вебхуков можно проверить бесплатно.
Названия сервисов являются товарными знаками их владельцев. OTP Route не связан с ними. Используйте номера законно, соблюдайте условия каждого сервиса и нашу Политику допустимого использования.