Sablonok listázása
A kapcsolat minden sablonja, a legújabbal kezdve, keyset lapozással.
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
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 mint | Kitölti | Ha küldéskor hiányzik |
|---|---|---|
| `slots` | aki a sablont szerkeszti | a slot saját default értéke jelenik meg |
| `props` | aki küld | missing_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 "$OE/templates?limit=25&status=active" -H "$AUTH"{ "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.