Saltar al contenido principal
Los webhooks permiten notificar a tu sistema la ocurrencia de eventos en tu tienda, como el ingreso de un nuevo pedido. Esto permite reaccionar a eventos casi en tiempo real. También puede ayudarte a reducir el consumo de cuota en la API, aunque puedes seguir usando ambas interfaces a la vez.

Consideraciones clave

Cada vez que ocurra un evento en tu tienda, se enviará una notificación HTTP POST a la URL configurada con toda la información del evento en formato JSON. Estas son las consideraciones clave:

Versatilidad

La URL puede estar implementada en cualquier lenguaje de programación y solo necesita exponer HTTP.

Seguridad

  • El único puerto que debe estar expuesto es el 443.
  • Debes validar la firma del evento para asegurarte de que no tuvo alteraciones en tránsito. El detalle está en Seguridad.
  • La URL no necesita estar expuesta dentro de tu sistema. Puede estar en un servidor diferente y tener acceso privado a tu plataforma interna.
  • Si aplica a tu implementación, puedes permitir una IP estática en tu firewall.

Devolver un código de estado 200

Para confirmar la recepción del evento, tu URL debe responder con código HTTP 200. De lo contrario, la notificación se considerará fallida y volverá a intentarse.

Tiempo de espera

Luego de enviar el evento, se esperarán hasta 30 segundos por una respuesta 200. Si eso no ocurre, la notificación se considerará fallida y volverá a intentarse.
Si el procesamiento de tu webhook es pesado, no necesitas terminar todos tus procesos antes de responder. Puedes guardar el evento y procesarlo después para devolver el 200 más rápido y evitar timeouts.

Reintentos

Cuando se recibe un código distinto de 200 o se excede el tiempo de espera, se intentará notificar el evento hasta 3 veces más.

Eventos repetidos

Podrías recibir un evento más de una vez si la notificación se considera fallida y se reintenta. Tu sistema puede haber procesado el evento correctamente, pero la confirmación no haber llegado del otro lado.

Orden de eventos

El orden de los eventos no está garantizado. Podrías recibir una actualización antes de una creación si una notificación anterior falló y quedó pendiente de reintento.

Aseguramiento

Se recomienda ejecutar una verificación periódica contra la API para asegurarte de que todas las entidades fueron recibidas por tu sistema. Eso reduce el riesgo de perder eventos por fallas de red o de disponibilidad.