Создание шаблонов#

Отправка шаблона на регистрацию#

POST https://direct.i-dgtl.ru/api/v1/templates/sms

Метод позволяет отправить на регистрацию шаблоны разных типов к разным зарегистрированным именам отправителей.

Headers#

Name

Type

Description

Authorization*

string

Basic {TOKEN_2}

Content-Type*

string

application/json

Request Body#

NameTypeDescription
toAdd*string

Способ отправки шаблонов. Варианты значений:

  • ALL_OR_NOTHING – будут созданы либо все шаблоны (при условии валидности каждого из них), либо ни одного
  • ALL_VALID – будут созданы все валидные шаблоны
dateFrom*stringЖелаемая дата начала действия шаблона
templates*arrayМассив объектов с описанием шаблонов
templates.pattern*stringТекст шаблона
templates.templatesByType*arrayМассив объектов с типами шаблонов и именами отправителей
templates.templatesByType.templateType*stringТип шаблона
templates.templatesByType.senderNames*arrayМассив объектов с идентификаторами имен отправителей, на которые нужно зарегистрировать шаблон.
Допускается регистрация на имена отправителей операторов Мегафон, Билайн, Теле2 и МТС в статусах, начиная с INTERNAL_REVIEW.
templates.templatesByType.senderNames.id*integerУникальный идентификатор имени отправителя в i-Digital Direct. Получить идентификатор можно методом Получение имен отправителей
templates.templatesByType.senderNames.externalTemplateIdstringИдентификатор шаблона в вашей внешней системе

{% hint style=»warning» %}

  • Создание шаблонов типа SERVICE допускается только для имен отправителей операторов Билайн, Мегафон, МТС

  • Создание шаблонов типа AUTHORIZE допускается только для имен отправителей операторов Мегафон, Теле2 {% endhint %}

При отсутствии ошибок в запросе (независимо от валидности шаблонов) вернется HTTP-код 200.

{
    "toAdd": "ALL_VALID",
    "dateFrom": "2024-07-27T21:00:00Z",
    "total":4, 
    "added":2, 
    "notAdded":2,
    "templates": [
        {
            "pattern": "текст шаблона 1",
            "templatesByType": [
                {
                    "templateType": "SERVICE",
                    "patternState": "INVALID",
                    "correctExample": "исправленный текст шаблона",
                    "senderNames": [
                        {
                            "id": 1,
                            "senderName": "first",
                            "brand": "BEELINE",
                            "state": "ERROR"
                        }
                    ]
                },
                {
                    "templateType": "AUTHORIZE",
                    "patternState": "VALID",
                    "senderNames": [
                        {
                            "id": 2,
                            "senderName": "second",
                            "brand": "MEGAFON",
                            "state": "SUCCESS",
                            "templateId": 11
                        }
                    ]
                }
            ]
        },
        {
            "pattern": "текст шаблона 2",
            "templatesByType": [
                {
                    "templateType": "SERVICE",
                    "patternState": "VALID",
                    "senderNames": [
                        {
                            "id": 3,
                            "senderName": "third",
                            "brand": "BEELINE",
                            "state": "ERROR",
                            "error": {
                                "type": "COVERED_BY_EXISTING",
                                "templateId": 124
                            },
                            "externalTemplateId": "1a2b3c"
                        },
                        {
                            "id": 4,
                            "senderName": "fourth",
                            "brand": "TELE2",
                            "state": "SUCCESS",
                            "templateId": 11,
                            "externalTemplateId": "3d4e5f"
                        }
                    ]
                }
            ]
        }
    ]
}

Использование невалидного токена / отсутствие заголовка авторизации.

{
    "error": {
        "code": 4012,
        "msg": "Bad credentials"
    }
}
{
    "error": {
        "code": 4010,
        "msg": "Not Authenticated"
    }
}

Использование неподходящего токена.

{
    "error": {
        "code": 4030,
        "msg": "Access Denied"
    }
}

Несуществующее имя отправителя.

