Шаблон сообщения

Общие сведения

Сообщение формируется посредством разбора входящего запроса согласно twig-шаблону. В шаблоне допускается базовое форматирование при помощи тегов <b> (жирный), <i> (курсив), <a> (ссылка) и <br> (перенос на новую строку). В случае, если конечный получатель не поддерживает форматирование, то форматирование будет срезано в обычный текст. Ссылки, при этом, будут преобразованы в текст вида "текст (ссылка)". К сообщению возможно добавление файлов и картинок как в ввиде вложений (файлы и картинки будут отправлены на получателей в виде соответствующих сущностей), так и в виде ссылок на эти файлы. В случае, если конечный получатель не поддерживает файлы и изображения, а создатель шаблона не проконтролировал обработку такого случая, то попытка добавления таких файлов в сообщению завершиться с ошибкой.
Наже представлен пример шаблона сообщения для обработки запроса от Grafana:
Как мы видим, в данном шаблоне мы декодируем поступивший запрос как json, извлекаем из него title и помещаем в заголовок сообщения.
Далее title выделяем жирным и, чуть ниже, выводим сам текст сообщения. Ниже выводим ссылку на график.

Запрос

Набор функций, предназначенный для работы со входящими данными запроса.

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

Возвращает заголовок сообщения по его имени.
Параметр Тип Обязательный Комментарий
name String Да Название заголовка.
default String Значение по умолчанию, если заголовок с указанным названием не был найден.
first Boolean Возвращать ли первый найденный заголовок с указанным именем. В противном случае, возвращает массив значений найденных заголовоков.
String | String[] Возвращает значение найденного заголовка (или массив значений при first = false) или значение default, если заголовок с указанным именем не был найден.
Пример:
Получить значение query-параметра запроса.
Параметр Тип Обязательный Комментарий
name String Да Имя query-параметра.
default String Значение по умолчанию, если query-параметр с указанным именем не был найден.
String Возвращает значение указанного query-параметра.
Пример:
Получить значение post-параметра запроса переданного как multipart/form-data или multipart/x-www-form-urlencoded.
Параметр Тип Обязательный Комментарий
name String Да Имя post-параметра.
default String Значение по умолчанию, если post-параметр с указанным именем не был найден.
String Возвращает значение указанного post-параметра.
Пример:
Функция, объядиняющая функционал request.get и request.post функций. Вернет переменную с указанным наименование, если она была передана как get или post параметр.
Параметр Тип Обязательный Комментарий
name String Да Имя query или post-параметра.
default String Значение по умолчанию, если query или post-параметр с указанным именем не был найден.
String Возвращает значение указанного query или post-параметра.
Пример:
Получить значение cookie по указанному имени. Допускается определение значения по умолчанию (через параметр default), если указанный параметр не был найден.
Индекс разбираемого сообщения, если входящее сообщение содержит множество сообщений.
Параметр Тип Обязательный Комментарий
Int Возвращает индекс разбираемого сообщения.
Пример:

Работа с файлами

Функции для работы с файлами, переданными в теле запроса при помощи multipart/form-data. Функции возвращают структуру File которую можно анализироваь по параметрам и/или использовать для дальнейшего добавления в итоговое сообщение.
Структура File содержит следующие поля:
Параметр Тип Комментарий
id Int Идентификатор файла.
name String Имя файла.
mime_type String Mime-тип файла.
size Int Размер файла в байтах.
content String Сожержание файла.
Получить все файлы переданные в запросе.
Параметр Тип Обязательный Комментарий
File[] Возвращает массив структур File.
Пример:
Получить файлы с указанным именем переменной.
Параметр Тип Обязательный Комментарий
fieldName String Да Имя поля файла.
File[] Возвращает массив структур File.
Пример:
Получить файлы с указанным именем.
Параметр Тип Обязательный Комментарий
fileName String Да Имя файла.
File[] Возвращает массив структур File.
Пример:

Работа с телом запроса

Актуально для POST, PUT и иных запросов, допускающих передачу данных в теле запроса. Данные функции работают только тогда, когда запрос передан не в multipart/form-data или multipart/x-www-form-urlencoded формате (в этом случае воспользуйтесь функцией request.post() для получение параметров запроса).
Получить содержание тела запроса "как есть".
Параметр Тип Обязательный Комментарий
String Возвращает тела запроса "как есть".
Пример:
Получить содержимое тела запроса десериализовав его как json.
Параметр Тип Обязательный Комментарий
Mixed Возвращает тело запроса десериализованного как json.
Пример:
Получить содержание тела запроса десериализовав его как xml.
Параметр Тип Обязательный Комментарий
Mixed Возвращает тело запроса десериализованного как xml.
Пример:

