Webhooks
Webhooks: tu sistema se entera apenas pasa algo en Minegon
Una venta nueva, una factura autorizada en ARCA (ex AFIP), un cobro aprobado o un producto bajo el mínimo: Minegon le avisa a tu URL al instante, con firma y reintentos.
Qué te avisan los webhooks
Los eventos que importan
sale.created, invoice.authorized, receipt.created, customer.created, stock.low, payment.approved, channel_order.imported y collection.registered. También podés suscribirte a todos.
Firmados
Cada envío trae X-Minegon-Signature con el timestamp y un HMAC-SHA256 de "timestamp.cuerpo" con tu secreto whsec_. Verificás que vino de Minegon y que no es un reenvío viejo.
Reintentos automáticos
Si tu URL no responde, se reintenta a 1 min, 5 min, 30 min, 2 h, 12 h y 24 h. Después podés reenviarlo a mano desde Minegon.
Deduplicación simple
Webhook-Id y X-Minegon-Event-Id son iguales en cada reintento: guardalos y procesá cada evento una sola vez.
Cómo funciona, paso a paso
Paso 1: Publicás una URL https
Un endpoint público que reciba POST con JSON y responda 2xx en menos de 10 segundos.
Paso 2: Creás la suscripción
En Integraciones › Webhooks elegís la URL y los eventos. Minegon te muestra el secreto de firma.
Paso 3: Probás con ping
Mandás un evento de prueba para verificar la firma y la conexión.
Paso 4: Procesás los eventos
Verificás la firma, deduplicás por Webhook-Id y actualizás tu sistema.
Payload de ejemplo y verificación de firma
Cada evento llega como POST con { id, event, createdAt, data }. En los webhooks, los importes de data van como número (formato compat).
Content-Type: application/json
User-Agent: Minegon-Webhooks/1.0
X-Minegon-Event: invoice.authorized
Webhook-Id: 0d6c2f3e-8b1a-4e7f-9a51-2c4b7d1e9f30
X-Minegon-Signature: t=1791388800,v1=5d41402abc4b2a76b9719d911017c592...
{
"id": "0d6c2f3e-8b1a-4e7f-9a51-2c4b7d1e9f30",
"event": "invoice.authorized",
"createdAt": "2026-10-07T14:32:10.000Z",
"data": {
"id": 3187,
"status": "authorized",
"voucherLabel": "Factura B",
"fullNumber": "0002-00000123",
"saleId": 9921,
"customerName": "Ana",
"total": 58000,
"cae": "76412345678901",
"caeExpiration": "2026-10-17"
}
}import crypto from 'node:crypto'
// rawBody: el cuerpo TAL CUAL llegó (string), antes de parsear el JSON.
export function firmaValida(secret, header, rawBody) {
const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')))
const t = Number(parts.t)
if (!t || Math.abs(Date.now() / 1000 - t) > 300) return false // 5 min de tolerancia
const esperada = crypto.createHmac('sha256', secret).update(`${t}.${rawBody}`).digest('hex')
const a = Buffer.from(esperada)
const b = Buffer.from(parts.v1 ?? '')
return a.length === b.length && crypto.timingSafeEqual(a, b)
}Los valores del ejemplo son ilustrativos. La firma se calcula sobre el cuerpo crudo: si tu framework parsea el JSON antes, guardá el string original.
Para quién sirve
Tienda o app propia
Cuando la factura se autoriza en ARCA, le mandás el PDF al cliente desde tu sistema.
Logística o depósito
Con cada venta nueva, tu sistema de envíos arma el despacho sin que nadie copie datos.
Compras
Con stock.low armás el pedido al proveedor o avisás por Slack o WhatsApp.
Automatizaciones con n8n, Make o Zapier
Cualquier herramienta que reciba un webhook por https puede escuchar los eventos de Minegon.
En qué planes está
Sin costo extra: viene incluida según el plan. Todos los planes se prueban 14 días gratis.
| Plan | Qué incluye | Precio mensual |
|---|---|---|
| Facturación Pro |
| $55.900 final |
| ERP Crecimiento |
| $133.900 + IVA |
| ERP Empresa |
| $280.900 + IVA |
Con un POS, sumando el complemento de Facturación
- POS Kiosco + Facturación Pro: Webhooks salientes firmados
- POS Comercio + Facturación Pro: Webhooks salientes firmados
- POS Cadena + Facturación Pro: Webhooks salientes firmados
Una suscripción que acumula 50 fallas seguidas se pausa sola para no castigar tu servidor; la reactivás desde Minegon.
Preguntas frecuentes sobre Webhooks
¿Qué es un webhook y en qué se diferencia de consultar la API?
Con la API, tu sistema pregunta cada tanto si hubo cambios. Con un webhook, Minegon le avisa a tu sistema en el momento en que pasa algo, con los datos del evento. Es más rápido y gasta muchas menos llamadas.
¿Qué eventos hay?
Venta creada (sale.created), comprobante autorizado por ARCA (invoice.authorized), recibo registrado (receipt.created), cliente creado (customer.created), stock bajo el mínimo (stock.low), cobro QR o Point aprobado (payment.approved), orden de canal importada (channel_order.imported) y cobranza registrada en tesorería (collection.registered), más ping para probar.
¿Cómo verifico la firma?
El header X-Minegon-Signature trae t (timestamp unix) y v1 (HMAC-SHA256 en hex). Calculás el HMAC de "t.cuerpo_crudo" con tu secreto, lo comparás en tiempo constante con v1 y rechazás timestamps de más de 5 minutos.
¿Qué pasa si mi endpoint falla?
Minegon reintenta a 1 minuto, 5 minutos, 30 minutos, 2 horas, 12 horas y 24 horas (7 intentos en total, con 10 segundos de espera por intento). Si se agotan, el envío queda fallido y lo podés reenviar a mano.
¿Hay un evento cada vez que cambia el stock?
No hay un evento por cada movimiento: está stock.low, que avisa cuando un producto queda bajo su mínimo. Para conocer el stock exacto, consultá la API REST.
¿Puedo usarlos con n8n, Make o Zapier?
Sí: cualquier herramienta que reciba un POST por https sirve. La URL tiene que ser pública y https; Minegon no envía a direcciones internas.
Información verificada el 07/10/2026.
Probalo con tu negocio
Usá Webhooks 14 días gratis con tus datos. Si te trabás, una persona del equipo te ayuda a conectarlo.