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