API для приёма смс с кодом: быстрый старт
Обновлено 11 окт. 2026 г.

Эта статья для разработчиков, которые хотят покупать номера и читать коды из смс из своего кода. У kartesim два API, которые оплачиваются с одного баланса. Выбирайте по тому, что у вас уже есть.
Два способа подключиться
Первый: протокол handler_api. Это формат запросов, которым пользуются программы, написанные под SMS-Activate. Если ваша программа говорит на нём, вы меняете адрес API и ключ, а код оставляете как есть.
Второй: JSON API v2. В нём обычные запросы и ответы в JSON, webhooks и понятные статусы. Используйте его для всего, что пишете с нуля.
handler_api для готовых программ
Каждый запрос идёт на один адрес, с вашим ключом и названием действия. Адрес указан в документации. Основные действия те же, что ваша программа уже отправляет.
- getNumber: купить номер для сервиса и страны.
- getStatus: узнать, пришёл ли код.
- setStatus: изменить состояние активации, например отменить её.
- getBalance: узнать баланс.
JSON API v2: ключ и каталог
Ваш ключ находится на странице «Разработчикам» в вашем аккаунте. Отправляйте его как токен Bearer в заголовке Authorization каждого запроса.
Начните с GET /catalog. Он возвращает предложения, которые можно купить прямо сейчас, с вашей ценой, и его можно фильтровать по стране и по сервису. GET /balance возвращает баланс в долларах США. Баланс пополняется от $3.
Купить номер и получить код
Весь процесс состоит из нескольких вызовов.
У активации один из четырёх статусов: waiting, completed, expired или cancelled. Отменить её можно, только пока она в статусе waiting.
По умолчанию активация ждёт код десять минут, а затем истекает. В запросе на покупку можно задать ожидание короче или дольше, от двух до двадцати минут. GET /activations выводит список ваших активаций, сначала самые новые.
- POST /activations с сервисом и страной покупает номер.
- GET /activations/:id возвращает активацию. Опрашивайте его, пока не появится код.
- Или передайте в запросе на покупку адрес webhook, и мы вызовем ваш сервер, когда придёт код.
- POST /activations/:id/cancel отменяет активацию в статусе waiting с полным возвратом.
Повторные запросы и лимиты
Сети дают сбои, и запрос на покупку, который завершился по тайм-ауту, мог всё же пройти. Отправляйте в POST /activations заголовок Idempotency-Key. Если повторить запрос с тем же ключом, вы получите первую активацию, а не вторую покупку.
У каждого метода свой лимит запросов, от 30 до 120 в минуту, и в документации указан каждый. Если пользоваться webhook, опрашивать почти не придётся. Webhooks подписаны, поэтому проверяйте подпись, прежде чем доверять вызову.
Считайте «кода нет» обычным исходом
Каждый номер принадлежит настоящей SIM-карте в мобильной сети и продаётся для одной активации одного сервиса. Он принимает только смс, но не звонки. Мы не обещаем, что приложение примет номер или отправит код, поэтому ваш код должен быть готов к активациям, которые заканчиваются без кода.
Вы платите только за код, который пришёл. Если кода нет, отмените активацию или дождитесь, пока она истечёт, и полная сумма автоматически вернётся на ваш баланс. Обрабатывайте это как обычную ветку, а не как ошибку.
Прежде чем запускать в большом объёме
Большинство проблем на старте возникает из-за того, что эти шаги пропустили.
- Сначала сделайте одну активацию вручную и прочитайте каждое поле ответа.
- Намеренно дайте одной активации истечь и посмотрите, как деньги вернутся на баланс.
- Сверьте свои коды стран и сервисов с документацией. Неверный код может вернуть номер, который вам не нужен.
- Храните ключ на своём сервере и никогда не помещайте его в приложение или на веб-страницу.
API для приёма смс: быстрый старт для разработчиков
Читать документацию API