Каждый параметр, живой ответ и все документированные варианты успеха/ошибок — на одном экране.
getNumber
V1
GET / POST
Купить номер телефона для сервиса/страны.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
Принимаются, но пока игнорируются (нет правила валидации, тихо отбрасываются, ошибка не возвращается): operator, phoneException, minPrice.
Автоопределение страны (например, `country=any`) не поддерживается: `country` должен быть числовым кодом страны — нечисловая или неизвестная страна возвращает BAD_COUNTRY.
В этом методе списки через запятую поддерживаются только для providerIds/exceptProviderIds. Параметры верхнего уровня `service`/`country` здесь списки через запятую не принимают — эта возможность скоро появится только в методах получения цен (getPrices/getFreePrices/getPricesV2/getPricesV3).
getNumberTest ведёт себя точно так же, как getNumber, но это документированный способ явно передать activationType/testParams.
Это настоящий запрос — успешный вызов может списать средства с баланса или изменить реальную активацию.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
setStatus
V1
GET / POST
Изменить статус активации (готово/повтор/отмена/завершение).
Ответ всегда представляет собой простой статус-токен, никогда не JSON-конверт — используйте setStatusV2, если нужен JSON.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getStatus
V1
GET / POST
Опрашивать статус/код активации.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getPrices
V1
GET / POST
Плоская карта цена/количество по стране и сервису.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
Неизвестный или удалённый код service/country возвращает BAD_SERVICE/BAD_COUNTRY. Валидный код, у которого просто нет предлагаемой вариации для пары, всё равно даёт пустой результат (ключ опускается).
Списки через запятую (если включены): каждый токен валидируется так же, как одиночное значение; если ни один из перечисленных кодов не существует, возвращается BAD_SERVICE/BAD_COUNTRY.
The recommended maxPrice for getNumber is NOT cost but saleAveragePrice (see getFreePrices/getPricesV2, getOffers prices.default/avg, getPricesV3): purchases are captured at the actual (usually lower) price while avoiding NO_NUMBERS/WRONG_MAX_PRICE when the cheapest bucket dries up. Your personal contract price, when set, still overrides cost.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getFreePrices
V2
GET / POST
Детальная карта ценовых корзин (price => count, флаг multi-SMS) по стране/сервису.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getPricesV2
V2
GET / POST
Алиас метода getFreePrices.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getBalance
V1
GET / POST
Текущий баланс аккаунта.
BAD_KEY (HTTP 401) возвращается ещё до запуска этого метода, всякий раз, когда API-ключ отсутствует или недействителен — это касается каждого метода, а не только этого.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getServiceNumbersCount
V1
GET / POST
Количество доступных номеров для сервиса/страны.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getProviders
V1
GET / POST
Публичный список провайдеров (id/name/numbers_count/delivery_percent/number_lifetime, без цены).
With both service and country set, the list is filtered to providers that actually serve that pair's price buckets — coherent with getPricesV3 and getNumber providerIds.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getNumberV2
V2Новый
GET / POSTapi_get_number_v2_enabled
Purchase a phone number, full typed JSON success/error envelope.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
Это настоящий запрос — успешный вызов может списать средства с баланса или изменить реальную активацию.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getStatusV2
V2Новый
GET / POSTapi_get_status_v2_enabled
Activation status as JSON (verificationType + sms block).
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getPricesV3
V3Новый
GET / POSTapi_prices_v3_enabled
Price/count map with a per-provider price breakdown.
Принимает значения через запятую — эксклюзивная возможность Tiger SMS.
В отличие от всех остальных JSON-методов этого семейства, непредвиденная внутренняя ошибка здесь возвращает обычный текстовый ответ BAD_ACTION вместо тела JSON — это сделано намеренно, чтобы клиент, разбирающий JSON, никогда не получил недоформированное тело JSON.
Списки через запятую (скоро): срабатывают, когда service или country содержит запятую; каждый элемент валидируется так же, как одиночное значение, при этом каждый список ограничен 50 элементами, а всего допускается 100 комбинаций country×service.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getOffers
V3Новый
GET / POSTapi_offers_enabled
Combined price+stock showcase: default/avg/retail/min price, counts and the full price-bucket map, by service and country.
Requires the same price-bucket data as getFreePrices/getPricesV3 — when that data isn't available for this account, this method returns an empty `data: {}` rather than falling back to catalog prices.
There is no `counts.physical` field: our provider module does not currently expose a physical stock figure separate from `counts.total`, and this method does not invent one. It may be added later if that data becomes available.
Never exposes providers, cost, or purchase price — none of those exist in this response by design.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getServicesList
V1Новый
GET / POSTapi_catalog_enabled
Catalog of services (code + name), optionally localized.
Единственный сценарий сбоя этого метода — ответ 200 success с пустым списком services — отдельного ответа с ошибкой не предусмотрено.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getCountries
V1Новый
GET / POSTapi_catalog_enabled
Catalog of countries (id + localized names).
При непредвиденной ошибке возвращает пустой JSON-массив `[]` вместо ответа с ошибкой.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
getActiveActivations
V1Новый
GET / POSTapi_active_activations_enabled
List of currently active activations for the key owner.
Никогда не возвращает ошибку при непредвиденном сбое (та же логика, что у getServicesList/getCountries) — деградирует до пустого списка `data: []` со статусом всё ещё "success".
Значения activationStatus: 1=WAIT_CODE, 2=WAIT_ACCEPTING, 3=WAIT_NEXT_SMS, 6=OK, 7=REFUND, 8=CANCEL — эта нумерация специфична для нас и может отличаться от других SMS-API, которыми вы пользовались.
Войдите, чтобы выполнить этот запрос со своим собственным API-ключом.
ВходРегистрация
Все документированные ответы
Вебхук входящих SMS
Получайте входящие SMS сразу же на собственный HTTPS-эндпоинт, вместо опроса getStatus/getStatusV2.
Пример payload
POSTapplication/json
На каждый полученный сегмент SMS отправляется один POST-запрос на зарегистрированный вами URL. Принятым считается только ответ HTTP 200; редиректы не обрабатываются.
activationId Id активации — то же значение, что параметр `id` в getStatus/getStatusV2.
service Код сервиса в стиле sms_activate, для которого был куплен номер.
code Сегмент кода, извлечённый из SMS, то же значение, что getStatus возвращает после двоеточия.
text Полный текст SMS, если провайдер его предоставил, иначе совпадает с `code`.
country Числовой код страны (sms_activate_code), либо null, если у страны активации он не задан.
receivedAt Временная метка в формате ISO 8601 (UTC), когда было получено SMS.
Проверка подписи
X-SignatureHMAC-SHA256
HMAC-SHA256 в шестнадцатеричном виде от исходного тела JSON-запроса, с ключом — вашим webhook-секретом. Пересчитайте его так же на своей стороне и сравните, прежде чем доверять содержимому.
Политика повторных попыток
Всего до 3 попыток: интервалы между ними — 5с, затем 30с, затем 120с. Каждая попытка ограничена таймаутом 10с. Если проваливаются все попытки, событие тихо отбрасывается — очереди недоставленных сообщений или оповещений не предусмотрено.
Ваш эндпоинт должен быть публичным HTTPS-URL; приватные, loopback, link-local и прочие внутренние адреса отклоняются как при сохранении URL, так и при каждой попытке доставки (DNS повторно резолвится и фиксируется на каждый запрос, чтобы предотвратить DNS rebinding).
Секрет для подписи генерируется автоматически один раз и хранится для каждого аккаунта отдельно; он остаётся неизменным для всех доставок, пока служба поддержки его не сменит.