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
| Evento | Disparador |
|---|---|
order.created | Se realiza un nuevo pedido en la tienda |
order.updated | Se modifican los detalles de un pedido (artículos, dirección, notas) |
order.status_changed | El estado de un pedido cambia (e.g., pending → shipped) |
order.cancelled | Un 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
| Evento | Disparador |
|---|---|
product.created | Se agrega un nuevo producto al catálogo |
product.updated | Se modifican los detalles de un producto (nombre, precio, imágenes) |
product.deleted | Se elimina permanentemente un producto |
product.updated
{
"event": "product.updated",
"data": {
"id": "472819365047",
"name": "Camiseta Premium (Actualizada)",
"price": 39.99,
"status": "active"
}
}Eventos de Clientes
| Evento | Disparador |
|---|---|
customer.created | Un nuevo cliente se registra en la tienda |
customer.updated | Se 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
| Evento | Disparador |
|---|---|
inventory.low | El inventario cae por debajo del umbral de stock bajo configurado |
inventory.adjusted | La 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.
| Evento | Disparador |
|---|---|
app.installed | Un comerciante completa la instalación de tu plugin |
app.uninstalled | Un 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 CLI | Evento de Webhook |
|---|---|
ORDER_CREATED | order.created |
ORDER_UPDATED | order.updated |
ORDER_CANCELLED | order.cancelled |
PRODUCT_CREATED | product.created |
PRODUCT_UPDATED | product.updated |
PRODUCT_DELETED | product.deleted |
CUSTOMER_CREATED | customer.created |
CUSTOMER_UPDATED | customer.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-devinventory.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.