SMS API позволяет отправлять и получать SMS-сообщения, а также получать отчёты о доставке и статистические данные. Решение легко интегрируется в любые бизнес-системы и подходит для уведомлений, подтверждений операций и маркетинговых рассылок.
SMS можно отправлять не только с использованием мобильного номера, но и от индивидуального имени, отражающего название компании. Отправка от согласованного операторами имени обеспечивает максимальную гарантию доставки сообщений и позволяет запускать шаблонные рассылки с кодами подтверждения, уведомлениями о доставке и финансовых операциях.
Примените этот метод для отправки SMS-сообщения c мобильного номера телефона или от имени отправителя (альфа-имени). Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Примечание Отправка SMS с городских (ABC) или с федеральных номеров 8-800 невозможна, а доставка рассылок с мобильных номеров не гарантирована операторами. Сообщения с максимальной вероятностью будут доставлены, если отправлять их от индивидуального буквенного или буквенно-цифрового имени. Такое имя отправителя могут зарегистрировать только юрлица и ИП. Узнать подробнее можно здесь.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/SendSMS
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя
Тип
Описание
Authorization
string
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр
Тип
Описание
number
string
номер отправителя / имя отправителя (альфа-имя)
destination
string
номер получателя
text
string
текст сообщения
Примечание С помощью имени отправителя возможно отправлять не только рекламные, но и шаблонированные SMS. Они поддерживают переменные — можно обратиться к клиенту по имени, сообщить номер заказа или сумму покупки. Такие сообщения стоят дешевле, чем рекламные. Узнать подробнее о шаблонах можно здесь
Для отправки шаблонированного SMS не нужно указывать идентификатор шаблона. Подходящий шаблон будет найден и использован во время отправки при условии согласования операторами и соответствия текста SMS шаблону. В выходных параметрах в таком случае будет указан идентификатор использованного шаблона.
Требования к оформлению шаблонов можно посмотреть здесь.
Во время тестового периода текст отправленного SMS (параметр text) автоматически меняется на «Это тестовое SMS от МТС Exolve. Подпишите договор, чтобы изменить текст на свой». Какие есть ограничения на тестовом аккаунте можно посмотреть здесь.
Выходные параметры
Параметр
Тип
Описание
message_id
string
идентификатор сообщения
template_resource_id
uint64
идентификатор шаблона, указывается при отправке шаблонированного SMS
Возможные ошибки
Код
Статус
Пример сообщения
Описание
400
Bad Request
unknown field
недопустимый параметр
400
Bad Request
syntax error
синтаксическая ошибка в запросе
400
Bad Request
invalid value
некорректное значение параметра
400
Bad Request
incorrect customer status
нет доступа к отправке сообщений, т.к. аккаунт не активирован или заблокирован
400
Bad Request
exceeded the limit of segments sms (maximum 10)
превышено макс. количество сегментов sms (10)
400
Bad Request
failed to get alpha_name info
ошибка получения информации об имени отправителя
400
Bad Request
fail to get number info/number does not belong to the client
номер не принадлежит пользователю
400
Bad Request
failed to get customer state
ошибка получения информации о клиенте
400
Bad Request
incorrect source
ошибка получения номера отправителя
400
Bad Request
destination is not permitted for delivery
номер получателя не разрешен для отправки сообщения
400
Bad Request
alpha name is not active
имя отправителя неактивно
400
Bad Request
can’t send message to this number. Failed to get hlr number info
ошибка получения информации о номере получателя
400
Bad Request
can’t send message to this number. Forbidden number operator
оператор получателя не согласован для имени отправителя
400
Bad Request
fail to get template info
ошибка получения информации об указанном шаблоне
400
Bad Request
Cannot send template SMS from this alpha name. Template does not belong to this alpha name
указанный шаблон не согласован для имени отправителя
400
Bad Request
Forbidden SMS sending. Destination operator not approved for template.
оператор получателя не согласован для указанного шаблона
400
Bad Request
text does not match the template
текст сообщения не соответствует указанному шаблону
400
Bad Request
Сannot send template SMS not with an alpha name"
отправить шаблонное сообщение можно только от имени отправителя
401
Unauthorized
authorization token is invalid
неверный api-токен авторизации
403
Forbidden
incorrect customer state
аккаунт не активирован или заблокирован
404
Not Found
page not found
некорректно введен URL-адрес запроса
404
Not Found
alpha_name not found
имя отправителя не найдено
404
Not Found
source number not found/not found source
номер отправителя не найден
404
Not Found
customer not found
данные клиента не найдены
404
Not Found
can’t send message to this number. Number does not exist
ошибка получения информации о номере получателя
404
Not Found
template not found
ошибка получения информации об указанном шаблоне
500
InternalServerError
Fail to send sms started
ошибка при попытке отправки сообщения
504
GatewayTimeout
alpha name api request timed out after 5 seconds/number api request timed out after 5 seconds
Примените этот метод для получения числа SMS-сообщений по заданным параметрам. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/GetCount
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя
Тип
Описание
Authorization
string
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Можно передать пустой запрос — тогда вы получите число всех SMS этого приложения без применения фильтров поиска.
Параметр
Тип
Описание
message_id
string
идентификатор сообщения (указывается, если нужна информация по одному сообщению)
limit
uint32
лимит выводимых строк
offset
uint64
номер строки, с которой начинать выборку (начинается с 0)
Примените метод GetList, чтобы получить информацию об исходящих и входящих сообщениях по заданным параметрам.
Точка подключения: Выполните POST-запрос с входными параметрами к точке подключения:
POST: https://api.exolve.ru/messaging/v1/GetList
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя
Тип
Описание
Authorization
string
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0, где e***s0 замените на API-ключ вашего приложения
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Можно передать пустой запрос — тогда вы получите информацию обо всех SMS этого приложения без применения фильтров поиска.
Параметр
Тип
Описание
message_id
int64
идентификатор сообщения (указывается, если нужна информация по одному сообщению)
limit
uint32
лимит выводимых строк, по умолчанию — 100, максимальное значение — 2 000
offset
uint64
номер строки, с которой начинать выборку (начинается с 0)
сортировка по дате отправки сообщения или по количеству сегментов (можно применить только один тип сортировки)
campaign_id
string
идентификатор рассылки, в рамках которой было отправлено сообщение
campaign_name
string
название рассылки, в рамках которой было отправлено сообщение
price_gte
float
стоимость сообщения, с которой начинать выборку сообщений
price_lte
float
стоимость сообщения, до которой продолжать выборку сообщений
MCC/MNC коды оператора
MCC (Mobile Country Code) — код страны, в которой находится оператор мобильной связи. Состоит из 3 цифр.
MNC (Mobile Network Code) — код мобильной сети (оператора), следует после MCC. Состоит из 2 или 3 цифр, уникален для каждого оператора он уникален.
Комбинация MCC + MNC + наименование оператора позволяет однозначно определить сеть. Эти коды унифицированы — вы можете воспользоваться любым справочником, чтобы найти нужный код.
Примените этот метод для получения списка созданных имен отправителя (альфа-имен). Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.
Для каждого оператора можно выбрать только одну категорию:
Авторизационные SMS содержат коды, пароли, логины и т.д.
Сервисные SMS уведомляют о доставке товара, напоминают о предстоящих мероприятиях или сообщают о результатах рассмотрения обращений
Транзакционные SMS используются для информирования пользователей об операциях с денежными средствами, либо о невозможности выполнения такой операции
Подробнее о требованиях к шаблонам можно прочитать здесь.
Выходные параметры
Параметр
Тип
Описание
template_resource_id
uint64
идентификатор шаблона
Примеры
Входные параметры:
{
"alpha_name": "SHOP",
"template_name": "Доставка заказа",
"template_text": "Заказ: %w{1,3} на сумму %d руб. Доставит курьер %w. Дата доставки: %w{1,2} с %d по %d",
"example_text": "Заказ: 1234 на сумму 1000 руб. Доставит курьер Олег. Дата доставки: 12 мая с 15:00 по 20:00",
"template_category": [
{
"template_category_type": 2, // сервисная
"operators": [
1, 3 // МТС, Билайн
]
},
{
"template_category_type": 1, // авторизационная
"operators": [
2 // МегаФон
]
}
]
}
Выходные параметры:
{
"template_resource_id": 132637
}
Метод GetTemplate
Примените этот метод для получения информации об SMS-шаблоне. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
{
"template": {
"resource_id": "132680",
"template_name": "Заказ принят",
"template_text": "Заказ: %w{1,n} %d на сумму %d руб принят. Планируемое время отгрузки в пункт выдачи: %d в интервале %d.",
"example_text": "Заказ: SV TRT 860700 на сумму 7700 руб принят. Планируемое время отгрузки в пункт выдачи: 07.11.19 в интервале 17:00-20:00.",
"alpha_name": "SHOP",
"alpha_name_resource_id": "132669",
"operators": [
{
"operator": 1,
"status": 1,
"template_category": 1
}
],
"history": [
{
"action": "МТС изменил статус на На согласовании",
"status": 1,
"action_date": "2023-10-30T16:36:36Z",
"comment": ""
}
],
"creation_date": "2023-10-30T16:36:32.671312Z"
}
}
Метод GetTemplates
Примените этот метод для получения информации обо всех SMS-шаблонах приложения. Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.