Ugrás a dokumentációra
API

Küldés sablonnal

A tárolt törzs adja az üzenetet; a kérés adja a borítékot és az értékeket.

POSTapi.openemail.uk/templates/{id}/send

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

POST /templates/{id}/send

A tárolt törzs adja az üzenetet; a kérés adja a borítékot és az értékeket.

Példa

templates:write ÉS emails:send szükséges hozzá. Az Idempotency-Key fejlécet pontosan úgy tiszteli, ahogy a POST /emails.

curl
curl -X POST "$OE/templates/order-shipped/send" -H "$AUTH" \  -H "Content-Type: application/json" -H "Idempotency-Key: order:AC-4192:shipped" \  -d '{    "from": "Acme Dispatch <[email protected]>",    "to": ["[email protected]"],    "version": 5,    "props": { "orderId": "AC-4192", "customer": "Ada" }  }'
Válasz
{  "object": "email",  "id": "msg_c5f21cc6…",  "status": "queued",  "from": "[email protected]",  "subject": "Order AC-4192 is on its way",  "template": { "id": "order-shipped", "version": 5 }}

Mindkét hatókör kell, és egyik sem felesleges: a templates:write azért, mert a hívó egy tárolt törzshöz nyúl, az emails:send pedig azért, mert levél hagyja el a munkaterületet. Az a kulcs, amely a saját törzseit elküldheti, még mindig nem küldheti el valaki más sablonját.

Bármi automatizáltban rögzítsd a version értéket. Ha kihagyod, azt oldod fel, ami abban a pillanatban közzé van téve, amit akkor akarsz, ha valaki más birtokolja a szöveget, és nem akarsz azon a reggelen, amikor átírja.

A subject csak erre az üzenetre írja felül a sablon sajátját, a cancellableForSeconds, a tracking és a tags pedig pontosan úgy viselkedik, mint egy sima küldésnél.

A POST /emails elfogad egy template mezőt, amely ugyanezt teszi, annak a hívónak, aki már ott építi az üzeneteit. Ez a végpont azért létezik, hogy egy tárolt törzs eléréséhez ne kelljen megadni egy olyan üzenet alakját, amelyet nem is te állítasz össze.

Amikor egy küldést elutasítunk

A propok szerződések, nem javaslatok, és az alábbi minden hiba azelőtt történik, hogy bármit is kiküldenénk. Az alternatívát, vagyis a kimenő üzenetet, amelyben üresen áll a rendelésszám helye, semmi nem jelzi, és nem vonható vissza.

KódStátuszMi történt
`resource_not_found`404Ezen a kapcsolaton nincs ilyen id-jű vagy slugú sablon.
`template_not_published`422Létezik, de soha nem tették közzé, vagy a megnevezett verzió még piszkozat.
`template_version_not_found`422Olyan version értéket rögzítettél, amely ennek a sablonnak sosem volt.
`missing_template_prop`422Egy required-ként deklarált prop hiányzott, null vagy üres volt.
`unknown_template_prop`422Olyan kulcsot adtál át, amelyet a verzió nem deklarál. Az üzenet megnevezi azokat, amelyeket igen.
`unknown_template_slot`422Ugyanez, csak slotra.
`invalid_template_prop`422Olyan érték, amely nem string, number vagy boolean. Egy object vagy egy array nem helyettesíthető be HTML-be.

Ezeken a param értéke template.props.<key>, így a kliens rámutathat az elrontott mezőre anélkül, hogy az üzenetet elemezné.