# SMSC.ru HTTP API: Следить за балансом

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

Не остаться без денег посреди рассылки.

1. Запроси баланс: GET /sys/balance.php с fmt = 3. С cur = 1 вернётся валюта счёта и кредит, если он есть.
2. Перед большой рассылкой посчитай её стоимость тем же запросом на отправку с cost = 1 и сравни с балансом.
3. Баланс можно запрашивать не чаще 10 раз в минуту — проверяй его по расписанию, а не перед каждым сообщением.

```bash
curl -G https://smsc.ru/sys/balance.php -d login=<логин> -d psw=<пароль> -d fmt=3
```

## Базовые URL

- Боевой: `https://smsc.ru`
- Резервный: `https://www2.smsc.ru`

## Авторизация

Тип: API-ключ

Параметры `login` и `psw` (пароль создаётся или меняется на странице паролей в кабинете) либо `apikey` вместо пары логин/пароль. Если в кабинете задан список разрешённых IP, запросы с других адресов отклоняются с ошибкой 2.

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

### GET /sys/balance.php — Баланс

Ответ при `fmt=3`: `balance`; при `cur=1` и ненулевом кредите — `credit`, `currency`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `login` | query | string | да | Логин (или apikey) |
| `psw` | query | string | да | Пароль |
| `cur` | query | integer | нет | Вернуть валюту счёта |
| `fmt` | query | integer | нет | 0/1 строка, 2 XML, 3 JSON |

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

```
https://smsc.ru/sys/balance.php?login=<login>&psw=<password>
```

## Нюансы

- Одно SMS — 160 латинских или 70 кириллических символов; в составных — 153 и 67.
- Ошибка при `fmt=0` — `ERROR = N (описание)`, при `fmt=1` — `0,-N`, при `fmt=3` — `{"error": "...", "error_code": N}`; для ошибок 3, 6, 7, 8 дополнительно возвращается `id`.
- Префиксы в тексте: `__PING__`, `__CALL__`, `__HLR__`, `__auth__`.
- Другие скрипты: `/sys/templates.php` (шаблоны), `/sys/op_templates.php` (шаблоны операторов), `/sys/jobs.php` (рассылки), `/sys/ping.php` (уведомления).

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

- [Отправить SMS и узнать стоимость](https://mcp-everything.ru/integrations/smsc/scenarios/otpravit-sms-i-uznat-stoimost.md)
- [Проверить статус доставки](https://mcp-everything.ru/integrations/smsc/scenarios/proverit-status-dostavki.md)
- [Подтвердить номер через Mobile ID](https://mcp-everything.ru/integrations/smsc/scenarios/podtverdit-nomer-cherez-mobile-id.md)

---

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