Ugrás a dokumentációra
API

Sablonok listázása

A kapcsolat minden sablonja, a legújabbal kezdve, keyset lapozással.

GETapi.openemail.uk/templates

A valódi hívást futtatja le a munkaterületén, a saját kulcsával.

GET /templates

A kapcsolat minden sablonja, a legújabbal kezdve, keyset lapozással.

Két motor

shell
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"

A sablon egyszer eltárolt és sokszor elküldött törzs, és a KAPCSOLATHOZ tartozik, nem ahhoz, aki megírta. Egy munkaterületi kulcs ugyanazokat a sablonokat látja, mint egy kollégád, és a szerző fiókjának törlése nem viszi őket magával.

Az engine: "blocks" olyan fát tárol, amelynek csomóponttípusai a @react-email/components exportjai (Section, Row, Column, Container, Text, Heading, Button, Link, Img, Hr, Markdown, CodeBlock és CodeInline), propjai pedig e komponensek sajátjai. Bemenetkor validáljuk, tehát egy hibás csomópont 422 azon a híváson, amely leírta, nem pedig egy elromlott e-mail később.

Az engine: "html" olyan jelölőkódot tárol, amely már megvan neked, és amelyet egyszer, a verzió közzétételekor fertőtlenítünk. Ehhez nyúlj, ha a sablonjaid a saját repódban élő react-email komponensek: rendereld a komponenst a @react-email/render segítségével a saját buildedben, és az eredményt küldd be. JSX-végpont nincs, és nem is lesz. Az API HTML-t fogad, mert a levelezőkliens HTML-t olvas, és egy hívó komponensének futtatása olyan sandboxot venne, amelyre senkinek sincs szüksége.

Deklarálva mintKitöltiHa küldéskor hiányzik
`slots`aki a sablont szerkesztia slot saját default értéke jelenik meg
`props`aki küldmissing_template_prop, egy 422, és nem megy ki levél

Mindkettőt {{key}} alakban írod a törzsbe és a tárgyba, és mindkettő visel egy kind értéket (text, url vagy image), amely eldönti, hogyan escape-eljük az értéket behelyettesítéskor. Az a kulcs, amelyet semmi nem deklarál, közzétételkor elbukik; az a url érték, amelynek sémája nem http, https vagy mailto, elutasításra kerül, nem pedig megjelenik.

A közzétett verzió be van fagyasztva. Egy közzétett sablon törzsének szerkesztése új piszkozatot ver ahelyett, hogy megváltoztatná, amit az élő küldések feloldanak, így egy kolléga, aki átírja a szöveget, nem változtathatja meg, amit a kódod már küld, és a version rögzítése azt jelenti, hogy közzétételkor sem változtathatja meg.

Példa

templates:read szükséges hozzá. A limit 100-ig megy, a status draft, active vagy archived értékre szűkít, a cursor pedig átlátszatlan, tehát a kapott nextCursor értéket add vissza ahelyett, hogy magad építenél egyet.

curl
curl "$OE/templates?limit=25&status=active" -H "$AUTH"
Válasz
{  "object": "list",  "data": [    {      "object": "template",      "id": "tpl_9c1f0a4b7e05d3862c1f0a44",      "name": "Order shipped",      "slug": "order-shipped",      "description": null,      "status": "active",      "publishedVersion": 3,      "latestVersion": 4,      "createdAt": "2026-08-01T09:12:44.000Z",      "updatedAt": "2026-08-28T16:03:10.000Z"    }  ],  "hasMore": false,  "nextCursor": null}

A publishedVersion az, amit egy version nélküli küldés felold, a latestVersion pedig a fölötte ülő piszkozat. Ha a kettő eltér, valaki szerkesztett, és nem tette közzé. Ez nem hiba, és érdemes megjeleníteni egy deploy logban.

Egy sor metaadat. A deklarált slots és props a lekéréskor jön vissza, tehát azt a hívást indítsd, ha tudnod kell, mit kell átadni egy sablonnak.