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.

Ver en qué planes está

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

  1. Paso 1: Publicás una URL https

    Un endpoint público que reciba POST con JSON y responda 2xx en menos de 10 segundos.

  2. Paso 2: Creás la suscripción

    En Integraciones › Webhooks elegís la URL y los eventos. Minegon te muestra el secreto de firma.

  3. Paso 3: Probás con ping

    Mandás un evento de prueba para verificar la firma y la conexión.

  4. 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).

POST a tu URL: invoice.authorized (recortado)http
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"
  }
}
Verificar la firma (Node)javascript
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.

Planes que incluyen esta funcionalidad
PlanQué incluyePrecio mensual
Facturación Pro
  • Webhooks salientes firmados
$55.900 final
ERP Crecimiento
  • Webhooks salientes firmados
$133.900 + IVA
ERP Empresa
  • Webhooks salientes firmados
$280.900 + IVA

Con un POS, sumando el complemento de Facturación

Una suscripción que acumula 50 fallas seguidas se pausa sola para no castigar tu servidor; la reactivás desde Minegon.

Ver todos los planes y la tabla completa de funciones

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.

Empezá tu prueba de 14 díasHablá con una persona