As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Invocar funções do Lambda
Etapa 1: criar uma função do Lambda
Durante a execução da campanha, as campanhas externas invocarão sua função Lambda com um lote de perfis e esperam uma resposta contendo resultados para cada um.
Solicitar carga
Quando sua função Lambda for invocada, ela receberá uma carga JSON com a seguinte estrutura:
Estrutura da carga útil
{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }
Descrições de campo
InvocationMetadata
-
CampaignContext: contém metadados sobre a execução da campanha
-
CampaignId: Identificador exclusivo para a campanha
-
RunId: identificador exclusivo para essa campanha específica veiculada
-
ActionId: O identificador da ação de fluxo que está sendo executada por campanhas externas
-
CampaignName: Nome legível por humanos da campanha
Itens
-
CustomerProfiles: Conjunto de perfis de clientes para processar (agrupados para maior eficiência)
-
ProfileId: Identificador exclusivo para o perfil do cliente
-
CustomerData: string JSON do perfil do cliente
-
IdempotencyToken: token exclusivo para essa invocação específica para garantir um processamento idempotente
Exemplo de carga útil de solicitação
{ "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" } ] } }
Carga útil de resposta esperada
Sua função Lambda deve retornar uma resposta JSON com a seguinte estrutura:
Estrutura de resposta
{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }
Descrições de campo
Itens
-
CustomerProfiles: matriz de resultados correspondente a cada perfil de cliente na solicitação
-
ID: deve corresponder ao
ProfileIdda solicitação -
ResultData: objeto JSON personalizado contendo seus resultados de processamento (opcional)
Exemplo de carga útil de resposta
{ "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" } } ] } }
Restrições importantes
Limites de tamanho de carga
-
Tamanho máximo da carga útil de resposta: 32 KB por perfil de cliente
-
Se você
ResultDataexceder esse limite, a invocação será marcada como inválida
Requisitos de resposta
-
Você deve fornecer uma resposta para cada item
ProfileIdincluído na solicitação -
As respostas ausentes serão tratadas como erros
-
O
Idcampo na resposta deve corresponder exatamente aoProfileIdda solicitação
Tratamento de erros
-
Se sua função Lambda gerar uma exceção, todos os perfis no lote serão marcados como falhados
-
Inclua detalhes do erro
ResultDatapara fins de depuração
Tipo de invocação
-
Tipo de invocação:
REQUEST_RESPONSE(síncrono) -
Sua função deve retornar os resultados em 30 segundos, em vez de ser processada de forma assíncrona. Respostas que demoram mais de 30 segundos resultarão em falha na ação
Etapa 2: conceder às campanhas externas acesso à sua função Lambda
-
Abra o console do Amazon Connect em https://console.aws.amazon.com/connect/
. -
Na página Instâncias, escolha o nome da instância na coluna Alias da instância. Esse nome da instância aparece no URL que você usa para acessar o Amazon Connect.
-
No painel de navegação, em Canais e comunicações, escolha Campanhas externas.
-
Na seção Configurar ações personalizadas, use a caixa suspensa Funções do Lambda para selecionar a função a ser adicionada à sua instância de campanhas externas.
-
Escolha Adicionar função do Lambda. Confirme se o ARN da função é adicionado em Lambda Functions (Funções Lambda).
Etapa 3: invocar um Lambda a partir de uma campanha
-
Abra ou crie um fluxo do Journey.
-
Adicione um bloco de ação personalizado (no grupo Integrar) à grade. Conecte as ramificações ao bloco e vice-versa.
-
Escolha o título do bloco de ação personalizada para abrir sua página de propriedades.
-
Em ARN da função, escolha na lista de funções que você adicionou à sua instância de campanhas externas.
Etapa 4: Consumir a resposta da função Lambda
Acessar variáveis diretamente
Para acessar essas variáveis diretamente em um bloco de fluxo, adicione o bloco após o bloco de ação personalizada e, em seguida, faça referência aos atributos conforme mostrado no exemplo a seguir:
RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score
Certifique-se de que o nome especificado para o atributo de origem corresponda ao nome da chave ResultData retornada do Lambda.