Міграція з sms-activate.io: гайд на 5 хвилин

Якщо ви давно ганяєте скрипти проти sms-activate.io, у вас назбирався список претензій. У нас він теж був — тому ми й зробили Eveses.

Це не рекламний текст, а практичний гайд: як перевести бойовий код з sms-activate.io на Eveses приблизно за п'ять хвилин, не змінюючи застосунок. Шар сумісності справжній, вартість міграції чесна, а ризик низький — обох провайдерів можна тримати паралельно, доки не переконаєтесь.

Коротко

  1. Зареєструйтесь на eveses.com
  2. Створіть API-ключ у Account → API keys → Create
  3. Змініть BASE_URL з https://api.sms-activate.io на https://api.eveses.com
  4. Підставте новий API_KEY
  5. Задеплойте

Ось і все. Той самий протокол ?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
getNumbersStatuscountry{"tg_0":12,"wa_0":3}
getPricescountry?, service?{"0":{"tg":{"cost":0.50,"count":7}}}
getCountries—словник країн
getOperators—{"0":["any"]}
getNumber / getNumberV2service, country?, maxPrice?ACCESS_NUMBER:12345:79991234567
getStatusidSTATUS_WAIT_CODE · STATUS_OK:<code> · STATUS_CANCEL
setStatusid, 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.