Webhooks

Referencia de Eventos

Referencia completa de los 13 eventos de webhook de Whatalo — eventos de pedidos, productos, clientes, inventario y ciclo de vida del plugin.

Whatalo soporta 13 eventos de webhook en 5 categorías. 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: "product.updated" },
  { event: "app.installed", description: "Dar la bienvenida a nuevos comerciantes" },
  { event: "app.uninstalled", description: "Limpiar datos del comerciante" },
],

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


Eventos de Pedidos

EventoDisparador
order.createdSe realiza un nuevo pedido en la tienda
order.updatedSe modifican los detalles de un pedido (artículos, dirección, notas)
order.status_changedEl estado de un pedido cambia (e.g., pendingshipped)
order.cancelledUn pedido es cancelado por el comerciante o el cliente

order.created

{
  "id": "evt_01HX4KQMZ7B9XVNR2T6WQFG3P",
  "event": "order.created",
  "store": "mi-tienda",
  "timestamp": "2024-03-01T14:30:00Z",
  "data": {
    "id": "order_789",
    "status": "pending",
    "total": 149.99,
    "currency": "DOP",
    "customer": {
      "name": "Ana García",
      "email": "[email protected]",
      "phone": "+1-809-555-0123"
    },
    "items": [
      { "productId": "472819365047", "quantity": 2, "price": 74.99 }
    ]
  }
}

order.status_changed

{
  "event": "order.status_changed",
  "data": {
    "id": "order_789",
    "previousStatus": "processing",
    "status": "shipped"
  }
}

Eventos de Productos

EventoDisparador
product.createdSe agrega un nuevo producto al catálogo
product.updatedSe modifican los detalles de un producto (nombre, precio, imágenes)
product.deletedSe elimina permanentemente un producto

product.updated

{
  "event": "product.updated",
  "data": {
    "id": "472819365047",
    "name": "Camiseta Premium (Actualizada)",
    "price": 39.99,
    "status": "active"
  }
}

Eventos de Clientes

EventoDisparador
customer.createdUn nuevo cliente se registra en la tienda
customer.updatedSe modifica la información de perfil de un cliente

customer.created

{
  "event": "customer.created",
  "data": {
    "id": "365047281936",
    "name": "Ana García",
    "email": "[email protected]",
    "phone": "+1-809-555-0123"
  }
}

Eventos de Inventario

EventoDisparador
inventory.lowEl inventario cae por debajo del umbral de stock bajo configurado
inventory.adjustedLa cantidad de inventario de un producto se ajusta manualmente

inventory.low

{
  "event": "inventory.low",
  "data": {
    "productId": "472819365047",
    "productName": "Camiseta Premium",
    "quantity": 3,
    "threshold": 5
  }
}

inventory.adjusted

{
  "event": "inventory.adjusted",
  "data": {
    "productId": "472819365047",
    "previousQuantity": 50,
    "newQuantity": 45,
    "delta": -5,
    "reason": "Ajuste manual"
  }
}

Eventos del Ciclo de Vida del Plugin

Estos eventos se disparan cuando un comerciante instala o desinstala tu plugin. Úsalos para provisionar o limpiar recursos específicos del comerciante.

EventoDisparador
app.installedUn comerciante completa la instalación de tu plugin
app.uninstalledUn comerciante desinstala tu plugin

app.installed

{
  "event": "app.installed",
  "store": "merchant-store-slug",
  "data": {
    "storeId": "store_abc",
    "installedAt": "2024-03-01T10:00:00Z"
  }
}

app.uninstalled

{
  "event": "app.uninstalled",
  "store": "merchant-store-slug",
  "data": {
    "storeId": "store_abc",
    "uninstalledAt": "2024-06-15T08:22:00Z"
  }
}

Cuando recibas app.uninstalled, elimina todos los datos que hayas almacenado para ese comerciante. Retener datos del comerciante después de la desinstalación viola las pautas de publicación de plugins.


Soporte de Pruebas en el CLI

El comando whatalo webhook trigger soporta un subconjunto de 9 eventos para pruebas de desarrollo local:

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_COMPLETED(completación del flujo de checkout)
# Trigger a test order.created event against your dev store
whatalo webhook trigger ORDER_CREATED --store mi-tienda-dev

inventory.low, inventory.adjusted, app.installed, app.uninstalled y order.status_changed no están disponibles a través del comando trigger del CLI. Pruébalos simulando la acción en una tienda de desarrollo a través del panel de administración.

On this page