ドキュメント本文へスキップ
API

テンプレートをプレビューする

送信した場合に生成されるのとまったく同じ HTML を、送信せずに返します。

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

実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。

POST /templates/{id}/preview

送信した場合に生成されるのとまったく同じ HTML を、送信せずに返します。

templates:read が必要です。値をボディに載せるので POST です。何も書き込まれず、何も送信されません。

curl
curl -X POST "$OE/templates/order-shipped/preview" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "version": 5, "props": { "orderId": "AC-4192" } }'
レスポンス
{  "object": "template_preview",  "templateId": "tpl_9c1f0a4b7e05d3862c1f0a44",  "version": 5,  "subject": "Order AC-4192 is on its way",  "html": "<!DOCTYPE html><html>…</html>",  "text": "Hello there, AC-4192 is on its way.",  "warnings": [{ "code": "unfilled_placeholder", "key": "customer" }]}

CI をここに向けてください。そうすれば、連携を壊すテンプレート変更は、顧客を戸惑わせるメールではなく失敗するテストになります。

送信が厳格な箇所で、ここは寛容です。必須の prop が欠けていても拒否されず warnings に報告されます。プレビューされているテンプレートは、たいてい執筆中のテンプレートだからです。ただし未知の prop はここでも 422 です。タイプミスはどの段階でもタイプミスだからです。

下書きもプレビューでき、公開の外で何かを描画する経路はこれだけです。version を省けば公開中のものをプレビューし、指定すればそのリビジョン(下書きを含む)をプレビューします。

text/html ではなく必ず JSON です。HTML はフィールド内の文字列なので、クライアントはそれをどう扱うか決める前にレスポンスをパースできます。