Отправка SMS#
Отправка SMS-сообщений#
POST https://direct.i-dgtl.ru/api/v1/message
Метод позволяет отправлять массив одиночных сообщений (от 1 до 1000)
Headers#
Name |
Type |
Description |
|---|---|---|
Authorization* |
string |
|
Content-Type* |
string |
|
Request Body#
Name |
Type |
Description |
|---|---|---|
channelType* |
string |
Канал отправки ( |
senderName* |
string |
Имя отправителя. Допускаются SMS-имена в статусе «Одобрено» с датой начала действия не позднее, чем время отправки запроса |
destination* |
string |
Номер абонента |
content* |
string |
Сообщение; строка в кодировке UTF-8 без Byte Order Mark |
tags |
array |
Теги сообщения (массив строк). Каждый тег должен соответствовать выражению |
useLocalTime |
boolean |
Флаг, отвечающий за таймзону, в которой будет отправлено сообщение: |
localSendTime |
string |
Нижняя граница допустимого времени отправки сообщения (с учетом значения |
localCompletionTime |
string |
Верхняя граница допустимого времени отправки сообщения (с учетом |
ttl |
integer |
Время жизни сообщения в секундах. По истечении ttl сообщению устанавливается финальный статус. |
hours |
array |
Допустимые часы отправки (массив чисел). В массиве могут быть переданы целые числа от 0 до 23, каждое из которых соответствует разрешенному для отправки часовому интервалу с учетом |
days |
array |
Допустимые дни отправки (массив чисел). В массиве могут быть переданы целые числа от 1 (пн) до 7 (вс), каждое из которых соответствует разрешенному для отправки дню недели; значения должны быть уникальны. |
shortUrl |
boolean |
Флаг, отвечающий за сокращение ссылок в сообщении: |
callbackUrl |
string |
Адрес для отправки callback |
callbackEvents |
array |
События, по которым будут отправлены callback (массив строк). При наличии |
externalMessageId |
string |
Внутренний id сообщения в вашей системе. До 100 символов. |
В случае успешного запроса возвращается ответ, в котором перечислены идентификаторы сообщений (в том числе ваши, если были переданы) и коды результата. При значении errors = false гарантируется, что все переданные сообщения успешно созданы.
{
"errors": false,
"items": [
{
"messageUuid": "063474ec-a34f-4558-90c5-984395000004",
"externalMessageId": "id123",
"code": 201
},
{
"messageUuid": "063564ec-a34f-4558-90c5-984395000005",
"externalMessageId": "id124",
"code": 201
}
]
}
Использование невалидного токена / отсутствие заголовка авторизации.
{
"error": {
"code": 4010,
"msg": "Not Authenticated"
}
}
=============================================
{
"error": {
"code": 4012,
"msg": "Bad credentials"
}
}
Недостаточно средств на балансе.
{
"error": {
"code": 402,
"msg": "Insufficient funds"
}
}
Использование неподходящего токена.
{
"error": {
"code": 4030,
"msg": "Access Denied"
}
}
Невалидные параметры в теле запроса или превышение максимального количества объектов.
// Превышение количества сообщений
{
"error": {
"code": 4220,
"msg": "Max count of messages is 1000"
}
}
-----------------------------------------------------------------------------
// Некорректное значение localSendTime
{
"error": {
"code": 4220,
"msg": "Local send time is less than minimal {minLocalSendTime}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение localSendTime
{
"error": {
"code": 4220,
"msg": "Local send time is greater than minimal {maxLocalSendTime}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение localCompletionTime
{
"error": {
"code": 4220,
"msg": "Local completion time is less than minimal {minLocalCompletionTime}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение localCompletionTime
{
"error": {
"code": 4220,
"msg": "Local completion time is greater than maximal {maxLocalCompletionTime}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение senderName
{
"error": {
"code": 4220,
"msg": "No active sender name: ({channelType}, {senderName})"
}
}
-----------------------------------------------------------------------------
// Некорректное значение destination
{
"error": {
"code": 4220,
"msg": "Invalid msisdn"
}
}
-----------------------------------------------------------------------------
// Некорректное значение content
{
"error": {
"code": 4220,
"msg": "Blank content"
}
}
-----------------------------------------------------------------------------
// Некорректное значение tags
{
"error": {
"code": 4220,
"msg": "Invalid tags: {tags}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение ttl
{
"error": {
"code": 4220,
"msg": "Invalid TTL {ttl}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение hours
{
"error": {
"code": 4222,
"msg": "Invalid hours: {hours}"
}
}
-----------------------------------------------------------------------------
// Некорректное значение days
{
"error": {
"code": 4223,
"msg": "Invalid days: {days}"
}
}
Временная недоступность сокращения ссылок. Рекомендуется повторить запрос.
{
"error": {
"code": 5030,
"msg": "Url shortener is unavailable"
}
}
{% hint style=»warning» %}
Рекомендуемое время ожидания ответа: 70 секунд.
Как правило, ответ на запрос возвращается не более чем за несколько секунд, но таймаут величиной в 70 секунд позволяет гарантированно получить ответ на запрос, в том числе в ситуациях повышенной нагрузки.
{% endhint %}
{% hint style=»info» %} В качестве имени отправителя при отправке SMS-сообщений допускается использование имен в статусе «Одобрено» с датой начала действия не позднее текущей.
Имя отправителя можно создать как при помощи API, так и в личном кабинете на странице «Имена отправителей» {% endhint %}
{% hint style=»info» %} Для использования личного домена в сокращенных ссылках необходимо обратиться в поддержку {% endhint %}
Возможные варианты перечислений:
Параметр |
Варианты |
|---|---|
callbackEvents |
Тестирование #
Для тестирования отправки SMS без регистрации своего собственного имени отправителя вы можете использовать следующие данные:
senderName – sms_promo
прочие параметры – произвольные, в соответствии с описанием
Пример запроса #
POST https://direct.i-dgtl.ru/api/v1/message
Authorization: Basic QWxhZGRpbjpv...
Content-Type: application/json
[
{
"channelType": "SMS",
"senderName": "sms_promo",
"destination": "79818268484",
"content": "Текст сообщения, которое получит абонент"
}
]
curl -X POST 'https://direct.i-dgtl.ru/api/v1/message' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '[{"channelType":"SMS","senderName":"sms_promo","destination":"79818268484","content":"Текст сообщения, которое получит абонент"}]'
{% hint style=»info» %} В примере указан минимальный набор параметров, который позволяет моментально отправить SMS. Вы можете кастомизировать время отправки, настроить коллбэки и добавить теги, используя опциональные параметры, описанные в начале данной страницы. {% endhint %}