View a markdown version of this page

接收流程回應和狀態變更 - AWS 最終使用者傳訊社交

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

接收流程回應和狀態變更

當使用者完成流程或流程狀態變更時, AWS 最終使用者傳訊社交會透過您現有的設定事件目的地傳送 Webhook 通知。不需要額外的設定或新的事件類型 — 流程事件會自動交付到您用於訊息和交付收據的相同事件目的地。您必須啟用事件目的地才能接收這些通知。如需詳細資訊,請參閱將訊息和事件目的地新增至 AWS 最終使用者傳訊社交。

流程回應訊息

當使用者完成流程時,您會收到輸入訊息,其中包含 類型interactive和 子類型 nfm_reply。response_json 欄位包含使用者以 JSON 字串提交的資料。

下列範例顯示流程回應 Webhook 承載:

{ "messages": [ { "from": "14085551234", "id": "wamid.XXX", "timestamp": "1234567890", "type": "interactive", "interactive": { "type": "nfm_reply", "nfm_reply": { "response_json": "{\"name\":\"John Doe\",\"email\":\"john@example.com\",\"phone\":\"+14085551234\"}", "body": "Sent", "name": "flow" } } } ] }

response_json 包含對應於 Flow JSON 中定義之表單欄位名稱的鍵/值對,以及使用者輸入的值。剖析此 JSON 字串以擷取提交的資料。

流程狀態變更通知

當中繼變更流程的狀態時 (例如,從 PUBLISHED 變更為 BLOCKED),您會透過事件目的地收到通知。下列範例顯示狀態變更承載:

{ "entry": [ { "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [ { "value": { "event": "FLOW_STATUS_CHANGE", "flow_id": "{FLOW_ID}", "old_status": "PUBLISHED", "new_status": "BLOCKED", "reason": "Policy violation detected" }, "field": "flows" } ] } ] }

監控這些狀態變更事件,以偵測中繼區塊或調節流程的時間,讓您可以採取修正動作。

端點運作狀態通知 (動態流程)

對於具有端點的動態流程,中繼會監控端點運作狀態,並在偵測到問題時傳送通知。您可以透過設定的事件目的地接收這些項目。

端點錯誤率 — 當錯誤率在過去 30 分鐘內超過閾值時傳送:

{ "entry": [ { "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [ { "value": { "event": "ENDPOINT_ERROR_RATE", "flow_id": "{FLOW_ID}", "error_rate": 14.28, "threshold": 10, "alert_state": "ACTIVATED", "errors": [ { "error_type": "CAPABILITY_ERROR", "error_rate": 66.66, "error_count": 2 }, { "error_type": "TIMEOUT", "error_rate": 33.33, "error_count": 1 } ] }, "field": "flows" } ] } ] }

端點延遲 — 當 p90 延遲超過閾值時傳送:

{ "entry": [ { "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [ { "value": { "event": "ENDPOINT_LATENCY", "flow_id": "{FLOW_ID}", "p90_latency": 8000, "p50_latency": 500, "requests_count": 34, "threshold": 7000, "alert_state": "ACTIVATED" }, "field": "flows" } ] } ] }

端點可用性 — 當端點可用性低於閾值時傳送:

{ "entry": [ { "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [ { "value": { "event": "ENDPOINT_AVAILABILITY", "flow_id": "{FLOW_ID}", "availability": 75, "threshold": 90, "alert_state": "ACTIVATED" }, "field": "flows" } ] } ] }

在中繼區塊或調節流程之前,監控這些事件以偵測和解決端點問題。如需設定動態流程的詳細資訊,請參閱 設定動態流程。

流程版本過期警告

當流程使用的 Flow JSON 版本接近其end-of-life時,中繼會傳送警告 Webhook。當版本過期時,您必須先更新至較新的版本,才能傳送流程。

{ "entry": [ { "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [ { "value": { "event": "FLOW_VERSION_EXPIRY_WARNING", "flow_id": "{FLOW_ID}", "warning": "Your current Flow version will freeze in 21 days. You won't be able to send the Flow after it expires. Please migrate to the recommended version as soon as possible." }, "field": "flows" } ] } ] }

當您收到此警告時,透過UpdateWhatsAppFlowAssets呼叫更新後的 JSON 來更新 Flow JSON 以使用建議的版本 (目前為 7.3),然後重新發佈 Flow。