本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
調用 Lambda 函數
步驟 1:建立 Lambda 函式
在行銷活動執行期間,對外行銷活動會使用一批描述檔調用您的 Lambda 函數,並預期回應包含每個描述檔的結果。
請求承載
叫用 Lambda 函數時,它會收到具有下列結構的 JSON 承載:
承載結構
{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }
欄位描述
InvocationMetadata
-
CampaignContext:包含行銷活動執行的相關中繼資料
-
CampaignId:行銷活動的唯一識別符
-
RunId:此特定行銷活動執行的唯一識別符
-
ActionId:對外行銷活動執行的流程動作識別符
-
CampaignName:行銷活動的人類可讀取名稱
項目
-
CustomerProfiles:要處理的客戶設定檔陣列 (為了提高效率而批次處理)
-
ProfileId:客戶設定檔的唯一識別符
-
CustomerData:客戶設定檔的 JSON 字串
-
IdempotencyToken:此特定調用的唯一權杖,以確保等冪處理
請求承載範例
{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "campaign-12345", "RunId": "run-67890", "ActionId": "activity-abc123", "CampaignName": "Welcome Campaign" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "customer-001", "CustomerData": "{\"firstName\":\"John\",\"lastName\":\"Doe\",\"email\":\"john.doe@example.com\"}", "IdempotencyToken": "token-xyz789" }, { "ProfileId": "customer-002", "CustomerData": "{\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"email\":\"jane.smith@example.com\"}", "IdempotencyToken": "token-abc456" } ] } }
預期的回應承載
您的 Lambda 函數必須傳回具有下列結構的 JSON 回應:
回應結構
{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }
欄位描述
項目
-
CustomerProfiles:對應至請求中每個客戶設定檔的結果陣列
-
ID:必須符合請求
ProfileId中的 -
ResultData:包含處理結果的自訂 JSON 物件 (選用)
回應承載範例
{ "Items": { "CustomerProfiles": [ { "Id": "customer-001", "ResultData": { "recommendedProduct": "Premium Plan", "score": 85, "nextAction": "send_email" } }, { "Id": "customer-002", "ResultData": { "error": "Invalid customer data", "errorCode": "VALIDATION_ERROR" } } ] } }
重要限制
承載大小限制
-
回應承載大小上限:每個客戶設定檔 32 KB
-
如果您的
ResultData超過此限制,則調用將標記為無效
回應要求
-
您必須為請求中
ProfileId包含的每個 提供回應 -
遺失的回應會被視為錯誤
-
回應中的
Id欄位必須與請求ProfileId中的 完全相符
錯誤處理
-
如果您的 Lambda 函數擲回例外狀況,批次中的所有設定檔都會標示為失敗
-
ResultData基於偵錯目的,在 中包含錯誤詳細資訊
調用類型
-
調用類型:
REQUEST_RESPONSE(同步) -
您的函數應該會在 30 秒內傳回結果,而不是以非同步方式處理。超過 30 秒的回應會導致動作失敗
步驟 2:授予傳出行銷活動存取 Lambda 函數的權限
-
在 https://console.aws.amazon.com/connect/
開啟 Amazon Connect 主控台。 -
在執行個體頁面的執行個體別名資料欄中選擇您的執行個體名稱。此執行個體名稱會出現在您用來存取 Amazon Connect 的 URL 中。
-
在頻道和通訊下方的導覽窗格中,選擇外撥行銷活動。
-
在設定自訂動作區段下,使用 Lambda 函數下拉式方塊選取要新增至對外行銷活動執行個體的函數。
-
選擇新增 Lambda 函數。確認函數的 ARN 已新增至 Lambda 函數。
步驟 3:從行銷活動叫用 Lambda
-
開啟或建立旅程流程。
-
將自訂動作區塊 (在整合群組中) 新增至網格。將分支連接到區塊或從區塊連接。
-
選擇自訂動作區塊的標題,以開啟其屬性頁面。
-
在函數 ARN 下,從您已新增至對外行銷活動執行個體的函數清單中選擇。
步驟 4:使用 Lambda 函數回應
直接存取變數
若要直接在流程區塊中存取這些變數,請在自訂動作區塊之後新增 區塊,然後參考下列範例所示的屬性:
RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score
請確定為來源屬性指定的名稱符合 Lambda ResultData傳回之 中的金鑰名稱。