Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Invocación de funciones de Lambda
Paso 1: Crear una función de Lambda
Durante la ejecución de la campaña, las campañas salientes invocarán la función Lambda con un lote de perfiles y esperarán una respuesta que contenga los resultados de cada uno.
Solicita la carga útil
Cuando se invoque la función Lambda, recibirá una carga útil JSON con la siguiente estructura:
Estructura de carga útil
{ "InvocationMetadata": { "CampaignContext": { "CampaignId": "string", "RunId": "string", "ActionId": "string", "CampaignName": "string" } }, "Items": { "CustomerProfiles": [ { "ProfileId": "string", "CustomerData": "string", "IdempotencyToken": "string" } ] } }
Descripciones de campos
InvocationMetadata
-
CampaignContext: Contiene metadatos sobre la ejecución de la campaña
-
CampaignId: identificador único de la campaña
-
RunId: identificador único para esta campaña específica
-
ActionId: El identificador de la acción de flujo que ejecutan las campañas salientes
-
CampaignName: nombre de la campaña legible para los humanos
Items
-
CustomerProfiles: Variedad de perfiles de clientes para procesar (agrupados por lotes para mayor eficiencia)
-
ProfileId: identificador único para el perfil del cliente
-
CustomerData: cadena JSON del perfil del cliente
-
IdempotencyToken: token único para esta invocación específica para garantizar un procesamiento idempotente
Ejemplo de carga útil de solicitud
{ "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 respuesta esperada
La función Lambda debe devolver una respuesta JSON con la siguiente estructura:
Estructura de respuesta
{ "Items": { "CustomerProfiles": [ { "Id": "string", "ResultData": {} } ] } }
Descripciones de campos
Items
-
CustomerProfiles: Matriz de resultados correspondiente a cada perfil de cliente de la solicitud
-
ID: debe coincidir con el
ProfileIdde la solicitud -
ResultData: Objeto JSON personalizado que contiene los resultados del procesamiento (opcional)
Ejemplo de carga útil de respuesta
{ "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" } } ] } }
Restricciones importantes
Límites de tamaño de carga útil
-
Tamaño máximo de carga útil de respuesta: 32 KB por perfil de cliente
-
Si
ResultDatasupera este límite, la invocación se marcará como no válida
Requisitos de respuesta
-
Debe proporcionar una respuesta para cada uno de los
ProfileIdelementos incluidos en la solicitud -
Las respuestas faltantes se tratarán como errores
-
El
Idcampo de la respuesta debe coincidir exactamente con elProfileIdde la solicitud
Gestión de errores
-
Si la función Lambda arroja una excepción, todos los perfiles del lote se marcarán como fallidos
-
Incluya los detalles del error
ResultDatapara fines de depuración
Tipo de invocación
-
Tipo de invocación:
REQUEST_RESPONSE(sincrónica) -
La función debería devolver los resultados en 30 segundos en lugar de procesarlos de forma asíncrona. Las respuestas que tarden más de 30 segundos provocarán un error en la acción
Paso 2: Otorgue a Outbound Campaigns acceso a su función Lambda
-
Abra la consola Amazon Connect en https://console.aws.amazon.com/connect/
. -
En la página de instancias, el nombre de la instancia que hay en la columna Alias de instancia. Este nombre de instancia aparece en la URL que utiliza para acceder a Amazon Connect.
-
En el panel de navegación, en Canales y comunicaciones, selecciona Campañas salientes.
-
En la sección Configurar acciones personalizadas, usa el cuadro desplegable Funciones de Lambda para seleccionar la función que deseas añadir a tu instancia de campañas salientes.
-
Elija Agregar función Lambda. Confirme que el ARN de la función se añade en Funciones de Lambda.
Paso 3: Invocar una Lambda desde una campaña
-
Abre o crea un flujo de viaje.
-
Añada un bloque de acciones personalizado (en el grupo Integrar) a la cuadrícula. Conecte las ramas hacia y desde el bloque.
-
Elija el título del bloque de acciones personalizado para abrir su página de propiedades.
-
En Función ARN, elige una función de la lista de funciones que has añadido a tu instancia de campañas salientes.
Paso 4: Consumir la respuesta de la función Lambda
Acceder directamente a las variables
Para acceder a estas variables directamente en un bloque de flujo, añada el bloque después del bloque de acciones personalizadas y, a continuación, haga referencia a los atributos como se muestra en el siguiente ejemplo:
RecommendedProduct - $.LambdaInvocation.ResultData.recommendedProduct Score - $.LambdaInvocation.ResultData.score
Asegúrese de que el nombre especificado para el atributo de origen coincida con el nombre de clave ResultData devuelto por la Lambda.