Міграція з sms-activate.io: гайд на 5 хвилин
Якщо ви давно ганяєте скрипти проти sms-activate.io, у вас назбирався список претензій. У нас він теж був — тому ми й зробили Eveses.
Це не рекламний текст, а практичний гайд: як перевести бойовий код з sms-activate.io на Eveses приблизно за п'ять хвилин, не змінюючи застосунок. Шар сумісності справжній, вартість міграції чесна, а ризик низький — обох провайдерів можна тримати паралельно, доки не переконаєтесь.
Коротко
- Зареєструйтесь на eveses.com
- Створіть API-ключ у Account → API keys → Create
- Змініть
BASE_URLзhttps://api.sms-activate.ioнаhttps://api.eveses.com - Підставте новий
API_KEY - Задеплойте
Ось і все. Той самий протокол ?api_key=…&action=… працює без змін.
Що означає «сумісний»
Eveses віддає sms-activate-сумісний шлюз за тим самим легасі-шляхом:
https://api.eveses.com/stubs/handler_api.php?api_key=<key>&action=getNumber&service=tg&country=0
(Є й аліас https://api.eveses.com/api/gateway/sms-activate.)
Він говорить тим самим протоколом, який ви вже інтегрували: ті самі параметри,
ті самі bare-text та JSON-відповіді — ACCESS_NUMBER:<id>:<phone>,
STATUS_OK:<code>, ACCESS_BALANCE:42.50 тощо. Ваш цикл
getNumber → getStatus → setStatus працює як був.
Міграція за 5 хвилин, покроково
Типове «до/після». Змінюються лише базовий URL і ключ:
# до
- curl "https://api.sms-activate.io/stubs/handler_api.php?api_key=OLD&action=getNumber&service=tg&country=0"
# після
+ curl "https://api.eveses.com/stubs/handler_api.php?api_key=NEW&action=getNumber&service=tg&country=0"
Проженіть свій набір тестів проти нового URL. Старого провайдера можна лишити в конфізі й викочуватись поступово — направте 5% трафіку на Eveses, погляньте на відсоток доставки, а тоді доведіть до 100%.
Довідник action
| action | параметри | відповідь |
|---|---|---|
getBalance | — | ACCESS_BALANCE:42.50 |
getNumbersStatus | country | {"tg_0":12,"wa_0":3} |
getPrices | country?, service? | {"0":{"tg":{"cost":0.50,"count":7}}} |
getCountries | — | словник країн |
getOperators | — | {"0":["any"]} |
getNumber / getNumberV2 | service, country?, maxPrice? | ACCESS_NUMBER:12345:79991234567 |
getStatus | id | STATUS_WAIT_CODE · STATUS_OK:<code> · STATUS_CANCEL |
setStatus | id, status (1=готово, 3=повтор, 6=завершити, 8=скасувати) | ACCESS_ACTIVATION |
getActiveActivations | — | JSON-список ваших активних активацій |
Оренда та мульти-сервіс (getRentNumber, getMultiServiceNumber, …)
шлюзом поки не маршрутизуються й повертають BAD_ACTION.
Приємна частина: що ви отримуєте
Шлюз — це в'їзд, а не кінцева точка. Уже на Eveses можна у своєму темпі переходити на сучасний інтерфейс:
- Типізовані SDK для JavaScript, Python, Go і PHP — одна інсталяція, увесь API.
- Вебхуки замість поллінгу — код прилітає в мить отримання.
- Ключі ідемпотентності — повторна купівля не спише двічі.
- Автоповернення, коли на номер так і не прийшов код.
- MCP-сервер — Claude, Cursor чи будь-який AI-агент можуть купувати номери й читати коди нативно.
Нативний шлях — POST /api/v1/numbers/orders/batch + вебхук — поруч, коли
будете готові. Див. довідник API.
Чесна частина: у чому різниця
ID країн і коди сервісів на шлюзі слідують конвенції sms-activate, тож ваші маппінги переносяться. Ціна співставна й стартує приблизно від $0.05 за код; а оскільки Eveses автоматично повертає кошти за невдачі, ефективна ціна за доставлений код часто нижча. Поповнення гаманця — крипта (через Heleket) або картка, без KYC.
Працюйте паралельно
Не обов'язково перемикатися разом. Лишіть sms-activate.io як запасний, пустіть частину трафіку на Eveses і порівняйте доставку на реальному обсязі, перш ніж коммітитись. Переконались — міняйте провайдера за замовчуванням.
Готові?
Створіть акаунт, отримайте ключ і поміняйте два рядки. Повне порівняння: Eveses vs SMS-Activate.