Перейти к документации
API

Получить шаблон

Принимает идентификатор или slug. Самая новая версия возвращается целиком, вместе с телом.

GETapi.openemail.uk/templates/{id}

Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.

GET /templates/{id}

Принимает идентификатор или slug. Самая новая версия возвращается целиком, вместе с телом.

Пример

Требует templates:read. Идентификаторы несут префикс tpl_, а slug — нет, так что два словаря не могут столкнуться на этом пути.

curl
curl "$OE/templates/order-shipped" -H "$AUTH"
Ответ
{  "object": "template",  "id": "tpl_9c1f0a4b7e05d3862c1f0a44",  "name": "Order shipped",  "slug": "order-shipped",  "status": "active",  "publishedVersion": 3,  "latestVersion": 4,  "subject": "Order {{orderId}} is on its way",  "engine": "html",  "slots": [],  "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],  "latest": {    "object": "template_version",    "id": "tplv_5d31c2a8…",    "templateId": "tpl_9c1f0a4b7e05d3862c1f0a44",    "version": 4,    "state": "draft",    "engine": "html",    "subject": "Order {{orderId}} is on its way",    "slots": [],    "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],    "document": null,    "html": "<p>Hello {{customer}}, {{orderId}} left the warehouse.</p>",    "createdAt": "2026-08-28T16:03:10.000Z",    "publishedAt": null  },  "createdAt": "2026-08-01T09:12:44.000Z",  "updatedAt": "2026-08-28T16:03:10.000Z"}

latest — это САМАЯ НОВАЯ версия, то есть черновик, если есть неопубликованная правка. Поля рядом с ним (subject, engine, slots, props) описывают ОПУБЛИКОВАННУЮ, потому что именно её разрешает отправка.

document — дерево блоков, и оно null при engine: "html"; html — разметка в том виде, в каком её прислали, и она null при engine: "blocks". Ни то ни другое не приходит нигде, кроме одиночного получения. Список версий, каждая с полным деревом, — это полезная нагрузка, о которой никто не просил.