在此頁面上:遵循使用條件規則反複巢狀設定檔陣列的個人化使用案例,以建置健康計畫電子郵件,其中會列出準備收取或回收的處方。
設定檔包含健康計畫,而每個計畫都包含處方。 處方有各種狀態,例如「就緒」、「召回」或「已接受」。
在此使用案例中,我們希望傳送一封電子郵件給每個設定檔,包括所有準備好取用或召回的處方。 按一下底下的每個標籤,以取得關於用於實作此使用案例的語法的詳細資訊。
已轉譯的訊息
嗨,John Doe,
以下是已準備好取貨或已被召回的處方:
健康情況計畫A
- 處方識別碼: pres1
名稱:藥物A
狀態:就緒 - 處方識別碼: pres2
名稱:藥物B
狀態:撤銷
健康情況計畫B
- 處方識別碼: pres4
名稱:藥物D
狀態:就緒
HTML範本
| code language-html |
|---|
|
設定檔資料
| code language-javascript |
|---|
|
AI Knowledge Reference
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page demonstrates a complete personalization use case: iterating over nested profile arrays (health plans containing prescriptions) with conditional filtering to display only prescriptions in “ready” or “recall” states in an email.
Intents:
- See a rendered output example of a personalized health plan email
- Understand the HTML template using nested
{{#each}}and{%#if%}blocks for conditional array iteration - Understand the required profile data structure: a
plansarray where each plan contains aprescriptionsarray withstatefields
Glossary:
- Nested iteration: Using
{{#each}}loops inside other{{#each}}loops to traverse multi-level array structures in profile data (e.g., plans → prescriptions). - Prescription state: A field on each prescription object indicating its lifecycle status in this use case — values used are “ready”, “recall”, and “picked up”. (use-case specific)
{%#if%}/{%/if%}: Conditional block syntax used within message templates to filter array items during iteration (distinct from the double-curly{{#if}}Handlebars syntax).
Terminology:
- Canonical name: nested array iteration — variants: nested loops, nested each, multi-level iteration
- Do not confuse:
{{#each}}/{{/each}}(Handlebars iteration syntax, double curly braces) ≠{%#if%}/{%/if%}(conditional syntax, percent-curly braces) — both are used together in this template - Do not confuse: “ready” (prescription available for pickup) ≠ “recall” (prescription has been recalled) ≠ “picked up” (prescription already collected — excluded from the output by the conditional filter)
FAQ:
- Q: Which prescription states are included in the email output? — Only prescriptions with state “ready” or “recall” are displayed. Prescriptions with state “picked up” are excluded by the
{%#if prescription.state = "ready" or prescription.state = "recall"%}conditional filter. - Q: What profile data structure is required for this use case? — A profile with a
plansarray, where each plan object contains aprescriptionsarray. Each prescription object must haveprescription_id,name, andstatefields. - Q: How are plans and prescriptions iterated in the template? — The outer
{{#each profile.plans as |plan|}}loop iterates over each health plan. Inside it,{{#each plan.prescriptions as |prescription|}}iterates over each plan’s prescriptions, and a conditional block filters to only “ready” or “recall” states.
recommendation-more-help
journey-optimizer-help