Traducida del inglés. Si hay alguna diferencia, la página en inglés es la referencia. Leer en inglés
Catálogo de eventos
Cada tipo de evento, cuándo se dispara y qué contiene data.object.
| Evento | Se dispara cuando | data.object |
|---|---|---|
order.created | Se recibe un pedido nuevo de cualquier canal (poller o webhook del canal). Exactamente uno por pedido del canal, tenga las líneas que tenga (todas van en el payload) | Pedido |
order.status_changed | Cambia el status normalizado de un pedido (p. ej. awaiting_shipment → shipped, → canceled). Un evento por cambio: un nuevo seguimiento, un detalle de envío o solo source_status no lo envían (vuelve a leer el pedido si los necesitas) | Pedido. data.status es el estado después del cambio, data.previous_status el anterior; siempre son distintos |
product.updated | Cambia el contenido de un producto desde el panel, la API o una edición en el canal que se sincroniza | Producto |
product.deleted | Se elimina un producto | { "id": … } |
inventory.updated | Cambia la cantidad o el precio de una variante por una venta en cualquier canal (data.source: "order", un evento por línea de pedido, con data.channel, data.order_id_on_channel, la data.variant_id / data.sku vendida y data.quantity_change, p. ej. -1) o desde la API (data.source: "api"). Una cancelación de ese pedido antes del envío devuelve las unidades (data.source: "order", data.reason: "order_canceled", data.quantity_change positivo). Los cambios de cantidad hechos en el panel o directamente en un canal todavía no lo envían: vuelve a leer GET /products si los necesitas | Producto (con variants[] actualizado) |
listing.status_changed | Un anuncio alcanza un nuevo estado estable: listed, imported, error o delisted. Un evento por cambio, nunca para una escritura que mantiene el estado. ongoing (publicación o retirada en curso) no se notifica: lo sigue la operación | Anuncio (el anuncio que cambió). data.status es el nuevo estado, data.previous_status el último notificado, así que los eventos consecutivos siempre se encadenan (listed → delisted → listed). null solo en el primer evento de un anuncio |
operation.completed | Termina una operación asíncrona (succeeded, partial o failed). Suscríbete a este evento en lugar de consultar /operations | Operación |
channel_account.updated | Cambian los ajustes de una cuenta de canal, desde el panel o la API (un evento por cuenta modificada). data.source es dashboard o api; data.previous_attributes contiene los valores anteriores. Envíalos de nuevo con PATCH para deshacer | Cuenta de canal |
channel_account.connected | Una cuenta de canal conectada mediante la API ha terminado de conectarse (data.connection_id) | Cuenta de canal |
channel_account.disconnected | Se ha desconectado una cuenta de canal, desde el panel o la API (data.source) | Cuenta de canal (id + canal, status: disconnected) |
Con el tiempo se añaden nuevos tipos de evento. Los consumidores deben aceptar valores de
type desconocidos (registrarlos y confirmarlos).
¿Qué eventos necesito?
- Sincronizar pedidos con tu sistema →
order.created+order.status_changed. - Sincronizar el stock de vuelta con tu sistema →
inventory.updated(se dispara con las ventas en cualquier canal; así mantienes sincronizado un almacén externo). - "¿Mi producto está publicado?" →
listing.status_changed(ooperation.completeddespués de publicar). - Escrituras sin esperar respuesta →
operation.completedpara obtener el resultado por canal sin consultar periódicamente. - Auditar / deshacer los ajustes de canal →
channel_account.updated. - Saber cuándo un comerciante ha terminado de conectar un canal →
channel_account.connected(ychannel_account.disconnected).
Última actualización el 20 de octubre de 2026
¿Necesitas ayuda?
Escríbenos y te responde una persona, normalmente en un día laborable.