Catálogo de eventos
Catálogo
| Tipo | Cuándo se dispara |
|---|---|
catalog.product.created | Producto creado |
catalog.product.updated | Producto actualizado |
catalog.product.deleted | Producto eliminado |
orders.order.created | Orden creada |
orders.order.paid | Orden pagada |
orders.order.fulfilled | Orden enviada/entregada |
orders.order.cancelled | Orden cancelada |
orders.order.completed | Orden completada |
payments.payment.captured | Pago capturado |
payments.payment.failed | Pago fallido |
payments.payment.refunded | Pago reembolsado |
customers.customer.created | Cliente creado |
customers.customer.updated | Cliente actualizado |
loyalty.points.earned | Puntos de lealtad acreditados |
loyalty.points.redeemed | Puntos de lealtad redimidos |
abandonedcarts.cart.abandoned | Carrito abandonado detectado |
storefront.theme.published | Tema publicado |
billing.subscription.upgraded | Plan actualizado |
billing.subscription.past_due | Suscripción en mora |
Ejemplos de payload
Todos los webhooks tienen la misma estructura de envelope CloudEvents v1.0:
{
"id": "uuid-del-evento",
"source": "omnibuy/api",
"type": "catalog.product.created",
"time": "2026-01-15T10:00:00Z",
"tenantid": "uuid-del-tenant",
"data": { ... }
}
El campo data varía según el tipo de evento.
catalog.product.created / catalog.product.updated
{
"id": "uuid-producto",
"title": "Camiseta Pima Premium",
"handle": "camiseta-pima-premium",
"status": "active",
"vendor": "Marca Peru",
"variants": [
{
"id": "uuid-variante",
"sku": "CPP-BLK-M",
"price": 8900,
"compare_at_price": 12000,
"inventory_quantity": 45
}
]
}
orders.order.placed / orders.order.completed
{
"id": "uuid-orden",
"number": "ORD-0142",
"status": "placed",
"customer_email": "cliente@ejemplo.com",
"line_items": [
{
"variant_id": "uuid-variante",
"title": "Camiseta Pima Premium — Negro / M",
"quantity": 2,
"price": 8900
}
],
"subtotal": 17800,
"shipping": 1500,
"total": 19300,
"currency": "PEN",
"shipping_address": {
"first_name": "Ana",
"last_name": "García",
"address1": "Av. Javier Prado 1234",
"city": "Lima",
"country_code": "PE",
"zip": "15036"
}
}
orders.order.cancelled
{
"id": "uuid-orden",
"number": "ORD-0142",
"status": "cancelled",
"cancel_reason": "customer_request",
"cancelled_at": "2026-01-15T15:30:00Z",
"refund_amount": 19300
}
payments.payment.captured
{
"id": "uuid-pago",
"order_id": "uuid-orden",
"amount": 19300,
"currency": "PEN",
"provider": "culqi",
"provider_payment_id": "chr_live_xxxxxx",
"captured_at": "2026-01-15T10:02:00Z"
}
payments.payment.failed
{
"id": "uuid-pago",
"order_id": "uuid-orden",
"amount": 19300,
"currency": "PEN",
"provider": "stripe",
"failure_reason": "card_declined",
"failed_at": "2026-01-15T10:01:30Z"
}
payments.refund.completed
{
"id": "uuid-refund",
"payment_id": "uuid-pago",
"order_id": "uuid-orden",
"amount": 19300,
"reason": "customer_request",
"completed_at": "2026-01-16T09:00:00Z"
}
fulfillment.shipment.created
{
"id": "uuid-shipment",
"order_id": "uuid-orden",
"carrier": "olva",
"tracking_number": "OLV123456789",
"tracking_url": "https://www.olva.com.pe/tracking/OLV123456789",
"estimated_delivery": "2026-01-17",
"items": [
{ "variant_id": "uuid-variante", "quantity": 2 }
]
}
fulfillment.shipment.delivered
{
"id": "uuid-shipment",
"order_id": "uuid-orden",
"tracking_number": "OLV123456789",
"delivered_at": "2026-01-17T14:22:00Z"
}
customers.customer.created
{
"id": "uuid-customer",
"email": "nuevo@cliente.com",
"first_name": "Carlos",
"last_name": "Ríos",
"created_at": "2026-01-15T10:00:00Z"
}
catalog.product.deleted
{
"id": "uuid-producto",
"title": "Producto eliminado",
"deleted_at": "2026-01-15T10:00:00Z"
}