SMSPush API позволяет автоматически отправлять SMS из вашего приложения, CRM или сайта. Интерфейс работает по протоколу HTTP, данные передаются в формате JSON с кодировкой UTF-8. Подключение бесплатное — никаких абонентских плат.
JSON API
Рекомендуемый метод. REST-запросы через HTTP POST с телом в формате JSON.
★ РекомендуетсяHTTP шлюз
Отправка запросов через HTTP GET/POST. Подходит для простых интеграций.
СтандартSMPP шлюз
Протокол SMPP v3.4 для высоконагруженных решений и телеком-интеграций.
Для операторов🔑 Базовый URL
Все запросы отправляются на следующий базовый адрес. Обязательная кодировка — UTF-8.
Аутентификация выполняется по протоколу OAuth 2.0 с использованием Bearer-токена. Токен необходимо получить в Личном кабинете в разделе «Профиль».
Как передавать токен
Добавьте токен в заголовок каждого HTTP-запроса:
Authorization: Bearer your_api_token_here
Лимит запросов: не более 9 запросов в секунду на одного пользователя. При превышении вернётся код 429.
Отправьте первое SMS за 3 шага: получите токен, задайте параметры, выполните запрос.
# Отправка SMS через cURL curl -X POST https://im.smspush.online/sms/send \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "phone": ["79991234567"], "message": "Ваш код подтверждения: 4821", "src_addr": "YourBrand" }'
// Отправка SMS на PHP $data = [ 'phone' => ['79991234567'], 'message' => 'Ваш код: 4821', 'src_addr' => 'YourBrand', ]; $ch = curl_init('https://im.smspush.online/sms/send'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data), CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer YOUR_TOKEN', 'Content-Type: application/json', ], ]); $response = json_decode(curl_exec($ch), true);
# Отправка SMS на Python import requests url = "https://im.smspush.online/sms/send" headers = { "Authorization": "Bearer YOUR_TOKEN", "Content-Type": "application/json" } data = { "phone": ["79991234567"], "message": "Ваш код: 4821", "src_addr": "YourBrand" } response = requests.post(url, json=data, headers=headers) print(response.json())
// Отправка SMS на JavaScript (fetch) const response = await fetch('https://im.smspush.online/sms/send', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json', }, body: JSON.stringify({ phone: ['79991234567'], message: 'Ваш код: 4821', src_addr: 'YourBrand', }), }); const data = await response.json();
Отправляет одно или несколько SMS. В одном запросе можно передать до 100 номеров.
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| phone | array | Да | Массив номеров телефонов. Формат: международный без «+» (например, 79991234567). Максимум 100 номеров в запросе. |
| message | string | Да | Текст SMS-сообщения. Кодировка UTF-8. Длина — до 160 символов (латиница) или 70 (кириллица) на одну часть. |
| src_addr | string | Да | Имя отправителя (Sender ID). Буквенно-цифровое, до 11 символов. Получите список активных имён через метод /sms/originator. |
| integration_id | string | Нет | Идентификатор интеграции. Указывать только при работе с реферальными программами. |
Пример запроса
{
"phone": ["79991234567", "79997654321"],
"message": "Скидка 20% только сегодня! Промокод: SALE20",
"src_addr": "YourBrand"
}
Пример ответа
{
"success_request": {
"info": {
"106": "79991234567",
"107": "79997654321"
}
}
}
В ответе: info — объект, где ключ — ID сообщения в системе SMSPush, значение — номер получателя. ID используется для запроса статуса.
Возвращает текущий статус одного или нескольких сообщений. Передайте массив ID, полученных при отправке. До 100 ID в одном запросе.
Пример запроса
{
"id_sms": ["106", "107"]
}
Пример ответа
{
"success_request": {
"info": {
"106": "DELIVRD",
"107": "ENROUTE"
}
}
}
Возвращает текущий баланс аккаунта. Тело запроса не требуется — достаточно заголовка авторизации.
{
"success_request": {
"info": {
"money": "1250.50",
"currency": "USD"
}
}
}
Возвращает список активных буквенно-цифровых имён отправителя, доступных для вашего аккаунта. Используйте значения из этого списка в параметре src_addr при отправке SMS.
{
"success_request": {
"info": [
"YourBrand",
"PROMO2024",
"MyCompany"
]
}
}
HTTP-код 200 означает успешный запрос. Статус самого сообщения возвращается в поле info.
При возникновении ошибки API возвращает соответствующий HTTP-статус код.
| Код | Описание | Решение |
|---|---|---|
| 400 | Входные данные не прошли валидацию | Проверьте формат параметров и кодировку UTF-8 |
| 401 | Пользователь не авторизован | Проверьте токен в заголовке Authorization |
| 429 | Превышен лимит запросов | Снизьте интенсивность запросов до 9/сек |
| 453 | Дублированные SMS за 2 минуты | Избегайте отправки одинакового текста одному номеру чаще раза в 2 минуты |
| 500+ | Внутренняя ошибка сервера | Повторите запрос через несколько секунд |
Помимо JSON API, поддерживаются дополнительные протоколы для специализированных интеграций. Для подключения обратитесь к нашему менеджеру.
JSON API
REST API с JSON-форматом. Рекомендован для веб-разработки, мобильных приложений и CRM-интеграций.
★ РекомендуетсяHTTP шлюз
GET/POST запросы без JSON. Подходит для простых скриптов и legacy-систем. Поддерживает UTF-8.
СтандартSMPP v3.4
Протокол для телеком-операторов и высоконагруженных систем с тысячами сообщений в секунду.
Для операторовГотовы подключить API?
Напишите нам — получите токен и начните отправлять SMS через API за 30 минут.