Solicitar acceso

Configura la URL del webhook

PUT/api/v1/account/webhook

Cuando un documento llega a un estado final se hace POST a la URL con {"event": "document.accepted", "sent_at": "...", "data": <Document>}. Eventos: document.accepted, document.rejected, document.failed y account.environment_changed (cambio de ambiente de la cuenta o de un cliente).

Firma: X-Facturoa-Signature: t=<unix>,v1=<hex> con v1 = HMAC-SHA256(secret, "<t>.<cuerpo>"). Solo https, sin IPs privadas ni redirecciones. Reintentos de 1 min a 24 h; un evento puede llegar más de una vez (deduplicar por data.id + event). secret se devuelve solo cuando se genera (la primera vez o con rotate_secret: true).

Cuerpo de la petición application/json

  • urlstring · uriobligatorio

    Ejemplo: https://erp.example.com/facturoa

  • rotate_secretboolean· por defecto false

Respuestas

200OK
  • urlstring
  • secretstring

    Solo cuando se genera

    Ejemplo: whsec_...

  • updated_atstring · date-time
400Datos inválidos (details trae los campos)
  • codestring

    Ejemplo: error.document.invalid

  • messagestring
  • errorsarray<object>

    Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)

    + Ver 2 campos− Ocultar 2 campos
    • fieldstring

      Ruta del campo en el JSON enviado

      Ejemplo: lines[0].quantity

    • messagestring

      Ejemplo: Cantidad inválida: debe ser mayor que cero.

  • detailsarray<string>

    Rutas de los campos inválidos (compatibilidad; usa errors)

  • request_idstring
401Falta la key o es inválida, está deshabilitada, vencida o revocada (error.missing_api_key, error.invalid_api_key, error.api_key.disabled, error.api_key.expired, error.api_key.revoked)
  • codestring

    Ejemplo: error.document.invalid

  • messagestring
  • errorsarray<object>

    Solo en 400: cada campo inválido con su explicación (en español, o en inglés con Accept-Language: en)

    + Ver 2 campos− Ocultar 2 campos
    • fieldstring

      Ruta del campo en el JSON enviado

      Ejemplo: lines[0].quantity

    • messagestring

      Ejemplo: Cantidad inválida: debe ser mayor que cero.

  • detailsarray<string>

    Rutas de los campos inválidos (compatibilidad; usa errors)

  • request_idstring