Saltar al contenido principal
Didit recauda 7,5M $ para construir la infraestructura para identidad y fraude
Didit
Volver al blog
Blog · 6 de marzo de 2026

Creación de Escuchadores de Webhooks Didit con AWS Lambda y API Gateway (ES)

Aprenda a crear escuchadores de webhooks Didit robustos y escalables usando TypeScript, AWS Lambda y API Gateway (Serverless Framework). Esta guía cubre la configuración, verificación de firma y procesamiento seguro de eventos.

Por DiditActualizado el
building-didit-webhook-listeners-with-aws-lambda-api-gateway.png

Integración Segura de WebhooksImplementar una verificación robusta de la firma de webhooks utilizando la clave secreta compartida de Didit es crucial para garantizar la integridad y autenticidad de los datos entrantes de la plataforma de Didit, protegiendo contra la suplantación y la manipulación.

Arquitectura Serverless EscalableAprovechar AWS Lambda y API Gateway con Serverless Framework proporciona una solución altamente escalable y rentable para manejar eventos de webhook de Didit, ajustándose automáticamente a cargas variables sin intervención manual.

Flujos de Trabajo de Identidad en Tiempo RealEl procesamiento de webhooks de Didit en tiempo real permite respuestas inmediatas a los resultados de verificación de identidad, facilitando la incorporación dinámica de usuarios, la detección de fraudes y las acciones de cumplimiento, mejorando la eficiencia operativa.

Enfoque Developer-First de DiditDidit simplifica la gestión de webhooks con documentación API clara, rotación sencilla de claves secretas y una arquitectura modular, permitiendo a los desarrolladores construir e implementar rápidamente flujos de trabajo personalizados basados en eventos con KYC Core Gratuito y sin tarifas de configuración.

El Poder de los Webhooks en la Verificación de Identidad

En el mundo de la verificación de identidad, la retroalimentación en tiempo real es primordial. Ya sea que esté incorporando nuevos usuarios, realizando screenings AML o verificando la edad, conocer el resultado de una sesión de verificación en el momento en que ocurre permite tomar decisiones dinámicas y ofrecer experiencias de usuario fluidas. Aquí es donde los webhooks brillan. En lugar de sondear constantemente una API para obtener actualizaciones de estado, Didit envía una notificación automatizada a su punto final especificado cada vez que ocurre un evento significativo, como la finalización de una sesión de verificación o un cambio de estado. Este modelo basado en "push" es más eficiente, reduce la sobrecarga de llamadas a la API y asegura que sus sistemas estén siempre actualizados con los últimos resultados de verificación de identidad.

La integración de las potentes capacidades de verificación de identidad de Didit a menudo implica la configuración de un escuchador de webhooks fiable. Este escuchador actúa como los ojos y oídos de su aplicación, recibiendo actualizaciones críticas sobre el estado de la verificación de identidad, la detección de vida o los resultados del screening AML. Un sistema de webhooks bien implementado es una piedra angular de las arquitecturas modernas basadas en eventos, proporcionando la agilidad necesaria para responder rápidamente a los resultados de la verificación y mantener un recorrido de usuario fluido.

Configuración de su Escuchador de Webhooks Sin Servidor con AWS Lambda y API Gateway

Construir un escuchador de webhooks escalable y resiliente puede ser complejo, pero con AWS Lambda y API Gateway, junto con Serverless Framework, se vuelve notablemente sencillo. Este enfoque sin servidor significa que no tiene que gestionar ningún servidor; AWS se encarga de toda la infraestructura, escalando su escuchador automáticamente según la demanda. Para nuestro escuchador de webhooks de Didit, utilizaremos TypeScript para la seguridad de tipos y la productividad del desarrollador.

Prerrequisitos:

  • Una cuenta de AWS
  • Node.js y npm instalados
  • Serverless Framework instalado (npm install -g serverless)
  • Una cuenta de Didit con claves API y un secreto de webhook (desde Consola de Didit -> Configuración -> Claves API)

Configuración del Proyecto:

Primero, cree un nuevo proyecto Serverless:

serverless create --template aws-nodejs-typescript --path didit-webhook-listener
cd didit-webhook-listener
npm install

Ahora, configuremos serverless.yml para definir nuestra función Lambda y el punto final de API Gateway:

service: didit-webhook-listener

provider:
  name: aws
  runtime: nodejs18.x
  stage: dev
  region: us-east-1
  environment:
    DIDIT_WEBHOOK_SECRET: ${ssm:/didit/webhook/secret}

functions:
  handleDiditWebhook:
    handler: src/handler.handleDiditWebhook
    events:
      - http:
          path: webhook/didit
          method: post
          cors: true

plugins:
  - serverless-offline
  - serverless-dotenv-plugin
  - serverless-ssm-fetch

Observe que estamos obteniendo el DIDIT_WEBHOOK_SECRET del Almacén de Parámetros SSM de AWS, lo cual es una buena práctica para gestionar secretos. Deberá almacenar su Secreto de Webhook de Didit allí. Didit le permite rotar fácilmente su clave secreta a través de la API o la Consola de Didit, asegurando una buena higiene de seguridad.

Implementación de Procesamiento Seguro de Webhooks en TypeScript

El aspecto más crítico de cualquier escuchador de webhooks es la seguridad. Debe verificar que las solicitudes entrantes realmente provienen de Didit y no han sido manipuladas. Didit proporciona una clave secreta compartida para este propósito, que usted utiliza para validar la firma HMAC incluida en el encabezado x-didit-signature del webhook.

