Saltar al contenido
BlogEventos de integración

Webhooks que fallan: reintentos sin duplicar trabajo ni perder eventos

Que el proveedor recibió un «200» no significa que tu operación se actualizó. Separa recepción, procesamiento y comprobación del resultado.

Hoja de prueba: Webhooks: reintentos y aceptación sin duplicados

Que el proveedor recibió un «200» no significa que tu operación se actualizó. Separa recepción, procesamiento y comprobación del resultado. Registra datos, resultado esperado, evidencia, responsable y resultado observado.

Descargar hoja CSV
En esta guía

Define qué significa cada confirmación

Un webhook es un aviso que un sistema envía a otro cuando ocurre algo. En una transportista puede informar que una entrega terminó; en servicios, que un archivo de evidencia está disponible. La confirmación técnica de recepción y la aceptación del negocio son estados distintos. Decide dónde consultar cada uno y quién resolverá un evento que quedó pendiente.

Stripe documenta validación de firma y respuesta exitosa rápida antes de lógica compleja. Shopify publica condiciones de reintento y seguimiento de entregas fallidas. Son contratos de proveedores concretos, no una regla universal para todas las conexiones. Confirma el plazo, autenticación e identificadores que utiliza tu proveedor antes de diseñar la recepción.

Ejemplo ficticio: aviso de entrega EV-72

El sistema de rutas envía EV-72 para la entrega E-017. El receptor comprueba su autenticidad, conserva el evento de forma durable y devuelve recepción correcta. La actualización de E-017 queda pendiente porque falta un documento. El proveedor repite EV-72 al no haber recibido la primera respuesta. Este es un ejemplo sintético de eventos operativos, no de un cobro ni de una integración ya implementada.

El resultado esperado es un evento recibido con dos intentos de entrega, y ninguna segunda operación por el reintento. Cuando el documento está disponible, un responsable o proceso autorizado retoma el trabajo y marca E-017 actualizada. El historial conserva recepción y aplicación por separado. Si el evento nunca se guardó, responder éxito habría ocultado una pérdida; ese caso debe fallar el ensayo.

EstadoQué demuestraQué falta
RecibidoAviso autenticado y conservadoAplicar o decidir el trabajo
PendienteEvento localizable con causaResolver dependencia y reintentar
AplicadoResultado de negocio comprobableConciliación cuando corresponda
RechazadoNo se aplicó por motivo explícitoCorrección autorizada o cierre

Ensaya fallos en cada frontera

Usa un ambiente de prueba y un origen autorizado. Prueba antes y después de guardar el evento, antes y después de aplicar el cambio, y al perder la respuesta. El mismo identificador de evento sirve para reconocer su reenvío, pero puede no bastar para reconocer dos avisos distintos sobre la misma operación. Acuerda también la clave de la operación que no debe repetirse.

CasoResultado esperadoEvidencia
EV-72 auténtico y completoRecepción durable y un trabajo identificableEvento y tarea relacionada
EV-72 llega dos vecesUn trabajo de negocio, dos intentos visiblesClave de evento e intentos
Respuesta se pierde después de aplicarReintento encuentra el resultado existenteReferencia de operación
Documento de E-017 faltaPendiente con causa; no declarar aplicadoEstado y dependencia
Aviso anterior llega tardeNo sobrescribe un estado más reciente sin reglaVersiones y decisión
Firma o autenticación inválidaRechazo sin modificar la entregaResultado y registro acotado

El reintento necesita límites y una salida

Define cuántos intentos internos se harán, qué errores admiten reintento y quién atiende los que se agotan. No reintentes indefinidamente una referencia inexistente o un permiso denegado sin corregir su causa. Una cola pendiente debe tener antigüedad y responsable visibles; «se volverá a intentar» no explica cuándo la operación podrá continuar.

Incluye una conciliación: compara los eventos o estados del origen con los aplicados en el destino. Sirve para detectar lo que nunca llegó o quedó fuera de la cola. Su frecuencia y alcance dependen de la API y del acceso del proveedor. No supongas que conservar avisos equivale a recuperar toda su historia, ni que un envío manual evita la regla de repetición.

Acepta una integración con su resultado de negocio

Prueba consulta y reparación por referencia, además de la entrega técnica. En conectar tu ERP sin reemplazarlo se explica la autoridad de cada dato; las reglas de sincronización ayudan cuando hay cambios concurrentes, y la bitácora de cambios permite explicar qué se aplicó.

La hoja descargable contiene diez casos para ajustar al proveedor real. Lleva un aviso anonimizado, sus identificadores y un fallo conocido a una consulta gratuita de automatización de procesos. Podemos revisar dónde se confirma cada etapa y qué prueba demostraría una recuperación sin duplicar trabajo.

Probemos un aviso repetido y uno pendiente

Con un aviso anonimizado y el contrato del proveedor, preparemos dos casos: un evento repetido y un fallo cuyo resultado aún se desconoce. El diagnóstico gratuito puede ayudar a definir la consulta, el reintento y la persona que resuelve el pendiente.

  • Aviso anonimizado con identificadores de evento y operación
  • Contrato de autenticación, reintentos y consulta del proveedor
  • Un fallo que deba quedar pendiente y su responsable
Agendar diagnóstico gratuitoConsultar por WhatsApp

Relacionado

Preguntas frecuentes

Significa lo que el contrato del receptor haya definido. Puede confirmar solo recepción. El comprador necesita un estado separado para el resultado de negocio y una forma de consultar pendientes o rechazos. No derives aplicación correcta únicamente de la respuesta HTTP.

Reconoce el reenvío, pero consulta el estado del trabajo original. Si todavía está pendiente, puede necesitar un reintento controlado. Ignorar el aviso sin conservar o recuperar la tarea puede perder el resultado que esperabas.

Define una regla según versión, secuencia o consulta del estado autorizado del origen. No uses automáticamente la hora de recepción como verdad del negocio. La regla depende del proveedor y debe probarse con un aviso anterior que llegue después.

No sustituye la conciliación de pagos. Distinguir un aviso repetido de un segundo cobro real requiere revisar transacciones y órdenes. Este ensayo se enfoca en la entrega y aplicación de eventos operativos de una conexión.

Fuentes

  1. Receive Stripe events in a webhook endpointStripe
  2. Troubleshoot webhooksShopify

Última actualización:

Sigue leyendo

Diagnóstico gratuito

¿Tu operación ya no cabe en Excel?

Cuéntanos cómo trabaja tu equipo. En una llamada te decimos qué conviene resolver primero. Te respondemos el mismo día hábil.

¿Solo necesitas una página web? Ver paquetes desde $10,000 MXN, IVA incluido

  • Sin costo ni compromiso
  • Propuesta en 1 día hábil
  • Entregas por etapas