Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Richiamo delle funzioni Lambda
Fase 1: creare una funzione Lambda
Durante l'esecuzione della campagna, le campagne in uscita richiameranno la funzione Lambda con un batch di profili e si aspettano una risposta contenente i risultati per ciascuno.
Richiedi Payload
Quando la funzione Lambda viene richiamata, riceverà un payload JSON con la seguente struttura:
Struttura del payload
{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }
Descrizioni dei campi
InvocationMetadata
-
CampaignContext: contiene metadati sull'esecuzione della campagna
-
CampaignId: identificatore univoco per la campagna
-
RunId: identificatore univoco per questa campagna specifica
-
ActionId: L'identificatore dell'azione di flusso eseguita dalle campagne in uscita
-
CampaignName: nome della campagna leggibile dall'uomo
Item
-
CustomerProfiles: Gamma di profili dei clienti da elaborare (raggruppati per garantire l'efficienza)
-
ProfileId: identificatore univoco per il profilo del cliente
-
CustomerData: stringa JSON del profilo del cliente
-
IdempotencyToken: Token unico per questa chiamata specifica per garantire un'elaborazione idempotente
Esempio: Request Payload
{ "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" } ] } }
Payload di risposta previsto
La tua funzione Lambda deve restituire una risposta JSON con la seguente struttura:
Struttura della risposta
{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }
Descrizioni dei campi
Item
-
CustomerProfiles: serie di risultati corrispondenti a ciascun profilo cliente nella richiesta
-
Id: deve corrispondere
ProfileIdal modulo della richiesta -
ResultData: oggetto JSON personalizzato contenente i risultati dell'elaborazione (opzionale)
Esempio: Response Payload
{ "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" } } ] } }
Vincoli importanti
Limiti di dimensione del carico utile
-
Dimensione massima del payload di risposta: 32 KB per profilo cliente
-
Se si
ResultDatasupera questo limite, la chiamata verrà contrassegnata come non valida
Requisiti di risposta
-
È necessario fornire una risposta per ogni
ProfileIdelemento incluso nella richiesta -
Le risposte mancanti verranno trattate come errori
-
Il
Idcampo nella risposta deve corrispondere esattamenteProfileIda quello della richiesta
Gestione errori
-
Se la funzione Lambda genera un'eccezione, tutti i profili del batch verranno contrassegnati come falliti
-
Includi i dettagli dell'errore
ResultDataper scopi di debug
Tipo di chiamata
-
Tipo di invocazione: (sincrono)
REQUEST_RESPONSE -
La funzione dovrebbe restituire i risultati entro 30 secondi anziché essere elaborata in modo asincrono. Le risposte che richiedono più di 30 secondi comporteranno il fallimento dell'azione
Fase 2: concedere alle campagne in uscita l'accesso alla funzione Lambda
-
Apri la console Amazon Connect all'indirizzo https://console.aws.amazon.com/connect/
. -
Nella pagina delle istanze, scegli il nome dell'istanza nella colonna Alias istanza. Questo nome di istanza appare nell'URL che usi per accedere ad Amazon Connect.
-
Nel riquadro di navigazione sotto Canali e comunicazioni, scegli Campagne in uscita.
-
Nella sezione Configura azioni personalizzate, utilizza la casella a discesa Funzioni Lambda per selezionare la funzione da aggiungere all'istanza delle tue campagne in uscita.
-
Scegli Aggiungi funzione Lambda. Verifica che l'ARN della funzione sia aggiunto sotto la voce Lambda Functions (Funzioni Lambda).
Passaggio 3: richiamare una Lambda da una campagna
-
Apri o crea un flusso di Journey.
-
Aggiungi un blocco di azioni personalizzato (nel gruppo Integrate) alla griglia. Collega i rami da e al blocco.
-
Scegli il titolo del blocco di azioni Personalizzate per aprire la pagina delle proprietà.
-
In Funzione ARN, scegli dall'elenco delle funzioni che hai aggiunto all'istanza delle tue campagne in uscita.
Fase 4: Consuma la risposta della funzione Lambda
Accesso diretto alle variabili
Per accedere a queste variabili direttamente in un blocco di flusso, aggiungi il blocco dopo il blocco di azioni personalizzate, quindi fai riferimento agli attributi come mostrato nell'esempio seguente:
RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score
Assicurati che il nome specificato per l'attributo source corrisponda al nome della chiave ResultData restituito da Lambda.