Документация API
Покупайте активации из своих программ. Есть два формата: простой REST API с JSON и API, совместимый с SMS-Activate, — программы, умеющие работать с SMS-Activate, подключаются заменой адреса и ключа.
Ключ API создаётся в профиль — доступен после первого пополнения баланса. Цены и баланс — в рублях. Не больше 20 запросов в секунду на ключ.
Выбор цены и страны
- У каждой страны несколько уровней цены: как правило, чем дороже, тем надёжнее.
- Без
max_price(maxPrice) покупается самый дешёвый уровень. С ним — самый дорогой (надёжный) уровень не дороже указанной цены. - Без страны — режим «Авто»: самая надёжная активация в ценовой категории среди всех стран.
- Если SMS не придёт, деньги вернутся на баланс сами (по истечении, при отмене или замене номера).
REST API
Адрес: https://shifrsms.store/api/v1. Ключ: Authorization: Bearer <key>
(или заголовок X-API-Key, или ?api_key=).
curl -X POST https://shifrsms.store/api/v1/orders \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"service": "tg", "max_price": 40}'
{"ok": true, "order": {"id": 1842, "status": "waiting", "phone": "6281244170935", "price": "35.00",
"currency": "RUB", "service": {"code": "tg", "name": "Telegram"},
"country": {"code": "6", "name": "Indonesia", "iso": "ID"}, "sms": [],
"expires_at": "2026-10-20T12:20:00Z", "cancel_available_at": "2026-10-20T12:02:00Z"}}
Статусы заказа: waiting, received, completed, cancelled, replaced, expired.
Ошибки: {"ok": false, "error": "NO_BALANCE", "message": "..."} — BAD_KEY, BAD_SERVICE, BAD_COUNTRY, NO_NUMBERS, NO_BALANCE, WRONG_MAX_PRICE, TOO_MANY_ACTIVE, RATE_LIMIT.
API, совместимый с SMS-Activate
Адрес: https://shifrsms.store/stubs/handler_api.php?api_key=KEY&action=...
— в программе замените адрес SMS-Activate на наш и укажите наш ключ. Коды сервисов и стран — как у SMS-Activate (где такого кода нет — наш: s123, c45; см. getServicesList и getCountries).
| action | Параметры | Ответ |
|---|---|---|
| getBalance | — | ACCESS_BALANCE:123.45 |
| getNumber | service, country*, maxPrice* | ACCESS_NUMBER:ID:PHONE, NO_NUMBERS, NO_BALANCE, BAD_SERVICE, WRONG_MAX_PRICE:min |
| getNumberV2 | service, country*, maxPrice* | JSON: activationId, phoneNumber, activationCost… |
| getStatus | id | STATUS_WAIT_CODE, STATUS_OK:CODE, STATUS_CANCEL |
| setStatus | id, status | 8 — отмена (ACCESS_CANCEL / EARLY_CANCEL_DENIED), 6 — завершить (ACCESS_ACTIVATION), 3 — ещё SMS (ACCESS_RETRY_GET), 1 — ACCESS_READY |
| getActiveActivations | — | JSON |
| getPrices | service*, country* | JSON {country: {service: {cost, count}}} |
| getCountries | — | JSON |
| getServicesList | — | JSON |
* — необязательно. Без страны — режим «Авто».
GET https://shifrsms.store/stubs/handler_api.php?api_key=KEY&action=getNumber&service=tg&country=6 ACCESS_NUMBER:1842:6281244170935 GET https://shifrsms.store/stubs/handler_api.php?api_key=KEY&action=getStatus&id=1842 STATUS_OK:51824