Сообщение

Функции, определяющие возможности, параметры и содержание сообщения.

Возможности сообщения

Поддерживает ли получатель длинный текст (в зависимости от возможностей получателя, длинна сообщения может быть ограничена, либо сопряжена с дополнительными затратами, например, смс-сообщения).
Параметр Тип Обязательный Комментарий
Boolean Возвращает признак, допускает ли сообщение длинный текст.
Пример:
Поддерживает ли получатель базовое форматирование. Допускается форматирование при помощи html-тегов <b>, <i> и <a>.
Параметр Тип Обязательный Комментарий
Boolean Возвращает признак, допускает ли сообщение форматирование.
Пример:
Поддерживает ли получатель действия в чате.
Параметр Тип Обязательный Комментарий
Boolean Возвращает признак, допускает ли сообщение действие в чате.
Пример:
Поддерживает ли получатель пересылку файлов.
Параметр Тип Обязательный Комментарий
Boolean Возвращает признак, допускает ли сообщение пересылку файлов.
Пример:
Поддерживает ли получатель пересылку изображений.
Параметр Тип Обязательный Комментарий
Boolean Возвращает признак, допускает ли сообщение пересылку изображений.
Пример:

Основные параметры сообщения

Установить заголовок сообщения (по умолчанию заголовок сообщения выставляется исходя из названия источника, сгенерировавшего данное сообщение).
Параметр Тип Обязательный Комментарий
title String Да Новый заголовок сообщения.
Пример:
Возвращает ранее выставленный заголовок сообщения.
Параметр Тип Обязательный Комментарий
String Возвращает ранее заданный заголовок.
Пример:
Установить приоритет сообщения (по умолчанию значение приоритета выставлено в "Средний").
Параметр Тип Обязательный Комментарий
title String Да Новый приоритет сообщения. Доступные значения: highest, high, normal, low, lowest.
Boolean Возвращает признак, бы ли приоритет успешно задан.
Пример:
Возвращает ранее выставленный приоритет сообщения.
Параметр Тип Обязательный Комментарий
String Возвращает ранее заданный приоритет.
Пример:
Установить уровень сообщения (по умолчанию значение уровеня выставлено в "Информация").
Параметр Тип Обязательный Комментарий
title String Да Новый уровень сообщения. Доступные значения: verbose, info, notice, warning, error, success.
Boolean Возвращает признак, бы ли уровень успешно задан.
Пример:
Возвращает ранее выставленный уровень сообщения.
Параметр Тип Обязательный Комментарий
String Возвращает ранее заданный уровень.
Пример:

Работа с действиями

Действия - это кнопки, появляющиеся рядом с сообщением и позволяющие пользователю реагировать на сообщение непосредственно из чата. Если получатель не поддерживает действия, то они будут отправлены при помощи простых ссылок (если соответствующий функционал заложен разработчиком источника). Внешний сервис может производить реакцию на действие как при помощи прямого вызова переданного при создании действия урла, либо запрашивая статус сообщения самостоятельно.
Структура TplAction содержит следующие поля:
Параметр Тип Комментарий
name String Имя действия.
title String Отображаемое имя действия.
callback String | Null Вызываемый URL.
url String Ссылка на применение действия.
Добавление кнопки действия. В случае, если при создании действия был передан callback-урл, то этот урл будет вызван в фоне при активации действия.
Параметр Тип Обязательный Комментарий
name String Да Внутренне название действия для последующей идентификации.
title String Да Название действия, которое видит пользователь.
callback String Урл, который вызывается, когда пользователь вызывает действие.
Boolean Возвращает, было ли добавление действия успешным.
Пример:
Добавление кнопки действия в виде ссылки. Саму ссылку в сообщении должен разместить разработчик источника. В случае, если при создании действия был передан callback-урл, то этот урл будет вызван в фоне при активации действия.

Работа с файлами

