Ves a la documentació
API

Enviar amb una plantilla

El cos desat proporciona el missatge; la petició proporciona el sobre i els valors.

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

Executa la crida real contra el teu espai de treball, amb la teva pròpia clau.

POST /templates/{id}/send

El cos desat proporciona el missatge; la petició proporciona el sobre i els valors.

Exemple

Necessita templates:write I emails:send. Respecta Idempotency-Key exactament igual que 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" }  }'
Resposta
{  "object": "email",  "id": "msg_c5f21cc6…",  "status": "queued",  "from": "[email protected]",  "subject": "Order AC-4192 is on its way",  "template": { "id": "order-shipped", "version": 5 }}

Tots dos àmbits, i cap no és redundant: templates:write perquè qui truca arriba a un cos desat, emails:send perquè el correu surt de l'espai de treball. Una clau que pot enviar els seus propis cossos continua sense poder enviar la plantilla d'algú altre.

Fixa version en qualsevol cosa automatitzada. Si l'omets, resols el que estigui publicat en aquell moment, que és el que vols quan el text és d'algú altre i no és el que vols el matí que el reescriuen.

subject substitueix el de la plantilla només per a aquest missatge, i cancellableForSeconds, tracking i tags es comporten exactament igual que en un enviament normal.

POST /emails accepta un camp template que fa el mateix, per a qui ja construeix missatges allà. Aquest endpoint existeix perquè arribar a un cos desat no exigeixi proporcionar la forma d'un missatge que no estàs component.

Quan es rebutja un enviament

Les props són un contracte i no pas un suggeriment, i totes les fallades de sota passen abans de despatxar res. L'alternativa, un missatge que surt amb un buit on hi havia el número de comanda, no la reporta res i no es pot recuperar.

CodiEstatQuè ha passat
`resource_not_found`404Cap plantilla d'aquesta connexió amb aquest id o slug.
`template_not_published`422Existeix i no s'ha publicat mai, o la versió que has indicat encara és un esborrany.
`template_version_not_found`422Has fixat una version que aquesta plantilla no ha tingut mai.
`missing_template_prop`422Una prop declarada required era absent, null o buida.
`unknown_template_prop`422Has passat una clau que la versió no declara. El missatge anomena les que sí que declara.
`unknown_template_slot`422El mateix, però per a un slot.
`invalid_template_prop`422Un valor que no és un string, un number o un boolean. Un object o un array no es poden substituir dins d'HTML.

El param d'aquests és template.props.<key>, de manera que un client pot assenyalar el camp que ha errat sense analitzar el missatge.