Получение списка шаблонов

Раздел содержит описание метода API для получения списка шаблонов.

Метод message-matchers/get-by-request

Ответ метода message-matchers/get-by-request содержит список шаблонов для переданного идентификатора подписи. В случае успешного выполнения запроса сервер вернет код 200 и JSON-объект со списком шаблонов. В случае неуспешного выполнения запроса сервер вернет сообщение с кодом ошибки.

Про получение идентификаторов подписи для каналов смотрите в статье.

URL-адрес подключения

Для отправки сообщения выполняется POST-запрос на URL-адрес https://app.edna.kz/api/message-matchers/get-by-request.

Формат запроса

В теле запроса передается JSON-объект с параметрами.

{
"subjectId": 23,
"matcherTypes": ["OPERATOR","USER","CUSTOM"]
}

Параметры запроса

ПараметрТип данныхОписание
subjectIdintegerИдентификатор подписи
matcherTypesarray (optional) или string (optional)Тип шаблона.

Возможные значения:
OPERATOR — операторский шаблон (шаблон, который был зарегистрирован у оператора связи);
USER — пользовательский шаблон (шаблон, который был создан пользователем на основе операторского шаблона);
CUSTOM — шаблон “с нуля” без каких-либо ограничений, который может содержать любой контент, разрешенный для этого канала.

Формат ответа

В ответ на запрос возвращается JSON-объект, содержащий данные о шаблонах.

[
  {
    "id": 0,
    "name": "string",
    "channelType": "SMS",
    "language": "string",
    "content": {
      "attachment": {
        "id": 0,
        "fileUrl": "string",
        "originalFileName": "string",
        "size": 0
      },
      "action": "string",
      "caption": "string",
      "header": {
        "headerType": "TEXT",
        "text": "string",
        "attachment": {
          "id": 0,
          "fileUrl": "string",
          "originalFileName": "string",
          "size": 0
        },
        "headerExampleTextParam": "string",
        "headerExampleMediaUrl": "string"
      },
      "text": "string",
      "footer": {
        "text": "string"
      },
      "keyboard": {
        "rows": [
          {
            "buttons": [
              {
                "text": "string",
                "buttonType": "PHONE",
                "otpType": "COPY_CODE",
                "url": "string",
                "urlPostfix": "string",
                "phone": "string",
                "payload": "string",
                "urlTextExample": "string",
                "color": "string",
                "requestLocation": true,
                "autofillText": "string",
                "packageName": "string",
                "hash": "string",
                "appId": 0,
                "ownerId": 0
              }
            ]
          }
        ]
      },
      "securityRecommendation": true,
      "codeExpirationMinutes": 90,
      "textExampleParams": [
        "string"
      ],
      "vkAttachments": [
        {
          "id": 0,
          "fileUrl": "string",
          "originalFileName": "string",
          "size": 0
        }
      ],
      "vkTwoWayEnabled": true
    },
    "contentType": "TEXT",
    "category": "ACCOUNT_UPDATE",
    "status": "string",
    "locked": true,
    "type": "OPERATOR",
    "createdAt": "2023-09-27T11:57:14.834Z",
    "updatedAt": "2023-09-27T11:57:14.834Z"
  }
]

Параметры ответа

ПараметрТип данныхОписание
idintegerИдентификатор шаблона.
namestringНазвание шаблона.
channelTypestringТип канала взаимодействия.

Возможные значения:
• WHATSAPP — канал WhatsApp;
• SMS — канал SMS;
• VIBER — канал Viber;
• PUSH — канал Push;
• VK_NOTIFY — канал VK Notify;
• OK_NOTIFY — канал OK Notify.
languagestringЯзык шаблона. Только для каналов WHATSAPP, VIBER.
contentobjectКонтент шаблона.
content.attachmentobjectВложение шаблона. Только для канала WHATSAPP.
content.attachment.idintegerИдентификатор файла вложения.
content.attachment.
fileUrl
stringURL-адрес файла.
content.attachment.
originalFileName
stringИмя файла.
content.attachment.sizeintegerРазмер файла.
content.actionstringСсылка кнопки. Только для каналов VIBER.
content.captionstringНазвание кнопки. Только для канала VIBER.
content.headerobjectИнформация о заголовке шаблона. Только для канала WHATSAPP.
content.header.headerTypestringТип заголовка. Если в шаблоне нет заголовка, то headerType не передается. Только для канала WHATSAPP.
content.header.textstringТекст заголовка.
content.header.attachmentobjectИнформация о файле в заголовке.
content.header.attachment.
id
integerИдентификатор файла в заголовке.
content.header.attachment.
fileUrl
stringURL-адрес файла в заголовке.
content.header.attachment.
originalFileName
stringИмя файла в заголовке.
content.header.attachment.
fileSize
integerРазмер файла в заголовке.
content.header.
headerExampleTextParam
stringПример текста заголовка.
content.header.
headerExampleMediaUrl
stringURL-адрес примера файла заголовка.
content.textstringТекст шаблона.
content.footerobjectСодержит подпись шаблона. Только для канала WHATSAPP.
content.footer.textstringТекст подписи.
content.keyboardarray of objectsИнформация о кнопках. Только для каналов WHATSAPP, VIBER, VK_NOTIFY.
content.keyboard.rowsarray of objectsИнформация о кнопках.
content.keyboard.rows.buttonsobjectМассив объектов, в каждом из которых определяется кнопка.
content.keyboard.rows.buttons.textstringТекст кнопки.
content.keyboard.rows.buttons.buttonTypestringТип кнопки.
content.keyboard.rows.buttons.otpTypestringТип кнопки в сообщении с одноразовым паролем: COPY_CODE или ONE_TAP. Только для канала WHATSAPP.
content.keyboard.rows.buttons.urlstringURL-адрес, который открывается при нажатии кнопки.
content.keyboard.rows.buttons.urlPostfixstringДинамическая часть ссылки URL-адреса кнопки.
content.keyboard.rows.buttons.phonestringНомер телефона, который набирается при нажатии кнопки.
content.keyboard.rows.buttons.payloadstringТекст быстрого ответа.
content.keyboard.rows.buttons.urlTextExamplestringПример URL-адреса для регистрации. Только для канала WHATSAPP.
content.keyboard.rows.buttons.colorstringЦвет кнопки. Только для канала VK_NOTIFY.
content.keyboard.rows.buttons.requestLocationbooleanПризнак того, что кнопка передает местоположение. Только для канала VK_NOTIFY.
content.keyboard.rows.buttons.autofillTextstringНадпись на кнопке автоматического заполнения. Только для канала WHATSAPP.
content.keyboard.rows.buttons.packageNamestringНазвание пакета для кнопки автоматического заполнения. Только для канала WHATSAPP.
content.keyboard.rows.buttons.hashstringХэш подписи приложения для кнопки автоматического заполнения. Для канала WHATSAPP и для приложения VK Mini App.
content.keyboard.rows.buttons.appIdintegerИдентификатор приложения VK Mini App. Только для канала VK_NOTIFY.
content.keyboard.rows.buttons.ownerIdintegerИдентификатор владельца приложения VK Mini App. Только для канала VK_NOTIFY.
content.securityRecommendationbooleanЕсли значение параметра true, в сообщении на основе шаблона отображается рекомендация по безопасности. Только для канала WHATSAPP.
content.codeExpirationMinutesintegerВремя действия одноразового пароля в минутах. Только для канала WHATSAPP.
content.textExampleParamsarray of stringsПараметр содержит по одному примеру для каждой строки символов в тексте шаблона. Только для канала WHATSAPP.
content.vkAttachmentsarray of objectsИнформация о вложениях в шаблоне. Только для канала VK_NOTIFY.
content.vkAttachments.idintegerИдентификатор файла вложения.
content.vkAttachments.fileUrlstringURL-адрес файла.
content.vkAttachments.originalFileNamestringИмя файла.
content.vkAttachments.sizeintegerРазмер файла.
content.vkTwoWayEnabledbooleanЕсли значение параметра true, получатели могут отвечать на сообщения на основе шаблона. Только для канала VK_NOTIFY.
contentTypestringТип контента шаблона. Тип контента шаблона.

Возможные значения указываются в верхнем регистре:
• TEXT — текст;
• IMAGE — изображение;
• DOCUMENT — документ;
• VIDEO — видео;
• AUDIO — звук;
• BUTTON — кнопка;
• LOCATION — координаты, адрес и описание места. Координаты преобразуются в снимок Google Maps;
• AUTHENTICATION — сообщение с одноразовым паролем и кнопкой копирования.
categorystringКатегория шаблона. Только для каналов WHATSAPP, VIBER.
statusstringСтатус шаблона.

Возможные значения:
APPROVED — активный. Это единственный статус, при котором шаблон возможно использовать для отправки сообщений.
REJECTED — отклонен оператором;
PENDING — на регистрации;
NOT_SENT — черновик;
ARCHIVED — в архиве;
PAUSED — приостановлен;
DISABLED — отключен.
lockedbooleanПризнак блокировки шаблона. Возможные значения:
true — шаблон заблокирован;
false — шаблон активен.
typestringТип шаблона.

Возможные значения:
OPERATOR — операторский шаблон (шаблон, который был зарегистрирован у оператора связи);
USER — пользовательский шаблон (шаблон, который был создан пользователем на основе операторского шаблона).
createdAtstringВремя создания шаблона.
updatedAtstringВремя последнего изменения шаблона.

Коды ответов на запрос

КодОписание
okЗапрос успешно выполнен.
error-subject-unknownУказанное имя подписи отсутствует.
error-syntaxНеверно указан тип канала.