Şablonla gönder
Saklanan gövde mesajı sağlar; istek zarfı ve değerleri sağlar.
Gerçek çağrıyı kendi anahtarınızla çalışma alanınıza karşı çalıştırır.
POST /templates/{id}/send
Saklanan gövde mesajı sağlar; istek zarfı ve değerleri sağlar.
Örnek
templates:write VE emails:send gerekir. Idempotency-Key başlığını tam olarak POST /emails gibi işler.
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 }}Her iki kapsam da gerekir ve hiçbiri gereksiz değildir: templates:write, çünkü çağıran saklanan bir gövdeye uzanıyor; emails:send, çünkü posta çalışma alanından çıkıyor. Kendi gövdelerini gönderebilen bir anahtar yine de başkasının şablonunu gönderemez.
Otomatik her şeyde version sabitleyin. Vermezseniz o anda yayımlanmış olan neyse onu çözümlersiniz ki metnin sahibi başkasıysa istediğiniz budur, onu yeniden yazdıkları sabah ise istemediğiniz şeydir.
subject, şablonun kendi konusunu yalnızca bu mesaj için geçersiz kılar; cancellableForSeconds, tracking ve tags ise düz bir gönderimdekiyle tam olarak aynı davranır.
POST /emails, zaten orada mesaj kuran bir çağıran için aynı işi yapan bir template alanı kabul eder. Bu uç nokta, saklanan bir gövdeye uzanmanın, oluşturmadığınız bir mesajın biçimini sağlamayı gerektirmemesi için vardır.
Bir gönderim ne zaman reddedilir
Prop'lar bir öneri değil bir sözleşmedir ve aşağıdaki her hata, herhangi bir şey sevk edilmeden önce gerçekleşir. Alternatifi, yani sipariş numarasının olması gereken yerde boşlukla giden bir mesaj, hiçbir şey tarafından bildirilmez ve geri çağrılamaz.
| Kod | Durum | Ne oldu |
|---|---|---|
| `resource_not_found` | 404 | Bu bağlantıda o id ya da slug ile bir şablon yok. |
| `template_not_published` | 422 | Var ama hiç yayımlanmamış ya da adlandırdığınız sürüm hâlâ taslak. |
| `template_version_not_found` | 422 | Bu şablonun hiç sahip olmadığı bir version sabitlediniz. |
| `missing_template_prop` | 422 | required olarak bildirilen bir prop yok, null ya da boştu. |
| `unknown_template_prop` | 422 | Sürümün bildirmediği bir anahtar geçtiniz. Mesaj, bildirdiklerini adlandırır. |
| `unknown_template_slot` | 422 | Aynısı, bir yuva için. |
| `invalid_template_prop` | 422 | string, number ya da boolean olmayan bir değer. Bir object ya da array HTML içine yerleştirilemez. |
Bunlarda param değeri template.props.<key> olur; böylece bir istemci, mesajı ayrıştırmadan yanlış verdiği alana işaret edebilir.