Получить превью шаблона уведомлений

Возвращает превью заданного шаблона уведомлений в формате HTML.

Запрос

HTTP Запрос

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

Является ли текст темой письма.

Тело запроса

Тело запроса содержит текст уведомления, а также настройки, от которых зависит вид сгенерированного превью уведомления.

{
    "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 объекта.

{
    "preview": "<h2>Информационное сообщение.</h2>\n<p>Здравствуйте,</p>\n<p>Вы получили это сообщение, потому что кто-то (возможно, вы) запросил восстановление пароля для пользователя, зарегистрированного с вашим адресом электронной почты.</p>\n<p>Для восстановления пароля перейдите по следующей ссылке:</p>\n<p>Если вы не запрашивали изменение пароля или вспомнили свой пароль, просто проигнорируйте это письмо и продолжайте пользоваться своим текущим паролем.</p>\n<hr>\n<p>Сообщение сгенерировано автоматически.</p>\n"
}

В веб-интерфейсе этот шаблон будет выглядеть следующим образом:

Template preview

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

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
}
EOF
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));
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();
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)

Ответ

{
    "preview": "<p>Всего 2 событий по 1 объектам/связям c  по 03/06/2020, 05:01:22 PM.</p>\n"
}

Смотрите также