SMS API — это определенный программный интерфейс, который позволяет приложениям отправлять SMS-сообщения.
Поскольку инфраструктуры для SMS-коммуникаций и Интернета в основном разделены, SMS API-интерфейсы часто используются для «преодоления разрыва» между сетями операторов связи и более широкой сетью. SMS API-интерфейсы используются, чтобы позволить веб-приложениям легко отправлять и получать текстовые сообщения с помощью логики, написанной для стандартных веб-фреймворков.
Также SMS API позволяет создавать сервисные SMS-рассылки на базе шаблонов. Такие рассылки информируют клиентов о статусе оказания им сервиса или услуги. Подробнее о шаблонах SMS вы можете узнать в нашей FAQ статье.
SMS API Exolve предлагает пользователям следующие методы для работы:
-
SendSMS - отправляет SMS-сообщение;
-
GetList - получает данные об отправленных и полученных SMS-сообщениях;
-
GetCount - получает количество отправленных и полученных SMS-сообщений по заданным параметрам;
-
GetAlphaNames - получает список всех созданных имён отправителя (альфа-имен);
-
CreateTemplate - создаёт SMS-шаблон;
-
GetTemplate - получает информацию об одном SMS-шаблоне;
-
GetTemplates - получает информацию обо всех SMS-шаблонах.
Решения, где используется SMS API
Попробовать бесплатно
Метод SendSMS
Примените этот метод для отправки 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 |
текст сообщения |
template_resource_id |
uint64 |
идентификатор ресурса шаблона |
Примечание
С помощью персонального имени возможно отправлять не только рекламные, но и шаблонированные SMS. Они поддерживают переменные — можно обратиться к клиенту по имени, сообщить номер заказа или сумму покупки. Такие сообщения стоят дешевле, чем рекламные. Узнать подробнее о шаблонах можно здесь
Выходные параметры
Параметр |
Тип |
Описание |
message_id |
string |
идентификатор сообщения |
Возможные ошибки
Код |
Статус |
Пример сообщения |
Описание |
404 |
Not Found |
page not found |
некорректно введен URL-адрес запроса |
401 |
Unauthorized |
authorization token is invalid |
неправильно указан токен (API-ключ приложения) |
400 |
Bad Request |
unknown field |
невалидный параметр |
400 |
Bad Request |
syntax error |
синтаксическая ошибка |
400 |
Bad Request |
invalid value |
невалидное значение в параметре |
400 |
Bad Request |
fail to get number info/number does not belong to the client |
номер не принадлежит пользователю |
400 |
Bad Request |
exceeded the limit of segments sms (maximum 10) |
превышено количество сегментов в сообщении, максимум — 10 сегментов |
400 |
Bad Request |
destination is not permitted for delivery |
отправка сообщения с неактивированного аккаунта на неподтверждённый номер |
400 |
Bad Request |
incorrect customer status |
нет доступа к отправке сообщений, т.к. аккаунт не активирован или заблокирован |
Примеры
Входные параметры:
{
"number": "79991112233",
"destination": "79992223344",
"text": "Test message"
}
{
"number": "AlfaName",
"destination": "79992223344",
"text": "Test message",
"template_resource_id": 136519
}
Выходные параметры:
{
"message_id": "439166538239448536"
}
Метод GetCount
Примените этот метод для получения числа 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) |
number |
string |
номер телефона / имя отправителя (альфа-имя) |
direction |
enum Direction |
направление сообщения |
delivery_status |
enum DeliveryStatus |
статус доставки сообщения |
billing_status |
enum BillingStatus |
статус оплаты сообщения |
status |
enum Status |
(объединяет в себе доставку и оплату) |
date_gte |
string |
дата в формате RFC-3339 / ISO-8601, с которой начинать выборку сообщений |
date_lte |
string |
дата в формате RFC-3339 / ISO-8601, до которой продолжать выборку сообщений |
Direction
Параметр |
Тип |
Описание |
1 |
string |
входящее сообщение |
2 |
string |
исходящее сообщение |
DeliveryStatus
Параметр |
Тип |
Описание |
1 |
string |
сообщение поставлено в очередь на отправку |
2 |
string |
сообщение доставлено в SMS-центр |
3 |
string |
сообщение доставлено получателю |
4 |
string |
сообщение не может быть доставлено получателю |
5 |
string |
ошибка — закончились попытки переотправки сообщения |
6 |
string |
приём и отправка сообщений заблокированы |
BillingStatus
Параметр |
Тип |
Описание |
1 |
string |
сообщение поставлено в очередь на обработку и оплату |
2 |
string |
сообщение оплачено |
4 |
string |
недостаточно средств на балансе для отправки сообщения |
6 |
string |
ошибка оплаты сообщения |
7 |
string |
плата за сообщение зарезервирована |
8 |
string |
ошибка — закончились попытки оплаты сообщения |
Status
Параметр |
Тип |
Описание |
1 |
string |
сообщение в очереди на отправку |
2 |
string |
сообщение отправлено |
3 |
string |
сообщение доставлено |
4 |
string |
не удалось отправить сообщение |
5 |
string |
недостаточно средств на балансе для отправки сообщения |
6 |
string |
прием и отправка сообщений заблокированы |
Выходные параметры
Параметр |
Тип |
Описание |
count |
int64 |
количество сообщений |
Возможные ошибки
Код |
Статус |
Пример сообщения |
Описание |
404 |
Not Found |
page not found |
некорректно введен URL-адрес запроса |
401 |
Unauthorized |
authorization token is invalid |
неправильно указан токен (API-ключ приложения) |
400 |
Bad Request |
unknown field |
невалидный параметр |
400 |
Bad Request |
syntax error |
синтаксическая ошибка |
400 |
Bad Request |
invalid value |
невалидное значение в параметре |
Примеры
Входные параметры:
{
"message_id": "444067567615608452",
"limit": "10000",
"offset": "0",
"number": "79678880033",
"direction": "2",
"delivery_status": "3",
"billing_status": "2",
"status":"3",
"date_gte":"2023-01-20T11:30:01.335Z",
"date_lte":"2023-01-20T11:39:01.335Z"
}
Выходные параметры:
Метод GetList
Примените этот метод для получения информации об SMS-сообщениях по заданным параметрам. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/GetList
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Можно передать пустой запрос — тогда вы получите информацию обо всех SMS этого приложения без применения фильтров поиска.
Параметр |
Тип |
Описание |
message_id |
string |
уникальный идентификатор сообщения (указывается, если нужна информация по одному сообщению) |
limit |
uint32 |
лимит выводимых строк |
offset |
uint64 |
номер строки, с которой начинать выборку (начинается с 0) |
number |
string |
номер телефона / имя отправителя |
direction |
enum Direction |
направление сообщения |
delivery_status |
enum DeliveryStatus |
статус доставки сообщения |
billing_status |
enum BillingStatus |
статус оплаты сообщения |
status |
enum Status |
(объединяет в себе доставку и оплату) |
date_gte |
string |
дата в формате RFC-3339 / ISO-8601, с которой начинать выборку сообщений |
date_lte |
string |
дата в формате RFC-3339 / ISO-8601, до которой продолжать выборку сообщений |
sort |
Array OrderBy |
сортировка по дате отправки сообщения или по количеству сегментов (можно применить только один тип сортировки) |
receiver_mcc |
string |
MCC-код оператора получателя сообщения, формат: 250 |
receiver_mnc |
string |
MNC-код оператора получателя сообщения, формат: 42 |
receiver_mobile_operator |
string |
оператор получателя сообщения, формат: MTT |
category |
enum CategoryType |
категория сообщения, подробнее |
receiver |
string |
номер получателя сообщения |
MCC/MNC коды оператора
- MCC (Mobile Country Code) — код страны, в которой находится оператор мобильной связи. Состоит из 3 цифр.
- MNC (Mobile Network Code) — код мобильной сети (оператора), следует после MCC. Состоит из 2 или 3 цифр, уникален для каждого оператора он уникален.
Комбинация MCC + MNC + наименование оператора позволяет однозначно определить сеть. Эти коды унифицированы — вы можете воспользоваться любым справочником, чтобы найти нужный код.
CategoryType
Параметр |
Тип |
Описание |
0 |
string |
категория не указана |
1 |
string |
сообщение с мобильного номера |
2 |
string |
рекламное сообщение от имени отправителя |
3 |
string |
авторизационное сообщение от имени отправителя |
4 |
string |
сервисное сообщение от имени отправителя |
5 |
string |
транзакционное сообщение от имени отправителя |
OrderBy
Параметр |
Тип |
Описание |
order_by_date |
Array OrderByDate |
сортировка по дате отправки |
order_by_segments_count |
Array OrderBySegmentsCount |
сортировка по количеству сегментов в сообщении |
OrderByDate/OrderBySegmentsCount
Параметр |
Тип |
Описание |
1 |
enum |
ascending order (по возрастанию) |
2 |
enum |
descending order (по убыванию) — по умолчанию для даты |
Выходные параметры
Параметр |
Тип |
Описание |
messages |
JSON Array |
список сообщений |
message_id |
int64 |
уникальный идентификатор сообщения |
application_uuid |
string |
уникальный идентификатор приложения, через которое отправляли / получали сообщения |
date |
string |
дата отправки / получения сообщения в формате RFC-3339 / ISO-8601 |
number |
string |
номер телефона / имя отправителя |
sender |
string |
номер отправителя / имя отправителя |
receiver |
string |
номер получателя |
text |
string |
текст сообщения |
direction |
enum Direction |
направление сообщения |
segments_count |
uint32 |
количество сегментов в сообщении |
billing_status |
enum BillingStatus |
статус оплаты сообщения |
delivery_status |
enum DeliveryStatus |
статус доставки сообщения |
channel |
enum |
канал, в котором отправлено или получено сообщение |
status |
enum Status |
общий статус, объединяет в себе статус доставки и оплаты сообщения |
category |
enum CategoryType |
категория сообщения, подробнее |
sender_mobile_operator |
string |
оператор отправителя сообщения, формат: MTT |
sender_mcc |
string |
MCC-код оператора отправителя сообщения, формат: 250 |
sender_mnc |
string |
MNC-код оператора отправителя сообщения, формат 42 |
receiver_mobile_operator |
string |
оператор получателя сообщения, формат: MTT |
receiver_mcc |
string |
MCC-код оператора получателя сообщения, формат: 250 |
receiver_mnc |
string |
MNC-код оператора получателя сообщения, формат: 42 |
Direction
Параметр |
Тип |
Описание |
1 |
string |
входящее сообщение |
2 |
string |
исходящее сообщение |
BillingStatus
Параметр |
Тип |
Описание |
1 |
string |
сообщение поставлено в очередь на обработку и оплату |
2 |
string |
сообщение оплачено |
4 |
string |
недостаточно средств на балансе для отправки сообщения |
6 |
string |
ошибка оплаты сообщения |
7 |
string |
плата за сообщение зарезервирована |
8 |
string |
ошибка — закончились попытки оплаты сообщения |
DeliveryStatus
Параметр |
Тип |
Описание |
1 |
string |
сообщение поставлено в очередь на отправку |
2 |
string |
сообщение доставлено в SMS-центр |
3 |
string |
сообщение доставлено получателю |
4 |
string |
сообщение не может быть доставлено получателю |
5 |
string |
ошибка — закончились попытки переотправки сообщения |
6 |
string |
приём и отправка сообщений заблокированы |
Status
Параметр |
Тип |
Описание |
1 |
string |
сообщение в очереди на отправку |
2 |
string |
сообщение отправлено |
3 |
string |
сообщение доставлено |
4 |
string |
не удалось отправить сообщение |
5 |
string |
недостаточно средств на балансе для отправки сообщения |
6 |
string |
прием и отправка сообщений заблокированы |
Возможные ошибки
Код |
Статус |
Пример сообщения |
Описание |
404 |
Not Found |
page not found |
некорректно введен URL запроса |
401 |
Unauthorized |
authorization token is invalid |
неправильно указан токен (API-ключ приложения) |
400 |
Bad Request |
unknown field |
невалидный параметр |
400 |
Bad Request |
syntax error |
синтаксическая ошибка |
400 |
Bad Request |
invalid value |
невалидное значение в параметре |
Примеры
Входные параметры:
{
"message_id": "444067567615608452",
"limit": "10000",
"offset": "0",
"number": "79678880033",
"direction": "2",
"delivery_status": "3",
"billing_status": "2",
"status":"3",
"date_gte":"2023-01-20T11:30:01.335Z",
"date_lte":"2023-01-20T11:39:01.335Z",
"sort": {
"order_by_segments_count": 1
},
"receiver_mobile_operator": "MTT",
"receiver_mcc": "250",
"receiver_mnc": "42",
"category ": "1",
"receiver": "79678880033"
}
Выходные параметры:
{
"messages": [
{
"message_id": "444067567615608452",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-01-20T11:35:01.335Z",
"number": "79679990044",
"sender": "79679990044",
"receiver": "79678880033",
"text": "Test message",
"direction": 2,
"segments_count": 1,
"billing_status": 2,
"delivery_status": 3,
"channel": 1,
"status": 3,
"category ": "1",
"receiver_mobile_operator": "MTT",
"receiver_mcc": "250",
"receiver_mnc": "42"
}
]
}
Метод GetAlphaNames
Примените этот метод для получения списка созданных имен отправителя (альфа-имен). Для этого выполните POST запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/GetAlphaNames
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте пустой JSON.
Выходные параметры
Параметр |
Тип |
Описание |
alpha_names |
array AlphaName |
список всех имен отправителя (альфа-имен) |
AlphaName
Параметр |
Тип |
Описание |
resource_id |
uint64 |
уникальный идентификатор имени отправителя (альфа-имени) |
name |
string |
имя отправителя (альфа-имя) |
status |
enum AlphaNameStatus |
статус имени отправителя (альфа-имени) |
operators |
array AlphaNameOperator |
статусы согласования имён отправителя (альфа-имён) с операторами |
activation_date |
string |
дата активации имени отправителя (альфа-имени) в формате RFC-3339 / ISO-8601 |
AlphaNameStatus
Параметр |
Тип |
Описание |
1 |
enum |
имя отправителя (альфа-имя) активно и готово к использованию |
2 |
enum |
имя отправителя (альфа-имя) неактивно |
3 |
enum |
имя отправителя (альфа-имя) отключено |
AlphaNameOperator
Параметр |
Тип |
Описание |
operator |
enum Operator |
имя оператора |
status |
enum ApprovalStatus |
статус согласования имя отправителя (альфа-имени) с оператором |
subscription_fee |
float |
абонентская плата |
Operator
Параметр |
Тип |
Описание |
0 |
enum |
нет имени оператора |
1 |
enum |
МТС |
2 |
enum |
Мегафон |
3 |
enum |
Билайн |
4 |
enum |
Теле2 |
5 |
enum |
Смартс |
6 |
enum |
Ростелеком |
ApprovalStatus
Параметр |
Тип |
Описание |
0 |
enum |
статус согласования неизвестен |
1 |
enum |
имя отправителя (альфа-имя) на согласовании у оператора |
2 |
enum |
имя отправителя (альфа-имя) согласовано с оператором |
3 |
enum |
имя отправителя (альфа-имя) отклонено оператором |
4 |
enum |
имя отправителя (альфа-имя) отключено |
Пример
Входные параметры:
Выходные параметры:
{
"alpha_names": [
{
"resource_id": "113441",
"name": "Test1",
"status": 2, // неактивно
"operators": [
{
"operator": 1, // МТС
"status": 1 // на согласовании
}
]
},
{
"resource_id": "113440",
"name": "Test2",
"status": 1, // активно
"operators": [
{
"operator": 1, // МТС
"status": 2, // согласовано
"subscription_fee": 2500
},
{
"operator": 2, // Мегафон
"status": 3 // отклонено
}
],
"activation_date": "2023-07-25T12:56:48.890632Z"
}
]
}
Метод CreateTemplate
Примените этот метод для создания SMS-шаблона. Для этого выполните POST-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/CreateTemplate
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр |
Тип |
Описание |
template_name |
string |
название шаблона |
alpha_name |
string |
имя отправителя (альфа-имя) |
template_text |
string |
текст шаблона |
example_text |
string |
пример текста шаблона |
template_category |
enum TemplateCategory |
категория шаблона |
TemplateCategory
Параметр |
Тип |
Описание |
category_type |
enum CategoryType |
тип шаблона |
operators |
enum Operators |
операторы связи |
CategoryType
Параметр |
Тип |
Описание |
1 |
enum |
авторизационный |
2 |
enum |
сервисный |
3 |
enum |
транзакционный |
Operators
Параметр |
Тип |
Описание |
1 |
enum |
МТС |
2 |
enum |
МегаФон |
3 |
enum |
Билайн |
4 |
enum |
Теле2 |
6 |
enum |
Ростелеком |
Соотношение категорий к операторам
|
Авторизационный |
Сервисный |
Транзакционный |
МТС |
✅ |
✅ |
✅ |
МегаФон |
✅ |
✅ |
✅ |
Билайн |
❌ |
✅ |
✅ |
Tele2 |
❌ |
✅ |
✅ |
Ростелеком |
❌ |
✅ |
✅ |
Для каждого оператора можно выбрать только одну категорию:
- Авторизационными признаются SMS, содержащие коды, пароли, логины, OTP (one-time password — одноразовые пароли) и т.д.
- Сервисные SMS, как правило, уведомляют о доставке товара, напоминают о предстоящих мероприятиях или информируют о результатах рассмотрения обращений. Исключение — Tele2. Сервисное (идентификационное) SMS абонентам Tele2 должно содержать коды, пароли и логины для прохождения авторизации, верификации, подтверждения каких-либо действий или предоставления согласий.
- Транзакционные 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-запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/GetTemplate
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие параметры в теле запроса в JSON-формате. Параметры, отмеченные жирным шрифтом, являются обязательными.
Параметр |
Тип |
Описание |
template_resource_id |
int64 |
идентификатор шаблона |
Выходные параметры
Параметр |
Тип |
Описание |
template |
Template |
данные о шаблоне |
Template
Параметр |
Тип |
Описание |
resource_id |
uint64 |
идентификатор шаблона |
template_name |
string |
название шаблона |
template_text |
string |
текст шаблона |
example_text |
string |
пример текста шаблона |
alpha_name |
string |
имя отправителя (альфа-имя) |
alpha_name_resource_id |
uint64 |
идентификатор имени отправителя (альфа-имени) |
operators |
TemplateOperators |
данные по операторам и категориям шаблона |
history |
TemplateHistory |
история согласования шаблона у операторов |
creation_date |
string |
дата создания в формате RFC-3339 / ISO-8601 |
TemplateOperators
Параметр |
Тип |
Описание |
operator |
enum Operator |
название оператора |
status |
enum Status |
статус согласования у оператора |
template_category |
enum Category |
категория шаблона |
Operator
Параметр |
Тип |
Описание |
1 |
enum |
МТС |
2 |
enum |
Мегафон |
3 |
enum |
Билайн |
4 |
enum |
Теле2 |
6 |
enum |
Ростелеком |
Status
Параметр |
Тип |
Описание |
1 |
enum |
на согласовании |
2 |
enum |
согласован |
3 |
enum |
отклонён |
4 |
enum |
отключён |
Category
Параметр |
Тип |
Описание |
1 |
enum |
авторизационый |
2 |
enum |
сервисный |
3 |
enum |
транзакционный |
TemplateHistory
Параметр |
Тип |
Описание |
action |
string |
действие |
status |
enum Status |
статус согласования у оператора |
action_date |
string |
дата действия в формате RFC-3339 / ISO-8601 |
comment |
string |
комментарий к действию |
Примеры
Входные параметры:
{
"template_resource_id": "132680"
}
Выходные параметры:
{
"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 запрос с входными параметрами к точке подключения, указанными ниже.
Точка подключения:
POST: https://api.exolve.ru/messaging/v1/GetTemplates
Авторизация
Передайте следующие Заголовки HTTP для успешной авторизации.
Имя |
Тип |
Описание |
Authorization |
string |
API-ключ приложения с Bearer перед ним. Пример: Bearer e***s0 , где e***s0 замените на API-ключ вашего приложения |
Входные параметры
Передайте следующие необязательные параметры в теле запроса в JSON-формате.
Параметр |
Тип |
Описание |
limit |
uint64 |
лимит выводимых строк |
offset |
uint64 |
номер строки, с которой начинать выборку (начинается с 0) |
Выходные параметры
Параметр |
Тип |
Описание |
templates |
Templates |
массив с данными о шаблонах |
Templates
Параметр |
Тип |
Описание |
resource_id |
uint64 |
идентификатор шаблона |
template_name |
string |
название шаблона |
template_text |
string |
текст шаблона |
alpha_name |
string |
имя отправителя (альфа-имя) |
alpha_name_resource_id |
uint64 |
идентификатор имени отправителя (альфа-имени) |
operators |
TemplateOperators |
данные по операторам и категориям шаблона |
creation_date |
string |
дата создания в формате RFC-3339 / ISO-8601 |
TemplateOperators
Параметр |
Тип |
Описание |
operator |
enum Operator |
название оператора |
status |
enum Status |
статус согласования у оператора |
template_category |
enum Category |
категория шаблона |
Operator
Параметр |
Тип |
Описание |
1 |
enum |
МТС |
2 |
enum |
Мегафон |
3 |
enum |
Билайн |
4 |
enum |
Теле2 |
6 |
enum |
Ростелеком |
Status
Параметр |
Тип |
Описание |
1 |
enum |
на согласовании |
2 |
enum |
согласован |
3 |
enum |
отклонён |
4 |
enum |
отключён |
Category
Параметр |
Тип |
Описание |
1 |
enum |
авторизационый |
2 |
enum |
сервисный |
3 |
enum |
транзакционный |
Примеры
Входные параметры:
Выходные параметры:
{
"templates":[
{
"resource_id": "132680",
"template_name": "Заказ принят",
"template_text": "Заказ: %w{1,n} %d на сумму %d руб принят. Планируемое время отгрузки в пункт выдачи: %d в интервале %d.",
"alpha_name": "SHOP",
"alpha_name_resource_id": "132669",
"operators": [
{
"operator": 1,
"status": 1,
"template_category": 1
}
],
"creation_date": "2023-10-30T16:36:32.671312Z"
},
{
"resource_id": "132683",
"template_name": "Доставка заказа",
"template_text": "Заказ: %w{1,3} на сумму %d руб. Доставит курьер %w. Дата доставки: %w{1,2} с %d по %d",
"alpha_name": "SHOP",
"alpha_name_resource_id": "132669",
"operators": [
{
"operator": 2,
"status": 1,
"template_category": 3
},
{
"operator": 3,
"status": 1,
"template_category": 3
}
],
"creation_date": "2023-10-30T16:36:32.671312Z"
},
]
}
Параметры уведомлений о входящих и исходящих сообщениях
Параметр |
Тип |
Описание |
event_id |
uint64 |
уникальный идентификатор события (отправка или получение SMS) |
message_id |
uint64 |
уникальный идентификатор сообщения |
application_id |
string |
уникальный идентификатор приложения, через которое прошло сообщение |
date |
string |
дата отправки / получения сообщения в формате RFC-3339 / ISO-8601 |
sender |
string |
номер отправителя / имя отправителя (альфа-имя) сообщения |
receiver |
string |
номер получателя сообщения |
text |
string |
текст сообщения |
direction |
enum Direction |
направление сообщения |
segments_count |
uint32 |
количество сегментов в сообщении |
billing_status |
enum BillingStatus |
статус оплаты сообщения |
delivery_status |
enum DeliveryStatus |
статус доставки сообщения |
status |
enum Status |
общий статус сообщения (объединяет в себе доставку и оплату) |
message_channel |
enum MessageChannel |
канал, в котором отправлено или получено сообщение |
Direction
Параметр |
Тип |
Описание |
DIRECTION_INCOMING |
string |
входящее сообщение |
DIRECTION_OUTGOING |
string |
исходящее сообщение |
BillingStatus
Параметр |
Тип |
Описание |
BILLING_STATUS_PREBILLED |
string |
сообщение поставлено в очередь на обработку и оплату |
BILLING_STATUS_BILLED |
string |
сообщение оплачено |
BILLING_STATUS_UNDERFUNDED |
string |
недостаточно средств на балансе для отправки сообщения |
BILLING_STATUS_FAILED |
string |
ошибка оплаты сообщения |
BILLING_STATUS_AUTHORIZED |
string |
плата за сообщение зарезервирована |
BILLING_STATUS_RETRIES_EXCEEDED |
string |
ошибка — закончились попытки переотправки сообщения |
DeliveryStatus
Параметр |
Тип |
Описание |
DELIVERY_STATUS_QUEUED |
string |
сообщение поставлено в очередь на отправку |
DELIVERY_STATUS_TRANSMITTED |
string |
сообщение передано в SMS-центр |
DELIVERY_STATUS_DELIVERED |
string |
сообщение доставлено получателю |
DELIVERY_STATUS_FAILED |
string |
сообщение не может быть доставлено получателю |
DELIVERY_STATUS_RETRIES_EXCEEDED |
string |
ошибка — закончились попытки переотправки сообщения |
DELIVERY_STATUS_PROHIBITED |
string |
приём и отправка сообщений заблокированы |
Status
Параметр |
Тип |
Описание |
STATUS_QUEUED |
string |
сообщение в очереди на отправку |
STATUS_TRANSMITTED |
string |
сообщение отправлено в SMS-центр |
STATUS_DELIVERED |
string |
сообщение доставлено получателю |
STATUS_FAILED |
string |
не удалось отправить сообщение |
STATUS_UNDERFUNDED |
string |
недостаточно средств на балансе для отправки сообщения |
STATUS_PROHIBITED |
string |
прием и отправка сообщений заблокированы |
MessageChannel
Параметр |
Тип |
Описание |
MESSAGE_CHANNEL_SMS |
string |
SMS-сообщение |
Примеры
Исходящие сообщения
{
"event_id": "449727651343549249",
"message_id": "449727651326723744",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:49.040913196Z",
"sender": "79999999999",
"receiver": "79133333333",
"text": "Test events",
"direction": "DIRECTION_OUTGOING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_PREBILLED",
"delivery_status": "DELIVERY_STATUS_QUEUED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_QUEUED"
}
{
"event_id": "449727651444212545",
"message_id": "449727651326723744",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:49.107040342Z",
"sender": "79999999999",
"receiver": "79133333333",
"text": "Test events",
"direction": "DIRECTION_OUTGOING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_AUTHORIZED",
"delivery_status": "DELIVERY_STATUS_QUEUED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_QUEUED"
}
{
"event_id": "449727651460989761",
"message_id": "449727651326723744",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:49.113153506Z",
"sender": "79999999999",
"receiver": "79133333333",
"text": "Test events",
"direction": "DIRECTION_OUTGOING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_AUTHORIZED",
"delivery_status": "DELIVERY_STATUS_TRANSMITTED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_TRANSMITTED"
}
{
"event_id": "449727651528098625",
"message_id": "449727651326723744",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:49.157362833Z",
"sender": "79999999999",
"receiver": "79133333333",
"text": "Test events",
"direction": "DIRECTION_OUTGOING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_BILLED",
"delivery_status": "DELIVERY_STATUS_TRANSMITTED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_TRANSMITTED"
}
{
"event_id": "449727659866374977",
"message_id": "449727651326723744",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:54.117363454Z",
"sender": "79999999999",
"receiver": "79133333333",
"text": "Test events",
"direction": "DIRECTION_OUTGOING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_BILLED",
"delivery_status": "DELIVERY_STATUS_DELIVERED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_DELIVERED"
}
Входящие сообщения
{
"event_id": "449727660168364865",
"message_id": "449727659849588395",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:54.298316597Z",
"sender": "79133333333",
"receiver": "79999999999",
"text": "Test events",
"direction": "DIRECTION_INCOMING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_PREBILLED",
"delivery_status": "DELIVERY_STATUS_DELIVERED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_DELIVERED"
}
{
"event_id": "449727660302582593",
"message_id": "449727659849588395",
"application_id": "74caefbc-5615-49db-aca1-07ba829e728c",
"date": "2023-02-28T12:42:54.381193714Z",
"sender": "79133333333",
"receiver": "79999999999",
"text": "Test events",
"direction": "DIRECTION_INCOMING",
"segments_count": 1,
"billing_status": "BILLING_STATUS_BILLED",
"delivery_status": "DELIVERY_STATUS_DELIVERED",
"message_channel": "MESSAGE_CHANNEL_SMS",
"status": "STATUS_DELIVERED"
}
Решения, где используется SMS API
Попробовать бесплатно