Получить превью шаблона уведомлений
Возвращает превью заданного шаблона уведомлений в формате HTML.
Запрос
HTTP Запрос
text
POST /node/api/notification-templates/previewПараметры тела запроса
| Параметр | Тип | Описание |
|---|---|---|
| group | String | Группа уведомления. В системе доступны группы auth (все уведомления, связанные с аутентификацией) и state (уведомления о смене состояния сущностей). |
| templateType | String | Тип шаблона уведомлений. В системе доступны следующие типы шаблонов уведомлений: email, email-subject, telegram, sms, registration, registration-subject, registration-password, registration-password-subject, forgot, forgot-subject. |
| type | String | Тип уведомления – одиночное (single) или групповое (pack). |
| content | String | Текст уведомления. |
| isSubject | Boolean | Является ли текст темой письма. |
Тело запроса
Тело запроса содержит текст уведомления, а также настройки, от которых зависит вид сгенерированного превью уведомления.
json
{
"group": "auth",
"templateType": "email",
"type": "single",
"content": "Информационное сообщение.\n\n\nЗдравствуйте,\n\nВы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.\n\nДля восстановления пароля перейдите по следующей ссылке:\n\n{{emailLink}}\n\nЕсли вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.\n\n\n\nСообщение сгенерировано автоматически.",
"isSubject": false
}Ответ
Возвращает HTML страницу с шабоном уведомлений. Эта страница показывается в веб-интерфейсе на странице шаблонов уведомлений.
Разметка страницы находится в поле preview возвращаемого JSON объекта.
json
{
"preview": "<h2>Информационное сообщение.</h2>\n<p>Здравствуйте,</p>\n<p>Вы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.</p>\n<p>Для восстановления пароля перейдите по следующей ссылке:</p>\n<p>Если вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.</p>\n<hr>\n<p>Сообщение сгенерировано автоматически.</p>\n"
}В веб-интерфейсе этот шаблон будет выглядеть следующим образом:

Пример
Запрос
- Bash
- JavaScript
- NodeJS
- Python
bash
login=<...>
password=<...>
saymon_hostname=<...>
url=https://$saymon_hostname/node/api/notification-templates/preview
curl -X PATCH $url -u $login:$password \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"group": "auth",
"templateType": "email",
"type": "single",
"content": "Информационное сообщение.\n\n\nЗдравствуйте,\n\nВы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.\n\nДля восстановления пароля перейдите по следующей ссылке:\n\n{{emailLink}}\n\nЕсли вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.\n\n\n\nСообщение сгенерировано автоматически.",
"isSubject": false
}
EOFjavascript
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/notification-templates/preview";
let auth = "Basic " + btoa(login + ":" + password);
let headers = new Headers();
headers.append("Content-Type", "application/json");
headers.append("Authorization", auth);
let data = JSON.stringify({
"group": "auth",
"templateType": "email",
"type": "single",
"content": "Информационное сообщение.\n\n\nЗдравствуйте,\n\nВы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.\n\nДля восстановления пароля перейдите по следующей ссылке:\n\n{{emailLink}}\n\nЕсли вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.\n\n\n\nСообщение сгенерировано автоматически.",
"isSubject": false
});
let requestOptions = {
method: "PATCH",
headers: headers,
body: data
};
fetch(saymonHostname + path, requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log("error", error));javascript
const http = require("http");
let login = <...>
let password = <...>
let saymonHostname = <...>
let path = "/node/api/notification-templates/preview";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");
let options = {
"method": "PATCH",
"hostname": saymonHostname,
"headers": {
"Authorization": auth,
"Content-Type": "application/json"
},
"path": path
};
let req = http.request(options, function (res) {
let chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
let body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
let data = JSON.stringify({
"group": "auth",
"templateType": "email",
"type": "single",
"content": "Информационное сообщение.\n\n\nЗдравствуйте,\n\nВы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.\n\nДля восстановления пароля перейдите по следующей ссылке:\n\n{{emailLink}}\n\nЕсли вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.\n\n\n\nСообщение сгенерировано автоматически.",
"isSubject": false
});
req.write(data);
req.end();python
import requests
login = <...>
password = <...>
saymon_hostname = <...>
url = "https://" + saymon_hostname + "/node/api/notification-templates/preview"
body = {
"group": "auth",
"templateType": "email",
"type": "single",
"content": "Информационное сообщение.\n\n\nЗдравствуйте,\n\nВы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.\n\nДля восстановления пароля перейдите по следующей ссылке:\n\n{{emailLink}}\n\nЕсли вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.\n\n\n\nСообщение сгенерировано автоматически.",
"isSubject": false
}
response = requests.request("PATCH", url, json=body, auth=(login, password))
print(response.text)Ответ
json
{
"preview": "<p>Всего 2 событий по 1 объектам/связям c по 03/06/2020, 05:01:22 PM.</p>\n"
}