Добавление файла в сообщение.
Параметр Тип Обязательный Комментарий
file File Да Файл, полученный из модели request при помощи функций files, filesByField, filesByName.
name String Название файла. По умолчанию он будет выставлен согласно переданной структуре file.name.
mime_type String Mime-тип файла. По умолчанию он будет выставлен согласно переданной структуре file.mime_type.
Boolean Возвращает, было ли добавление файда успешным.
Пример:
Добавление файла в сообщение из содержания.
Параметр Тип Обязательный Комментарий
content String Да Сожержание файла.
name String Название файла.
mime_type String Mime-тип файла.
Boolean Возвращает признак, было ли добавление файла успешным.
Пример:
Добавление файла в сообщение по ссылке.
Параметр Тип Обязательный Комментарий
url String Да Ссылка на файл.
name String Название файла.
mime_type String Mime-тип файла.
Boolean Возвращает признак, было ли добавление файла успешным.
Пример:
Добавление изображения в сообщение.
Параметр Тип Обязательный Комментарий
file File Да Файл, полученный из модели request при помощи функций files, filesByField, filesByName.
name String Название файла. По умолчанию он будет выставлен согласно переданной структуре file.name.
mime_type String Mime-тип файла. По умолчанию он будет выставлен согласно переданной структуре file.mime_type.
Boolean Возвращает признак, было ли добавление изображения успешным.
Пример:
Добавление изображения в сообщение из содержания.
Параметр Тип Обязательный Комментарий
content String Да Сожержание файла.
name String Название файла.
mime_type String Mime-тип файла.
Boolean Возвращает признак, было ли добавление изображения успешным.
Пример:
Добавление изображения в сообщение по ссылке.
Параметр Тип Обязательный Комментарий
url String Да Ссылка на файл.
name String Название файла.
mime_type String Mime-тип файла.
Boolean Возвращает признак, было ли добавление изображения успешным.
Пример:
Для организации ссылки на файл необходимо воспользоваться одной из функций: addFileLink, addFileLinkFromContent или addFileLinkFromUrl. Все эти функции возвращают структуру TplFile.
Структура TplFile содержит следующие поля:
Параметр Тип Комментарий
name String Имя файла.
url String Ссылка на файл.
Добавление ссылки на файл в сообщение.
Добавление ссылки на файл в сообщение из содержания.
Добавление ссылки на файл в сообщение по ссылке.

Вспомогательные функции

Рассчитать md5-hash строки.
Параметр Тип Обязательный Комментарий
value String Да Строка для рассчета хеша.
String Возвращает md5-хеш переданной строки.
Пример:
Рассчитать sha1-hash строки.
Параметр Тип Обязательный Комментарий
value String Да Строка для рассчета хеша.
String Возвращает sha1-хеш переданной строки.
Пример:
Декодирует данные, закодированные MIME base64.
Параметр Тип Обязательный Комментарий
value String Да Закодированная base64-строка.
String Декодирует данные, закодированные MIME base64.
Пример:
Кодирует данные в формат MIME base64.
Параметр Тип Обязательный Комментарий
value String Да Строка, которую необходимо закодировать в base64.
String Возвращает base64-закодированную строку.
Пример:
Декодирует строку JSON.
Параметр Тип Обязательный Комментарий
value String Да Строка, содержащая json-строку.
Mixed Возвращает содержимое переданной json-строки в виде массива.
Пример:
Возвращает JSON-представление данных.
Параметр Тип Обязательный Комментарий
value Mixed Да Данные для сериализации.
String Возвращает json-сериализованную строку.
Пример:
Декодирует строку XML.
Параметр Тип Обязательный Комментарий
value String Да Строка, содержащая xml-строку.
Mixed Возвращает содержимое переданной xml-строки в виде массива.
Пример:
Сокращает указанную ссылку.
Параметр Тип Обязательный Комментарий
link String Да Целевая ссылка.
String Возвращает сокращенную ссылку.
Пример:
Выполняет проверку на соответствие регулярному выражению.
Параметр Тип Обязательный Комментарий
pattern String Да Регулярное выражение.
content String Да Входная строка.
full Boolean Возвращать полный результат.
Array|String|False Возвращает найденные совпадения.
Пример:
Выполняет глобальный поиск шаблона в строке.
Параметр Тип Обязательный Комментарий
pattern String Да Регулярное выражение.
content String Да Входная строка.
Array|False Возвращает найденные совпадения.
Пример: