Webhooks

Referencia de Eventos

Referencia de los eventos públicos de webhook entregados a endpoints de plugins.

Whatalo entrega actualmente 10 eventos públicos de webhook. Declara solo los eventos que tu plugin realmente maneja en tu manifiesto whatalo.app.ts.

Suscripción a Eventos

// whatalo.app.ts
webhooks: [
  { event: "order.created", description: "Rastrear nuevos pedidos para cumplimiento" },
  { event: "order.updated", description: "Sincronizar cambios de pedidos" },
  { event: "product.updated", description: "Sincronizar cambios del catálogo" },
  { event: "checkout.completed", description: "Reaccionar a checkouts completados" },
],

El campo description es opcional pero recomendado porque aparece en la pantalla de permisos de instalación del comerciante.

Headers del Evento

El nombre del evento se entrega en X-Webhook-Event. El body JSON contiene datos específicos del evento y no incluye un campo event.

Eventos de Pedidos

EventoDisparador
order.createdSe crea un pedido
order.updatedCambian datos, estado o estado de pago de un pedido
order.cancelledSe cancela un pedido
order.completedSe completa un pedido

Ejemplo: order.created

{
  "event_id": "evt_01hxyz",
  "occurred_at": "2026-03-01T14:30:00.000Z",
  "order": {
    "id": "ord_abc123",
    "status": "pending",
    "total": 1500.5,
    "currency": "DOP"
  },
  "customer": {
    "id": "cus_abc123",
    "name": "Ana Perez"
  },
  "store": {
    "id": "sto_abc123",
    "name": "Mi Tienda"
  }
}

Eventos de Productos

EventoDisparador
product.createdSe crea un producto
product.updatedCambian datos de un producto
product.deletedSe elimina un producto

Ejemplo: product.updated

{
  "event_id": "evt_01hxyz",
  "occurred_at": "2026-03-01T14:30:00.000Z",
  "product": {
    "id": "prd_abc123",
    "name": "Kit Inicial",
    "price": 1500.5
  },
  "store": {
    "id": "sto_abc123"
  }
}

Eventos de Clientes

EventoDisparador
customer.createdSe crea un cliente
customer.updatedCambia el perfil de un cliente

Ejemplo: customer.created

{
  "event_id": "evt_01hxyz",
  "occurred_at": "2026-03-01T14:30:00.000Z",
  "customer": {
    "id": "cus_abc123",
    "name": "Ana Perez",
    "phone": "8090000000"
  },
  "store": {
    "id": "sto_abc123"
  }
}

Eventos de Checkout

EventoDisparador
checkout.completedSe completa un flujo de checkout
checkout.abandonedUn borrador de checkout se marca como abandonado tras inactividad

Los payloads de checkout incluyen los campos disponibles para ese evento. Trata campos desconocidos como aditivos e ignora los que tu plugin no necesita.

Para checkout.abandoned, event_id coincide con el checkout.id anidado, el objeto customer no tiene id (el borrador es pre-cliente, solo campos de contacto), y checkout.recovery_url enlaza de vuelta al carrito del comprador.

Soporte de Pruebas en el CLI

El comando whatalo webhook trigger soporta pruebas locales para estos eventos públicos:

Constante CLIEvento de Webhook
ORDER_CREATEDorder.created
ORDER_UPDATEDorder.updated
ORDER_CANCELLEDorder.cancelled
PRODUCT_CREATEDproduct.created
PRODUCT_UPDATEDproduct.updated
PRODUCT_DELETEDproduct.deleted
CUSTOMER_CREATEDcustomer.created
CUSTOMER_UPDATEDcustomer.updated
CHECKOUT_COMPLETEDcheckout.completed
whatalo webhook trigger ORDER_CREATED --store mi-tienda-dev

On this page