Skip to main content

Crear

El secret se devuelve una vez. Mínimo 16 caracteres si lo envías tú. El módulo Odoo escucha POST https://<odoo>/webhooks/ecf (JSON plano, no JSON-RPC). web.base.url tiene que ser alcanzable desde api.emite.do.

Eventos que sí se envían

Al crear el webhook también se aceptan *, ecf.*, signed, submitted y failed. Hoy el worker de cliente no dispara signed, submitted ni failed. Si los suscribes, no llegan notificaciones de esos pasos. El estado intermedio se consulta con GET /api/v1/ecf/{public_id}.

Payload

Campos en la raíz. No hay wrapper data. Los nulos se omiten.
Puede venir dgii_response, electronic_stamp y sign_date cuando el acuse los trae. Headers:
  • Content-Type: application/json
  • X-ECF-Event: <evento>
  • X-ECF-Signature: sha256=<hmac-sha256(secret, body crudo)>
No hay X-ECF-Timestamp ni X-ECF-Delivery-Id en el envío vivo.
Firma el body crudo. Parsear y volver a serializar JSON cambia espacios y rompe el HMAC.
Si tu endpoint no responde 2xx, hay reintentos exponenciales (backoff hasta 24 h). Dry-run: POST /api/v1/client/webhooks/{id}/test. Historial: .../deliveries.