POST a una URL HTTPS de tu sistema cuando ocurre un evento en La Pyme. Podés configurarlos desde la API pública o desde Configuración > Integraciones > API > Webhooks.
Configurar por API
Usáwebhooks:read para descubrir eventos y leer endpoints. Para crear o cambiar un endpoint necesitás webhooks:write, Idempotency-Key y los scopes de lectura de todos los eventos habilitados. Por ejemplo, order.* requiere orders:read, sale.* requiere sales:read y product.* requiere products:read.
signing_secret una vez. Guardalo en un secret manager; las lecturas, actualizaciones y acciones nunca lo incluyen. GET /api/v1/webhook-event-types devuelve el catálogo autoritativo de eventos, versiones y scopes.
Los endpoints creados con una API key pertenecen a la organización. Los creados con OAuth delegado pertenecen a ese grant: otra app no puede verlos y la revocación deshabilita el endpoint y cancela entregas todavía no enviadas.
Ciclo de vida
PATCH /api/v1/webhook-endpoints/{id}cambialabel,url,enabled_eventsoapi_version;statuses de solo lectura.POST .../{id}/pausefrena eventos normales sin descartar la cola.POST .../{id}/resumerevalida los scopes de los eventos y reanuda la entrega.POST .../{id}/disablees terminal y cancela trabajo no enviado.POST .../{id}/rotate-secretinvalida inmediatamente el secreto anterior.POST .../{id}/testcrea una entrega sintética durable incluso si el endpoint está pausado.
Idempotency-Key. Repetir exactamente el request devuelve el mismo endpoint, secreto o test; reutilizar la clave con otro request devuelve 409 IDEMPOTENCY_CONFLICT.
Para rotar sin perder eventos: pausá el endpoint, rotá el secreto, actualizá el receptor, enviá un test y reanudá.
Eventos disponibles
V1 incluye estos eventos:order.* usa el modelo actual de pedidos de comercio.Las notas de crédito se envían como
sale.created con document_kind: "credit_note" en el objeto.Payload
Todos los eventos usan este envelope:id para deduplicar. La entrega es al menos una vez, por lo que tu endpoint puede recibir el mismo evento más de una vez.
Eventos de producto
Para webhooks, un producto es la variante pública vendible:id corresponde al UUID de la variante y variant_group_id identifica al grupo que aporta los campos compartidos. Una creación emite product.created con el estado final persistido. Una actualización emite product.updated con el estado final y changed_fields.
cost, price y promotional_price son centavos enteros. image_url usa primero la imagen de la variante y, si no existe, la del grupo. changed_fields solo aparece en product.updated y respeta este orden estable: name, description, image_url, category_id, sku, barcode, variant_options, unit_of_measure, currency, cost, price, promotional_price, markup_percentage, tax_rate_id, is_exempt, product_type, visibility, is_active, default_supplier_id.
Cambiar un campo compartido del grupo genera una actualización por cada variante activa cuyo objeto público haya cambiado. Los cambios que terminan con el mismo valor persistido no generan evento. Tampoco generan evento los cambios exclusivos de stock, tags, metafields, cuentas contables, listas de precios, marcadores de sincronización, costos promedio, timestamps internos ni eliminaciones definitivas.
Los endpoints existentes no se suscriben automáticamente. Agregá explícitamente product.created y/o product.updated a enabled_events; al crear, actualizar o reanudar el endpoint se vuelve a validar products:read.
Headers
Cada request incluye:Verificar firma
La firma usa HMAC SHA-256 sobre:Payload de prueba
POST /api/v1/webhook-endpoints/{id}/test usa el mismo sender, firma y política de reintentos que un evento normal, pero no contiene datos comerciales:
Respuestas y reintentos
La Pyme considera exitosa cualquier respuesta2xx.
Si tu endpoint responde fuera de 2xx, corta por timeout o falla la conexión, La Pyme reintenta con backoff. Después de varios intentos fallidos, la entrega queda como fallo final y aparece en el historial del webhook.
Tu endpoint debería:
- Responder rápido con
2xxdespués de persistir el evento. - Procesar trabajos lentos en segundo plano.
- Deduplicar por
id. - Verificar la firma antes de confiar en el payload.

