Przejdź do dokumentacji
API

Utwórz szablon

Wersja robocza, chyba że poprosisz o publikację. Wersję roboczą można podejrzeć, ale nie da się nią wysłać.

POSTapi.openemail.uk/templates

Uruchamia prawdziwe wywołanie na twojej przestrzeni roboczej, twoim własnym kluczem.

POST /templates

Wersja robocza, chyba że poprosisz o publikację. Wersję roboczą można podejrzeć, ale nie da się nią wysłać.

Przykład

Wymaga templates:write. Zwraca 201. slug jest wyprowadzany z nazwy, gdy go pominiesz, i to on jest uchwytem, który przypinasz w kodzie, bo to nazwę ktoś zmienia.

curl
curl -X POST "$OE/templates" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "name": "Order shipped",    "engine": "html",    "subject": "Order {{orderId}} is on its way",    "html": "<p>Hello {{customer}}, {{orderId}} left the warehouse.</p>",    "props": [      { "key": "orderId", "kind": "text", "required": true },      { "key": "customer", "kind": "text", "default": "there" }    ],    "publish": true  }'
Odpowiedź
{  "object": "template",  "id": "tpl_9c1f0a4b7e05d3862c1f0a44",  "name": "Order shipped",  "slug": "order-shipped",  "description": null,  "status": "active",  "publishedVersion": 1,  "latestVersion": 1,  "subject": "Order {{orderId}} is on its way",  "engine": "html",  "slots": [],  "props": [    { "key": "orderId", "kind": "text", "required": true, "default": null },    { "key": "customer", "kind": "text", "required": false, "default": "there" }  ],  "createdAt": "2026-08-30T10:41:02.000Z",  "updatedAt": "2026-08-30T10:41:02.000Z"}

Ustaw publish: true ze skryptu wdrożeniowego. Bez tego dostajesz wersję 1 jako roboczą, co jest właściwe, gdy człowiek ma najpierw przeczytać treść, i niewłaściwe w czymkolwiek zautomatyzowanym.

Powtórzona nazwa to template_name_taken, a powtórzony slug to template_slug_taken, oba 409 w obrębie połączenia, a nie konta.

Połączenie mieści 200 szablonów. Dwieście pierwszy to template_limit_reached, zabezpieczenie przed rozbieganym skryptem, a nie limit planu.