Получение шаблонов#

Получение шаблона по id#

GET https://direct.i-dgtl.ru/api/v1/templates/{template_id}

Метод позволяет получить объект шаблона с указанным id.

Path Parameters#

Name

Type

Description

template_id*

integer

Идентификатор запрашиваемого шаблона

Headers#

Name

Type

Description

Authorization*

string

Basic {TOKEN_2}

{
  "id": 1234,
  "channelType": "SMS",
  "templateType": "SERVICE",
  "pattern": "привет, %w",
  "dateFrom": "2020-07-07T21:00:00Z",
  "dateTo": "2020-10-10T00:00:00Z",
  "senderNameId": 1234,
  "senderName": "testsend",
  "brand": "BEELINE",
  "managerComment": "комментарий менеджера",
  "status": "CLOSED",
  "createdAt": "2020-06-01T21:00:00Z",
  "rejectedAt": "2020-06-07T21:00:00Z"
}

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

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

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

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

Несуществующий template_id.

{
    "error": {
        "code": 4220,
        "msg": "Client 5 has not template 1"
    }
}

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

Параметр

Тип

Описание

id

integer

Идентификатор шаблона

channelType

string

Канал трафика

templateType

string

Тип шаблона

pattern

string

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

dateFrom

string

Дата начала действия

dateTo

string

Дата окончания действия

senderNameId

integer

Идентификатор имени отправителя, на которое зарегистрирован шаблон

senderName

string

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

brand

string

Оператор (только для SMS-шаблонов)

countryCode

string

Код страны (только для VIBER-шаблонов)

managerComment

string

Комментарий менеджера

status

string

Статус шаблона

createdAt

string

Дата создания шаблона

rejectedAt

string

Дата отклонения шаблона

content

object

Контент шаблона (только для WHATSAPP-шаблонов, описан ниже)

Контент WHATSAPP-шаблона #

{
  "header": {
    "type": "text",
    "text": "Текст заголовка {{1}}"
  },
  "text": "Текст сообщения {{2}}",
  "footer": "Текст подписи",
  "buttons": [
    {
      "text": "Текст кнопки 1"
    },
    {
      "text": "Текст кнопки 2"
    },
    {
      "text": "Текст кнопки 3"
    }
  }
}
{
  "header": {
    "type": "image"
  },
  "text": "Текст сообщения {{1}}",
  "footer": "Подпись сообщения",
  "buttons": [
    {
      "text": "Кнопка-ссылка",
      "url": "https://i-dgtl.ru"
    },
    {
      "text": "Кнопка-вызов",
      "phone": "78000000000"
    }
  ]
}

Параметр

Тип

Описание

content.header

object

Объект с информацией о заголовке сообщения

content.header.type

string

Тип заголовка; принимает значения:

text

image

document

content.header.text

string

Текст заголовка; присутствует только при header.type = text

content.text

string

Текст сообщения

content.footer

string

Подпись сообщения

content.buttons

array

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

content.buttons.text

string

Текст кнопки

content.buttons.url

string

Ссылка, на которую произойдет переход при нажатии на кнопку

content.buttons.phone

string

Телефонный номер, на который произойдет вызов при нажатии на кнопку

Формирование WHATSAPP-сообщения#

Для того, чтобы сформировать из WHATSAPP-шаблона контент WHATSAPP-сообщения, необходимо:

  1. Добавить параметр content.contentType со значением "text"

  2. Заполнить подстановки: параметры content.header.text и content.text могут содержать переменные вида {{1}}, {{2}}, которые необходимо заменить на строки

  3. Удалить параметр content.header.type из заголовка

  4. Добавить интерактивное содержимое в заголовок:

    1. если content.header.type = document, то нужно добавить

      1. content.header.documentUrl — ссылка на документ

      2. content.header.documentName — название документа, которое будет отображено абоненту

    2. если content.header.type = image, то нужно добавить

      1. content.header.imageUrl — ссылка на изображение

  5. Преобразовать строку content.footer в строку content.footer.text, добавив вложенный объект content.footer

  6. Для кнопок, у которых отсутствует content.buttons.url / content.buttons.phone, необходимо добавить строку content.buttons.payload

Получение массива шаблонов#

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

Метод позволяет получить массив объектов шаблонов, подходящих под условия фильтрации.

Query Parameters#

Name

Type

Description

page

string

Номер запрашиваемой страницы
По умолчанию 1

per_page

string

Количество записей на странице
По умолчанию 2000

template_id

string

Идентификатор шаблона
Множественный параметр

sender_name_id

string

Фильтрация по идентификатору имени отправителя
Множественный параметр

sender_name

string

Фильтрация по имени отправителя (поиск по полному соответствию)
Множественный параметр

channel_type

string

Фильтрация по каналу

brand

string

Фильтрация по оператору
Множественный параметр

country_code

string

Фильтрация по коду страны
Множественный параметр

status

string

Фильтрация по статусу
Множественный параметр

template_type

string

Фильтрация по типу
Множественный параметр

pattern

string

Фильтрация по тексту шаблона (по наличию подстроки в тексте)

min_date_from

string

Фильтрация по нижнему значению даты начала действия

min_date_to

string

Фильтрация по нижнему значению даты окончания действия

max_date_from

string

Фильтрация по верхнему значению даты начала действия

max_date_to

string

Фильтрация по верхнему значению даты окончания действия

Headers#

Name

Type

Description

Authorization

string

Basic {TOKEN_2}

{
  "page": 1,
  "perPage": 2000,
  "total": 1,
  "items": [
    {
      "id": 1234,
      "channelType": "SMS",
      "templateType": "SERVICE",
      "pattern": "привет, %w",
      "dateFrom": "2020-07-07T21:00:00Z",
      "dateTo": "2020-10-10T00:00:00Z",
      "senderNameId": 1234,
      "senderName": "testsend",
      "brand": "BEELINE",
      "managerComment": "комментарий менеджера",
      "status": "CLOSED",
      "createdAt": "2020-06-01T21:00:00Z",
      "rejectedAt": "2020-06-07T21:00:00Z"
    }
  ]

Возможные варианты перечислений:

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

Получение сервисных шаблонов, зарегистрированных на операторов Теле2 и Билайн в статусах «Одобрено» и «Закрыто»

GET https://direct.i-dgtl.ru/api/v1/templates?template_type=SERVICE&brand=TELE2&brand=BEELINE&status=APPROVED&status=CLOSED
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
curl -X GET 'https://direct.i-dgtl.ru/api/v1/templates?template_type=SERVICE&brand=TELE2&brand=BEELINE&status=APPROVED&status=CLOSED' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='

Получение VIBER-шаблонов, действующих в РФ, в статусе «Одобрено»

GET https://direct.i-dgtl.ru/api/v1/templates?channel_type=VIBER&country_code=ru&status=APPROVED
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
curl -X GET 'https://direct.i-dgtl.ru/api/v1/templates?channel_type=VIBER&country_code=ru&status=APPROVED' \
-H 'Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='