{
    "error": {
        "code": 4220,
        "msg": "Client 5 has not sender name 734"
    }
}

Описание объекта ответа #

Параметр

Тип

Описание

toAdd

string

Соответствует toAdd в запросе

dateFrom

string

Соответствует dateFrom в запросе

total

integer

Общее количество переданных шаблонов

added

integer

Количество добавленных шаблонов

notAdded

integer

Количество не добавленных шаблонов

templates

array

Массив объектов с описанием шаблонов

templates.pattern

string

Текст шаблона

templates.templatesByType

array

Массив объектов с типами шаблонов и именами отправителей

templates.templatesByType.templateType

string

Тип шаблона. Соответствует templateType в запросе

templates.templatesByType.patternState

string

Статус валидности текста шаблона

  • VALID – текст валиден
  • INVALID – текст не валиден

templates.templatesByType.correctExample

string

Пример текста шаблона с исправленными ошибками

templates.templatesByType.senderNames

array

Массив объектов имен отправителей, на которые регистрировались шаблоны

templates.templatesByType.senderNames.id

integer

Идентификатор имени отправителя

templates.templatesByType.senderNames.senderName

string

Имя отправителя

templates.templatesByType.senderNames.brand

string

Оператор имени отправителя

templates.templatesByType.senderNames.state

string

Статус отправки шаблона на данное имя отправителя:

  • SUCCESS – шаблон отправлен на регистрацию
  • ERROR – произошла ошибка, шаблон не отправлен на регистрацию

templates.templatesByType.senderNames.templateId

integer

Идентификатор созданного шаблона (передается приstate = SUCCESS)

templates.senderNames.error

object

Объект с описанием ошибки

(передается приstate = ERROR)

templates.templatesByType.senderNames.error.type

string

Тип ошибки:

  • DUPLICATE – является дубликатом шаблона, который также присутствует в запросе
  • COVERED – содержится в другом шаблоне, который также присутствует в запросе
  • DUPLICATES_EXISTING – является дубликатом существующего в системе шаблона
  • COVERED_BY_EXISTING – содержится в другом шаблоне, который существует в системе

templates.templatesByType.senderNames.error.templateId

integer

Идентификатор шаблона в системе, из-за которого нельзя добавить данный (актуально для ошибок ..._EXISTING)

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

POST https://direct.i-dgtl.ru/v1/templates/sms
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Content-Type: application/json
{
    "toAdd": "ALL_VALID",
    "dateFrom": "2024-07-27T21:00:00Z",
    "templates": [
        {
            "pattern": "текст шаблона 1",
            "templatesByType": [
                {
                    "templateType": "SERVICE",
                    "senderNames": [
                        {
                            "id": 1
                        }
                    ]
                },
                {
                    "templateType": "AUTHORIZE",
                    "senderNames": [
                        {
                            "id": 2
                        }
                    ]
                }
            ]
        },
        {
            "pattern": "текст шаблона 2",
            "templatesByType": [
                {
                    "templateType": "SERVICE",
                    "senderNames": [
                        {
                            "id": 3,
                            "externalTemplateId": "1a2b3c"
                        },
                        {
                            "id": 4,
                            "externalTemplateId": "3d4e5f"
                        }
                    ]
                }
            ]
        }
    ]
}
curl -X POST 'https://direct.i-dgtl.ru/api/v1/templates/sms' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==' \
-d '{"toAdd":"ALL_VALID","dateFrom":"2024-07-27T21:00:00Z","templates":[{"pattern":"текст шаблона 1","templatesByType":[{"templateType":"SERVICE","senderNames":[{"id":1 }]},{"templateType":"AUTHORIZE","senderNames":[{"id":2 }]}]},{"pattern":"текст шаблона 2","templatesByType":[{"templateType":"SERVICE","senderNames":[{"id":3,"externalTemplateId":"1a2b3c"},{"id":4,"externalTemplateId":"3d4e5f"}]}]}]}'