Reconocer y convertir automáticamente facturas PDF a facturas electrónicas a través de recognize hooks.
El Intelligent Document Recognizer (IDR) convierte automáticamente facturas PDF en facturas electrónicas estructuradas. A través de la API de la PSB, usted controla el IDR mediante recognize hooks, con los que configura el proceso de reconocimiento: nivel de calidad, prioridad, funciones de extracción y datos de la parte. Este artículo describe cómo utilizar el IDR a través de la API.
El IDR funciona como un hook en el sistema de hooks de la PSB. Usted registra un recognize hook que escucha un topic (por ejemplo, InvoiceReceived). Cuando un documento PDF llega a través de ese topic, la PSB lo envía automáticamente al IDR para su reconocimiento. Tras el procesamiento, el IDR publica el resultado en un topic de callback.
La hook-action para IDR tiene el siguiente formato:
recognize://idr?quality={quality}&priority={priority}&features={features}&data={base64-data}
El nivel de calidad determina con qué rigor el IDR evalúa el resultado del reconocimiento:
defaulthqlqLa prioridad determina el orden de procesamiento en la cola del IDR:
highmediumlowLas features activan capacidades de extracción adicionales. Puede combinar múltiples features (separadas por comas):
ibang-accountorder-referenceproject-referencecontract-referenceEjemplo: features=iban,g-account,order-reference
El campo data contiene JSON codificado en base64 con los datos de la organización receptora. El IDR utiliza esta información para enriquecer y validar el resultado del reconocimiento. El JSON contiene nombres, identificadores, dirección de correo electrónico y direcciones de la organización.
Ejemplo del JSON antes de la codificación en base64:
{
"names": ["Bedrijfsnaam B.V."],
"identifiers": [
{ "type": "KVK", "value": "12345678" }
],
"email": "[email protected]",
"addresses": [
{
"street": "Voorbeeldstraat 1",
"postcode": "1234 AB",
"city": "Utrecht",
"country": "NL"
}
]
}
Un recognize hook completo tiene el siguiente aspecto:
{
"action": "recognize://idr?quality=default&priority=medium&features=iban,order-reference&data={base64-encoded-party-details}",
"topics": ["InvoiceReceived"]
}
Registre este hook a través del endpoint de Hook:
POST /api/v1/hook
O inclúyalo directamente en una solicitud de Enrollment.
Tras el procesamiento, el IDR publica el resultado en uno de los siguientes topics:
PurchaseInvoiceRecognizedPurchaseInvoiceRecognizedPendingPurchaseInvoiceRecognizedRejectedPurchaseInvoiceRecognizedErrorConfigure un webhook o mailhook para estos topics para recibir el resultado. Por ejemplo:
{
"action": "https://api.bedrijf.nl/idr/callback",
"topics": ["PurchaseInvoiceRecognized", "PurchaseInvoiceRecognizedError"]
}
El tamaño máximo de archivo para uploads al IDR es de 15 MB. Los archivos mayores de 15 MB devuelven un código de error HTTP 413 (Content Too Large).
El IDR admite los siguientes tipos de archivo:
Otros tipos de archivo (Word, Excel, HTML) no son compatibles y generan un error IDR422 Invalid PDF Content. Los PDF protegidos con contraseña o DRM producen un mensaje de error similar.
El proceso completo del IDR a través de la API se realiza en cuatro pasos:
¿Desea saber más sobre la arquitectura de hooks de la PSB? Lea el artículo sobre configurar y proteger webhooks.
Abrir la referencia de la API