Bỏ qua tới phần tài liệu
API

Gửi bằng template

Phần thân đã lưu cung cấp nội dung thư; request cung cấp phong bì và các giá trị.

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

Chạy lệnh gọi thật với không gian làm việc của bạn, bằng khóa của chính bạn.

POST /templates/{id}/send

Phần thân đã lưu cung cấp nội dung thư; request cung cấp phong bì và các giá trị.

Ví dụ

Cần templates:writeemails:send. Tuân theo Idempotency-Key đúng như 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" }  }'
Phản hồi
{  "object": "email",  "id": "msg_c5f21cc6…",  "status": "queued",  "from": "[email protected]",  "subject": "Order AC-4192 is on its way",  "template": { "id": "order-shipped", "version": 5 }}

Cả hai scope, và không cái nào thừa: templates:write vì caller đang truy cập một phần thân đã lưu, emails:send vì thư rời khỏi workspace. Một key được phép gửi phần thân của chính nó vẫn không thể gửi template của người khác.

Hãy ghim version trong bất cứ thứ gì tự động. Bỏ trống thì bạn phân giải ra bản đang được xuất bản tại thời điểm đó, đúng thứ bạn muốn khi người khác sở hữu nội dung, và không phải thứ bạn muốn vào buổi sáng họ viết lại nó.

subject ghi đè subject của chính template chỉ cho thư này, còn cancellableForSeconds, trackingtags hoạt động đúng như trên một lần gửi thông thường.

POST /emails nhận một trường template làm cùng việc đó, dành cho caller vốn đã dựng thư ở đó. Endpoint này tồn tại để việc dùng một phần thân đã lưu không đòi hỏi phải cung cấp cấu trúc của một thư mà bạn không soạn.

Khi một lần gửi bị từ chối

Props là một hợp đồng chứ không phải một gợi ý, và mọi thất bại bên dưới đều xảy ra trước khi bất cứ thứ gì được gửi đi. Phương án còn lại, một thư đi ra với chỗ trống nơi lẽ ra là mã đơn hàng, không được bất cứ thứ gì báo cáo và không thể thu hồi.

Trạng tháiChuyện gì đã xảy ra
`resource_not_found`404Không có template nào trên connection này với id hoặc slug đó.
`template_not_published`422Nó tồn tại nhưng chưa từng được xuất bản, hoặc phiên bản bạn nêu vẫn còn là bản nháp.
`template_version_not_found`422Bạn đã ghim một version mà template này chưa từng có.
`missing_template_prop`422Một prop được khai báo required bị thiếu, null hoặc rỗng.
`unknown_template_prop`422Bạn đã truyền một key mà phiên bản đó không khai báo. Thông báo nêu tên những key mà nó có khai báo.
`unknown_template_slot`422Tương tự, nhưng cho một slot.
`invalid_template_prop`422Một giá trị không phải string, number hay boolean. Một object hoặc array không thể được thay vào HTML.

param trên các lỗi này là template.props.<key>, nên client có thể chỉ thẳng vào trường bị sai mà không cần parse thông báo.