Cree src/handler.ts:

import { APIGatewayProxyHandler } from 'aws-lambda';
import * as crypto from 'crypto';

const DIDIT_WEBHOOK_SECRET = process.env.DIDIT_WEBHOOK_SECRET || '';

export const handleDiditWebhook: APIGatewayProxyHandler = async (event) => {
  if (!event.body) {
    return { statusCode: 400, body: 'No body received' };
  }

  const signature = event.headers['x-didit-signature'];
  if (!signature) {
    console.warn('Webhook received without x-didit-signature header.');
    return { statusCode: 403, body: 'Missing signature' };
  }

  try {
    const expectedSignature = crypto
      .createHmac('sha256', DIDIT_WEBHOOK_SECRET)
      .update(event.body)
      .digest('hex');

    if (expectedSignature !== signature) {
      console.error('Webhook signature mismatch. Expected:', expectedSignature, 'Received:', signature);
      return { statusCode: 403, body: 'Invalid signature' };
    }

    const payload = JSON.parse(event.body);
    console.log('Successfully verified and parsed Didit webhook:', payload);

    // Implement your business logic here based on the webhook payload
    // Examples: update user status, trigger further actions, store results
    // For instance, if it's an ID Verification completion:
    // if (payload.event_type === 'session.completed' && payload.data.workflow_type === 'kyc') {
    //   console.log('KYC Session Completed for vendor_data:', payload.data.vendor_data);
    //   // Process KYC results, update user profile, etc.
    // }

    return { statusCode: 200, body: 'Webhook received and processed' };
  } catch (error) {
    console.error('Error processing webhook:', error);
    return { statusCode: 500, body: 'Internal server error' };
  }
};

En este código, calculamos un hash HMAC SHA256 del cuerpo de la solicitud en crudo utilizando su DIDIT_WEBHOOK_SECRET y lo comparamos con el encabezado x-didit-signature proporcionado por Didit. Si no coinciden, la solicitud es rechazada, evitando accesos no autorizados o eventos falsificados. Este robusto proceso de verificación es esencial para mantener la seguridad e integridad de sus flujos de trabajo de verificación de identidad, especialmente al tratar con datos sensibles de los servicios de Verificación de Identidad, Coincidencia Facial o Screening AML de Didit.

Configuración de Didit para Enviar Webhooks

Una vez que su función Lambda esté desplegada y tenga una URL de punto final de API Gateway, el paso final es indicarle a Didit dónde enviar sus webhooks. Esto se puede hacer fácilmente a través de la API de Gestión de Didit o a través de la Consola de Negocios de Didit.

A través de la API de Gestión de Didit:

Puede actualizar programáticamente su configuración de webhook utilizando el punto final PATCH /v3/webhook/. Esto le permite establecer su webhook_url, especificar una webhook_version (se recomienda v3) e incluso rotar su secret_shared_key de forma segura.

curl -X PATCH https://verification.didit.me/v3/webhook/ \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_DIDIT_API_KEY" \
  -d '{
    "webhook_url": "YOUR_API_GATEWAY_ENDPOINT",
    "webhook_version": "v3"
  }'

Reemplace YOUR_DIDIT_API_KEY con su clave API de Didit real y YOUR_API_GATEWAY_ENDPOINT con la URL proporcionada por AWS API Gateway después de desplegar su función Serverless.

A través de la Consola de Negocios de Didit:

Alternativamente, navegue a la Consola de Didit, vaya a Configuración -> Webhooks, y simplemente pegue la URL de su punto final de API Gateway en el campo designado. También puede ver y rotar su clave secreta de webhook aquí. El diseño modular de Didit asegura que la configuración de estas integraciones vitales sea sencilla, permitiéndole concentrarse en construir su aplicación principal.

Cómo Ayuda Didit

Didit ofrece una plataforma de identidad nativa de IA y orientada al desarrollador que hace que la integración de la verificación de identidad avanzada sea simple y segura. Nuestra arquitectura modular le permite elegir los componentes exactos que necesita, desde la verificación de identidad (OCR, MRZ, códigos de barras) y la detección de vida pasiva y activa hasta la coincidencia facial 1:1, el screening y monitoreo AML, y la estimación de edad. Al ofrecer KYC Core gratuito y sin tarifas de configuración, Didit empodera a las empresas de todos los tamaños para implementar soluciones de identidad robustas sin costos prohibitivos.

Nuestra documentación API completa y el entorno de pruebas instantáneo garantizan que los desarrolladores puedan comenzar rápidamente, y nuestro sistema de webhooks, como se demostró, está diseñado para la fiabilidad y la seguridad. Con Didit, obtiene acceso a una red de verificación global, flujos de trabajo orquestados y datos de identidad estructurados, todo entregado a través de APIs limpias. Esto significa que puede construir con confianza escuchadores de webhooks personalizados que se integren perfectamente con el potente backend de Didit, asegurando actualizaciones en tiempo real para todas sus necesidades de verificación de identidad.

¿Listo para Empezar?

¿Listo para ver Didit en acción? Obtenga una demostración gratuita hoy mismo.

Comience a verificar identidades gratis con el nivel gratuito de Didit.

Infraestructura para identidad y fraude.

Una API para KYC, KYB, Monitoreo de Transacciones y Detección de Fraude en Wallets. Intégrala en 5 minutos.

Pide a una IA que resuma esta página
Webhooks Didit con AWS Lambda y API Gateway.