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);