Přeskočit na hlavní obsah

API pro extrakci položek faktur

Tato API slouží k extrakci a zpracování položek faktur z příloh. Nabízí různé endpointy pro jednotlivé i hromadné zpracování faktur, včetně callbacků pro asynchronní zpracování.


Technické informace

Hlavní komponenty

  • ExtractItems: Hlavní služba pro extrakci položek faktur. Komunikuje s externím AI servisem pro zpracování příloh.
  • ExtractItemsCallback: Callback endpointy pro zpracování výsledků z AI servisu.
  • MassExtractItems: Endpoint pro hromadné zpracování faktur.

Klíčové třídy

  • SupplierInvoiceExtractor: Obsahuje logiku pro nahrávání faktur a komunikaci s AI servisem.
  • ExtractItemsCallback: Zpracovává výsledky z AI servisu a aktualizuje databázi.
  • SupplierInvoice: Entita reprezentující fakturu dodavatele.
  • AttachmentParsedData: Entita pro uložení extrahovaných dat z příloh.

Metody a parametry

  • extractItemsSupplierInvoice: Extrahuje položky z faktury dodavatele. Parametr SupplierInvoice je volitelný.
  • extractItemsAttachmentParsedData: Extrahuje položky z dat extrahovaných z přílohy. Parametr AttachmentParsedData je volitelný.
  • uploadInvoices: Nahrává přílohy na AI servis. Vrací výsledek operace.

Konfigurace

  • AiInvoiceParsing integrace: Musí být nakonfigurována v EspoCRM s URL a tokenem pro přístup k AI servisu.

Bezpečnost

  • Tokeny: Pro každou extrakci je generován unikátní token, který je ověřován při callbacku.
  • WebSocket notifikace: Uživatelé jsou informováni o dokončení extrakce přes WebSocket.

Logování

  • Všechny operace jsou podrobně logovány pro účely ladění a auditování.

Použití

  • Iniciace extrakce: Voláním endpointu /SupplierInvoice/:id/extractItems nebo /AttachmentParsedData/extractItems.
  • Asynchronní zpracování: AI servis zpracuje přílohy a zavolá callback URL.
  • Aktualizace dat: Callback aktualizuje příslušné entity v databázi.
  • Notifikace: Uživatelé jsou informováni o dokončení operace.

Chybové stavy

  • 400 Bad Request: Chybějící nebo neplatné parametry.
  • 500 Internal Server Error: Chyba při komunikaci s AI servisem nebo při aktualizaci databáze.

Příklady

Extrakce položek z faktury

$extractor->extractItemsSupplierInvoice($supplierInvoice);

Callback zpracování

$callback->process($request);