健康計劃處方電子郵件 plan-prescription

在此頁面上:​遵循使用條件規則反複巢狀設定檔陣列的個人化使用案例,以建置健康計畫電子郵件,其中會列出準備收取或回收的處方。

設定檔包含健康計畫,而每個計畫都包含處方。 處方有各種狀態,例如「就緒」、「召回」或「已接受」。

在此使用案例中,我們希望傳送一封電子郵件給每個設定檔,包括所有準備好取用或召回的處方。 按一下底下的每個標籤,以取得關於用於實作此使用案例的語法的詳細資訊。

已轉譯的訊息

嗨,John Doe,

以下是已準備好取貨或已被召回的處方:

健康情況計畫A

  • 處方識別碼: pres1
    名稱:藥物A
    狀態:就緒
  • 處方識別碼: pres2
    名稱:藥物B
    狀態:撤銷

健康情況計畫B

  • 處方識別碼: pres4
    名稱:藥物D
    狀態:就緒
HTML範本
code language-html
<p>Hi {{profile.person.firstName}} {{profile.person.lastName}},</p>
<p>Here are the prescriptions that are either ready for pick up or have been recalled:</p>
{{#each profile.plans as |plan|}}
<h3>{{plan.name}}</h3>
<ul>
   {{#each plan.prescriptions as |prescription|}}
   {%#if prescription.state = "ready" or prescription.state = "recall"%}
   <li>
      <strong>Prescription ID:</strong> {{prescription.prescription_id}}<br>
      <strong>Name:</strong> {{prescription.name}}<br>
      <strong>State:</strong> {{prescription.state}}
   </li>
   {%/if%}
   {{/each}}
</ul>
{{/each}}
設定檔資料
code language-javascript
{
  "profile": {
    "person": {
      "firstName": "John",
      "lastName": "Doe"
    },
    "plans": [
      {
        "planId": "plan1",
        "name": "Health Plan A",
        "prescriptions": [
          {
            "prescription_id": "pres1",
            "name": "Medication A",
            "state": "ready"
          },
          {
            "prescription_id": "pres2",
            "name": "Medication B",
            "state": "recall"
          }
        ]
      },
      {
        "planId": "plan2",
        "name": "Health Plan B",
        "prescriptions": [
          {
            "prescription_id": "pres3",
            "name": "Medication C",
            "state": "picked up"
          },
          {
            "prescription_id": "pres4",
            "name": "Medication D",
            "state": "ready"
          }
        ]
      }
    ]
  }
}

快速參考 quick-reference

本節包含結構化知識,用於支援與本主題相關的解譯、擷取和問答。

如需完整瞭解,此資訊應結合本頁的檔案。 兩者皆非獨立來源;頁面說明功能,本節提供額外內容,以協助去除術語、意圖、適用性和限制條件的歧義。

概觀

TL;DR

此頁面示範完整的個人化使用案例:使用條件式篩選來反複處理巢狀設定檔陣列(包含處方的健康情況計畫),以在電子郵件中僅顯示處於「就緒」或「召回」狀態的處方。

個意圖

  • 檢視個人化健康計畫電子郵件的轉譯輸出範例
  • 使用巢狀{{#each}}{%#if%}區塊進行條件陣列反複專案,瞭解HTML範本
  • 瞭解必要的設定檔資料結構: plans陣列,其中每個計畫都包含具有state欄位的prescriptions陣列
字彙
  • 巢狀反複專案:在其他{{#each}}回圈內使用{{#each}}回圈,以周遊設定檔資料中的多階層陣列結構(例如,計畫→處方)。
  • 處方狀態:每個處方物件上的欄位,指出其在此使用案例中的生命週期狀態 — 使用的值為「就緒」、「召回」和「已提取」。 (使用案例特定)
  • {%#if%}/{%/if%}:訊息範本中使用的條件區塊語法,在反複專案期間篩選陣列專案(不同於雙捲曲{{#if}} Handlebars語法)。
術語
  • 正式名稱:​巢狀陣列反複專案 — 變體:巢狀回圈,每個巢狀多層反複專案
  • 請勿混淆: {{#each}} / {{/each}} (Handlebars反複專案語法,雙大括弧)≠ {%#if%} / {%/if%} (條件語法,% — 大括弧) — 這兩個專案在此範本中同時使用
  • 請勿混淆: 「已備妥」(處方可供提取)≠「回收」(處方已回收)≠「提取」(處方已收集 — 條件篩選條件會從輸出中排除)
常見問題集

問:電子郵件輸出包含哪些處方狀態?

只會顯示狀態為「就緒」或「召回」的處方。 {%#if prescription.state = "ready" or prescription.state = "recall"%}條件篩選條件會排除狀態為「已擷取」的處方。

問:此使用案例需要什麼設定檔資料結構?

具有plans陣列的設定檔,其中每個計畫物件都包含prescriptions陣列。 每個處方物件都必須有prescription_idnamestate欄位。

問:範本中如何反複使用計畫和處方?

外部{{#each profile.plans as |plan|}}回圈會在每個健康狀態計畫上反複執行。 在其中,{{#each plan.prescriptions as |prescription|}}反複執行每個計畫的處方,並且條件式區塊篩選器僅篩選為「就緒」或「召回」狀態。

recommendation-more-help
journey-optimizer-help