Миграция с 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.