SMS API для верификации
Весь процесс укладывается в три вызова: заказать номер, опрашивать, пока не придёт код, и освободить номер, если код не пришёл. Bearer-токен, JSON на входе и выходе, и всё, что можно сделать в панели управления, доступно через тот же API.
- От
- $0.01за код
- Сервисы
- 746
Оплата за каждую верификацию. Отмените заказ, на который ничего не пришло, — и деньги вернутся на баланс.
Процесс в виде вызовов
GET /api/v2/tn101/get-services— каталог с идентификатором, по которому вы будете заказывать, и текущей ценой.POST /api/v2/tn101/request-number— заказать номер. Принимаетservice_keyи необязательныеstateи коды регионов. Возвращает ID заказа, номер и время его истечения.GET /api/v2/tn101/get-number-details— опрашивайте сorder_id.pinравен null, пока код не придёт, а затем содержит его. Это самый дешёвый запрос на чтение в API, рассчитанный на вызов в цикле.POST /api/v2/tn101/reject-number— освободить номер, на который ничего не пришло. Этот же вызов возвращает деньги.
В этом сценарии вам ничего не отправляется по инициативе сервера, поэтому шаг 3 — это опрос (polling). Если вы предпочитаете получать уведомления, а не спрашивать, аккаунт также отправляет вебхуки о событиях заказа — они настраиваются в панели управления.
Аутентификация
Каждый запрос передаёт Authorization: Bearer <token>. Токены создаются в панели управления в разделе доступа к API и могут быть перевыпущены там в любой момент — перевыпуск сразу делает старый токен недействительным, поэтому сначала замените его в своей конфигурации.
Запрос без действительного токена получает 401. Заблокированный аккаунт или аккаунт с отключённым доступом к API получает 403. Когда API отключён на всём сайте, каждый эндпоинт отвечает 503, а не делает вид, что работает.
Формат ответа
Каждый эндпоинт отвечает одними и теми же тремя полями:
data содержит полезные данные, success — булево значение для ветвления, а summery — сообщение для человека. Это написание — не опечатка на этой странице: так поле называлось в API всегда, оно есть в каждой написанной под него интеграции, и переименование сломало бы их все ради исправления одной буквы. Читайте summery.
Ошибки валидации возвращают 422, где data — объект, сопоставляющий имена полей с текстами ошибок, чтобы вызывающая сторона могла сообщить, какой именно аргумент неверен, а не просто что что-то пошло не так.
Тестирование сценариев верификации
API — практичный способ прогнать регистрацию или сброс пароля через реальный маршрут оператора, а не через заглушку: закажите номер, заполните им свою форму, опросите код и проверьте, что ваше приложение делает дальше. Такой тест медленнее, чем со стабом, но он ловит то, чего стаб поймать не может: нормализацию номера, фильтрацию по типу линии и задержки доставки, с которыми реально столкнутся ваши пользователи.
Ограничения
Лимита запросов в секунду у API нет, но есть две квоты на заказ номеров — те же, что действуют в панели управления:
- Открытые заказы. Аккаунт может одновременно держать лишь ограниченное число забронированных номеров. Опрашивайте и освобождайте номера, а не открывайте множество заказов параллельно.
- Отменённые и истёкшие заказы за день. При превышении дневной квоты заказ номеров приостанавливается на время, а при повторных превышениях пауза увеличивается. Каждая бронь расходует реальные номера, независимо от того, пришёл код или нет, — именно это квота и защищает.
Обе квоты подробнее описаны на странице временные номера, где объясняется, как проходит заказ.
Вопросы и ответы
- Как получить токен?
- Создайте аккаунт, а затем сгенерируйте токен в панели управления в разделе доступа к API. Там он показывается полностью и может быть перевыпущен в любой момент.
- Вызовы API платные?
- Запросы бесплатны, номера — нет. Плата за номер списывается, когда `request-number` его выдаёт, по той же цене за верификацию, что и при заказе в панели управления.
- Есть ли песочница?
- Отдельной песочницы нет. Среда одна, и заказанный номер — это настоящий номер с настоящим списанием, — что, собственно, и делает API ценным для тестирования.
- Как правильно опрашивать код?
- `get-number-details` — это один индексированный запрос без обращения к внешним системам, поэтому несколько секунд между опросами вполне разумно. Остановитесь, когда `pin` заполнится или когда срок заказа истечёт, и освобождайте все номера, на которые ничего не пришло.
- Можно ли получать уведомления вместо опроса?
- Да. Вебхуки настраиваются для каждого аккаунта в панели управления и срабатывают на события заказа, так что долгоживущей интеграции не нужно крутиться в цикле.
Похожие страницы
- Приём SMS онлайнКак работают входящие в браузере и почему бесплатные публичные номера обычно не срабатывают.
- SMS-верификацияКак устроен одноразовый код от начала до конца и почему он иногда так и не приходит.
- Временные номераКак долго арендованный номер остаётся вашим и каким аккаунтам он не подходит.
Готовы получить код?
Регистрация занимает минуту, а платите вы только за номера, на которые пришёл код.
Создать бесплатный аккаунт