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.
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 -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" } }'{ "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ód | Státusz | Mi történt |
|---|---|---|
| `resource_not_found` | 404 | Ezen a kapcsolaton nincs ilyen id-jű vagy slugú sablon. |
| `template_not_published` | 422 | Létezik, de soha nem tették közzé, vagy a megnevezett verzió még piszkozat. |
| `template_version_not_found` | 422 | Olyan version értéket rögzítettél, amely ennek a sablonnak sosem volt. |
| `missing_template_prop` | 422 | Egy required-ként deklarált prop hiányzott, null vagy üres volt. |
| `unknown_template_prop` | 422 | Olyan kulcsot adtál át, amelyet a verzió nem deklarál. Az üzenet megnevezi azokat, amelyeket igen. |
| `unknown_template_slot` | 422 | Ugyanez, csak slotra. |
| `invalid_template_prop` | 422 | Olyan é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é.