SMS.RU API: Следить за балансом и лимитами

Сценарий из mcp-everything. Актуально на 2026-10-24.

Не упереться в нулевой баланс или дневной лимит посреди рассылки.

  1. Проверь баланс: GET /my/balance. Если он меньше суммы предстоящей рассылки (её считает /sms/cost), пополни заранее.
  2. Проверь дневной лимит: GET /my/limit — total_limit и used_today (на сколько номеров уже отправлено сегодня). При превышении отправка вернёт 206.
  3. Узнай одобренные имена отправителей: GET /my/senders. Только их можно передавать в параметре from.
  4. Запускай проверку по расписанию и присылай себе предупреждение, когда баланс или запас лимита подходят к концу.
curl -G https://sms.ru/my/balance -d api_id=<api_id> -d json=1
curl -G https://sms.ru/my/limit -d api_id=<api_id> -d json=1
curl -G https://sms.ru/my/senders -d api_id=<api_id> -d json=1

Базовые URL

Авторизация

Тип: API-ключ

Рекомендуемый способ — параметр api_id (выдаётся на главной странице личного кабинета). Альтернатива — login (номер телефона) и password; в этом случае обязательно HTTPS.

Методы сценария

GET /sms/cost — Стоимость сообщений

В JSON-ответе: sms по номерам (cost, sms — число частей), total_cost, total_sms.

Параметр Где Тип Обяз. Описание
api_id query string да Ключ API
to query string да Номера через запятую, до 100; или to[номер]=текст
msg query string да Текст в UTF-8
multi query string нет Разные тексты на разные номера (до 100), вместо to и msg
json query integer нет 1 — ответ в JSON
from query string нет Имя отправителя
translit query integer нет 1 — транслитерация

Пример запроса:

https://sms.ru/sms/cost?api_id=[зарегистрируйтесь, чтобы получить api_id]&to=79255070602,74993221627&msg=hello+world&json=1

GET /my/balance — Баланс

Параметр Где Тип Обяз. Описание
api_id query string да Ключ API
json query integer нет 1 — ответ в JSON

Пример запроса:

https://sms.ru/my/balance?api_id=[зарегистрируйтесь, чтобы получить api_id]&json=1

GET /my/limit — Дневной лимит

В JSON-ответе: total_limit (дневной лимит), used_today (номеров, на которые уже отправлено сегодня).

Параметр Где Тип Обяз. Описание
api_id query string да Ключ API
json query integer нет 1 — ответ в JSON

Пример запроса:

https://sms.ru/my/limit?api_id=[зарегистрируйтесь, чтобы получить api_id]&json=1

GET /my/senders — Одобренные отправители

Параметр Где Тип Обяз. Описание
api_id query string да Ключ API
json query integer нет 1 — ответ в JSON

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://sms.ru/api Вся интеграция одним документом: https://mcp-everything.ru/integrations/sms-ru.md