Troubleshooting de webhooks
”No recibo webhooks”
Verificá:
- ✅ La API key tiene
webhookUrlconfigurada (pedile al admin que confirme). - ✅ La URL es HTTPS y resuelve a una IP pública válida (no RFC1918 ni link-local).
- ✅ Tu endpoint responde con
2xxy en menos de 10 s. - ✅ El comprobante se emitió vía API: los emitidos desde el POS web no disparan webhooks.
- ✅ Hacienda ya respondió. Si el comprobante está en
procesando, todavía no hay nada que notificar.
”Recibo 401 o firma inválida”
Verificá:
- ✅ Usás el mismo
webhookSecretque se generó al crear o rotar la key. - ✅ Leés el body crudo antes de parsearlo (no re-serialices el JSON).
- ✅ Comparás con una función timing-safe (
timingSafeEqual,hmac.compare_digest,hash_equals, etc.). - ✅ No agregás ni quitás espacios, BOM ni newlines al body antes del HMAC.
”Recibo el mismo evento varias veces”
Es comportamiento esperado durante un reintento. Implementá deduplicación por nonce: el nonce cambia en cada intento, así que sirve como clave única de “envío”.
”Recibí webhook pero el comprobante no aparece en GET /facturas/{clave}”
Improbable, pero puede ocurrir por una race condition. Reintentá el GET con backoff exponencial. Si persiste por más de un minuto, abrí un ticket de soporte.