Visión general de los webhooks

Los webhooks permiten a las aplicaciones, o a los escaparates personalizados, mantenerse sincronizados con los datos de Shopery o realizar una acción después de que se produzca un evento específico. Los webhooks son una alternativa eficaz a la búsqueda continua de cambios en los datos.

Por ejemplo, un webhook puede notificar a sus sistemas internos cuando se realiza un pedido, y generar acciones de acuerdo con su lógica de negocio.

Casos prácticos

Entre los casos de uso habituales de los webhooks se incluyen los siguientes:

  • Recopilación de datos para almacenes de datos
  • Integración con programas de contabilidad
  • Filtrado de los pedidos e información de los mismos a las empresas de transporte

Conceptos de webhook

Para orientarte con el contenido de esta guía de ayuda, vamos a dividirlo en conceptos:

Webhook: Un único mensaje de evento. Shopery puede enviar un webhook a un endpoint. Un webhook contiene una carga útil JSON en el cuerpo y algunos metadatos en las cabeceras.

Evento Webhook: Un evento controla cuándo se crean los webhooks y qué hay en la carga útil del webhook. Por ejemplo pedidos creados se envía cada vez que se crea un pedido y contiene el pedido como carga útil.

Cabeceras de webhook

Además de la carga útil del mensaje, cada mensaje webhook tiene una serie de cabeceras que contienen contexto adicional.

Uso del encabezado HTTPX

X-Shopery-Secret   Nuestro increíble secreto

Probar webhooks

Puedes probar la configuración de tu webhook activándolo. Puede activar los webhooks de las siguientes maneras:

  • Manualmente, utilizando la función URL de prueba mientras configura su webhook.
  • Realizando la acción relacionada.

Próximos pasos

  • Conozca las mejores prácticas de webhooks, incluyendo cómo responder rápidamente a webhooks, rastrear fallos, recuperar webhooks y más.
  • Aprende a configurar tu aplicación para utilizar webhooks.

Mejores prácticas de Webhook

La siguiente guía describe algunas de las mejores prácticas para trabajar con webhooks.

Responder rápidamente

Después de recibir un webhook usando un endpoint HTTPS, es importante responder a la petición con un 200 OK en uno o dos segundos. Hay un tiempo de espera de cinco segundos para toda la solicitud, y el sistema de entrega webhook espera establecer la conexión en menos de un segundo o los tiempos de solicitud hacia fuera.

Optimizar la gestión de las conexiones

El sistema de entrega de webhooks utiliza HTTP Keep-Alive para reutilizar las conexiones al mismo host y endpoint. Esto reduce la congestión de la red y la latencia en las solicitudes posteriores. Asegúrese de que tiene Keep-Alive activado para su endpoint para reducir la sobrecarga de recibir peticiones concurrentes.

Prepare su endpoint para una ráfaga de peticiones

Para preparar su punto final para una ráfaga de solicitudes, desvincule el procesamiento de webhooks de las respuestas a las solicitudes. Un patrón común es almacenar la carga útil en una cola de mensajes para su posterior procesamiento por un trabajador en segundo plano. Esto reduce la posibilidad de que la solicitud se agote y que la entrega del webhook cuente como un fallo. Almacenar el webhook y responder inmediatamente asegura que tu sistema es resistente a un alto volumen de peticiones.

Gestionar los retrasos

En raras circunstancias, es posible que experimente retrasos en la recepción de webhooks. Sin embargo, los webhooks siempre se envían con los datos más recientes del recurso en cuestión. La carga útil del webhook entregado debe reflejar los atributos más recientes para el recurso entre el momento de la activación del webhook y la eventual entrega del webhook.

Si recibir webhooks con hasta un día de retraso puede causar problemas en sus sistemas, le recomendamos que compare la marca de tiempo del webhook con la fecha y hora actuales.

Fallos en las vías

Utilice las métricas de entrega para realizar un seguimiento de las entregas fallidas de webhooks y solucionarlas antes de que afecten a los usuarios.

Evitar las devoluciones

Cuando utilices el parámetro fields para especificar qué campos deben ser enviados por un webhook, incluye un campo que siempre tenga un valor único. Por ejemplo, puedes incluir el campo updated_at en el parámetro fields.

Incluir un campo que siempre tenga un valor único evita que el webhook sea descartado como duplicado, como en los casos en los que sólo se solicita el campo id.

Ignorar duplicados

