Recibir facturas entrantes: configurar webhooks, descargar documentos y gestionar la retención.
Cuando una factura destinada a su organización llega a través de Peppol u otra red, el PSB almacena el documento y envía una notificación a su webhook. En este artículo aprenderá cómo recibir esa notificación, descargar el documento y configurar la gestión de estados.
La recepción de una factura se realiza en cuatro pasos:
InvoiceReceived a su endpointPara recibir facturas necesita un webhook que escuche el topic InvoiceReceived. Regístrelo a través de la Hook API:
POST /api/v1/hook
{
"action": "https://mijn-systeem.nl/webhook/invoices#mijnSecretKey",
"topics": ["InvoiceReceived"]
}
En cuanto llegue una factura, su endpoint recibirá una solicitud POST con un payload JSON. Este payload contiene, entre otros, el documentId y el partyId con los cuales puede recuperar el documento.
Consejo: configure también un webhook en el topic
InvoiceReceivedErrorpara recibir notificaciones en caso de problemas durante la recepción.
Utilice el documentId del payload webhook para recuperar la factura:
GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
La respuesta contiene el documento XML (por defecto en el formato original). ¿Desea recibir el documento en otro formato? Utilice el parámetro targetDocumentTypeId:
GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download?targetDocumentTypeId={URN}
El PSB transforma automáticamente el documento al formato especificado antes de devolverlo.
El PSB conserva los documentos recibidos según el siguiente esquema:
Se recomienda recuperar los documentos inmediatamente después de la recepción y almacenarlos en su propio sistema. No confíe en el PSB como almacenamiento a largo plazo.
Después del procesamiento, puede eliminar manualmente el documento:
DELETE /api/v1/{partyId}/purchaseInvoice/{documentId} HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Esto elimina definitivamente el documento del PSB. La pista de auditoría permanece disponible.
Después de la recepción, puede actualizar el estado de procesamiento de una factura de compra. Esto es especialmente relevante si desea enviar Invoice Responses (mensajes de estado) al remitente. Para ello, consulte el artículo Enviar Invoice Response.
El PSB envía automáticamente un mensaje MLS (Message Level Status) al remitente tras la recepción de un documento. Esto confirma que el documento ha sido recibido y entregado. Como integrador no necesita configurar nada para ello: el PSB lo gestiona completamente. Si usted envía documentos usted mismo, recibe retroalimentación MLS a través del topic webhook MessageLevelStatusReceived. Consulte Configurar webhooks para la configuración.
Si no puede configurar webhooks (por ejemplo en un entorno on-premise sin tráfico de internet entrante), también puede recuperar facturas mediante polling:
GET /api/v1/{partyId}/purchaseInvoice HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Este endpoint devuelve una lista de facturas de compra disponibles. Sin embargo, los webhooks son siempre el método preferido debido al procesamiento en tiempo real y la menor carga sobre la API.
Atención: para integraciones on-premise, considere también el reverse webhook (HTTPS inbound hook), con el cual el PSB envía los documentos sin que su sistema necesite ser directamente accesible desde Internet.
targetDocumentTypeId al descargar en lugar de convertir usted mismo.Registre un webhook en el topic InvoiceReceived; la payload incluye entre otros documentId y partyId. Con esos valores, llame a GET /api/v1/{partyId}/purchaseInvoice/{documentId}/download para recuperar el documento XML. Opcionalmente, puede utilizar targetDocumentTypeId para recibir un formato transformado.
Un documento recibido que aún no ha descargado permanece disponible durante un máximo de 90 días. Después de la descarga, se conserva durante 7 días más; la eliminación manual borra el documento inmediatamente de la PSB. Guarde copias en su propio sistema, ya que la PSB no es un archivo a largo plazo.
Sí, mediante polling a través de GET /api/v1/{partyId}/purchaseInvoice obtiene una lista de facturas de compra disponibles. Los webhooks siguen siendo el método preferido para el procesamiento en tiempo real y menor carga en la API; para instalaciones on-premise sin acceso a internet entrante, también puede considerar un reverse webhook.
Consulte los endpoints PurchaseInvoice completos y los modelos de respuesta en psb.econnect.eu.
Abrir la referencia API