Aunque la API de webhooks está diseñada para minimizar la duplicación de eventos webhook, aún es posible recibir el mismo evento más de una vez. Tu aplicación debe manejar los eventos webhook utilizando operaciones idempotentes; es decir, recibir el mismo evento webhook por segunda vez consecutiva no debería tener ningún efecto adicional. Puedes detectar eventos webhook duplicados comparando la carga útil directamente con el estado anterior.

Utilizar parámetros de filtro compatibles

La mayoría de los puntos finales de consulta admiten los parámetros de filtro created_at_min y updated_at_min. Estos filtros se pueden utilizar para crear un trabajo que recupere todos los recursos que se han creado o actualizado desde la última vez que se ejecutó el trabajo.

Construir un sistema escalable y fiable

El seguimiento del tráfico desde la plataforma de Shopery puede ser abrumador, especialmente a medida que creces.

Si necesita gestionar grandes volúmenes de notificaciones de eventos para crear un sistema escalable y fiable, puede configurar las suscripciones para enviar webhooks a Amazon EventBridge y Google Cloud Pub/Sub en lugar de a través de HTTPS.

Descripción general de la configuración de Webhooks

Shopery puede enviar eventos webhooks a través de HTTPS, más métodos vendrán en el futuro.

Requerimientos

  • Está familiarizado con el funcionamiento de los webhooks
  • Estás autenticado y tienes un token JWT válido
  • Tienes los permisos necesarios

Flujo de configuración de webhooks

Para recibir webhooks, siga estos pasos.

  • Cree un endpoint de su elección para recibir los eventos que se publiquen
  • Utilice nuestra API Rest o utilice nuestra interfaz de usuario para crear un webhook que utilice el punto final como destino.

HTTPS

Este tutorial explica cómo configurar, probar y verificar endpoints webhook de tipo HTTPS.

Paso 1: Prepare su punto final

Tu endpoint debe ser una dirección webhook HTTPS con un certificado SSL válido que pueda procesar correctamente las notificaciones de eventos.

Las cargas útiles contienen JSON con los datos de los eventos webhook.

Paso 2: Crear un webhook

Puede crear su webhook utilizando la interfaz de usuario o utilizando nuestra API REST.

Creación de un webhook mediante UI

  • Inicie sesión en el backoffice con un usuario con privilegios suficientes.
  • Vaya a Configuración -> Webhooks
  • Haga clic en Crear Webhook
  • Rellene los campos con la siguiente información:
    • Nombre del webhook: Un nombre que te puede ayudar a identificar ese webhook
    • URL: Su punto final donde se enviará la carga útil
    • Eventos: Qué eventos deben activar ese webhook

Método HTTP : POST

Punto final : https://api.shopery.app/company/webhooks

Headers            : Content-Type: application/jsonAuthorization: Bearer <jwt-token>X-tenant-ID: <your-tenant-id>

Nombre Tipo Descripción

name Cadena Mane del webhook

url Cadena URL de su punto final

eventos [] Lista de eventos para suscribirse

isEnabled Bool Si el webhook está activado o no

Ejemplo de carga útil

Este es un ejemplo de un cuerpo de carga útil para crear un webhook utilizando la API de Shopery:

{
  "name": "webhook test",
  "url": "https://test.com/wh",
  "events": [
    "order-created"
  ],
  "isEnabled": true
}

Respuesta API

Si la solicitud se realiza correctamente, recibirá una respuesta de la API con un campo de identificación. Esto indica que la importación ha sido aceptada y está siendo procesada.

{
  "id": "wbh_01HA4XCG60CT4G3EWF4CKYM1MF"
}

Paso 3: Probar el webhook

Puede probar el webhook utilizando la función URL de prueba en la configuración del webhook, éste intentará conectarse a su endpoint y esperará un código de estado HTTP 200.

Paso 4: Verificación del webhook

Antes de responder a un webhook, necesita verificar que el webhook fue enviado desde Shopery, puede verificar esto usando Endpoint Secret

Cada petición desde los servidores de Shopery a su endpoint contendrá esta Firma, su aplicación debe asegurarse de que la Firma enviada y la configurada en Shopery son la misma.

Sección

Temas

Contexto

Artículos relacionados

Webhooks

Los webhooks permiten a las apps, o Storefronts personalizados, estar sincronizados con los datos de Shopery o realizar una acción después de que se produzca un evento específico. En este artículo encontrarás información relacionada con la gestión de webhooks

6 de noviembre de 2024