Periodické hromadné získavanie dokumentov cez batch hooky: period, maxBatchSize a ZIP archív.
Štandardne PSB odosiela pri každom prijatom dokumente okamžitú webhook notifikáciu. Pri veľkých objemoch môže byť efektívnejšie dokumenty spracovávať periodicky hromadne. Pomocou batch hooku PSB zhromažďuje všetky udalosti počas nastaviteľného obdobia a vytvorí z nich ZIP archív.
Batch hook reaguje na topik (napríklad InvoiceReceived) a zhromažďuje všetky udalosti, ktoré prídu v danom období. Po uplynutí obdobia PSB vytvorí ZIP súbor so všetkými dokumentmi patriacimi k týmto udalostiam. PSB následne publikuje nový topik ({Topic}Batched), aby ste mohli archív stiahnuť.
Postup je nasledovný:
{Topic}Batched (napríklad InvoiceReceivedBatched)Zaregistrujte hook cez API s akciou batch://zip:
{
"action": "batch://zip?period=00:15:00&maxBatchSize=100",
"topics": ["InvoiceReceived"]
}
period00:15:00 (15 minút)hh:mm:ss. Po tomto období sa dávka uzavrie a vytvorí sa ZIP archív.maxBatchSize100Tip: Parametre
periodamaxBatchSizezvoľte podľa Vášho objemu dokumentov. Pri nízkom objeme môžete nastaviť dlhšie obdobie (napríklad hodinu). Pri vysokom objeme je praktickejšie kratšie obdobie s vyššímmaxBatchSize.
Po uzavretí dávky PSB publikuje novú udalosť na topiku {Topic}Batched. Pomenovanie sleduje pevný vzor:
InvoiceReceivedInvoiceReceivedBatchedOrderReceivedOrderReceivedBatchedNastavte regulárny webhook na batched topik na stiahnutie ZIP archívu:
{
"action": "https://jouw-endpoint.nl/batches",
"topics": ["InvoiceReceivedBatched"],
"secret": "jouw-geheime-sleutel"
}
ZIP súbor obsahuje všetky dokumenty zhromaždené v dávke, každý ako samostatný XML súbor. Názvy súborov sú založené na documentId. Archív je možné stiahnuť cez URL, ktorá je uvedená v batched udalosti.
Batch hooky môžete kombinovať s regulárnymi webhookmi. Použite napríklad regulárny webhook na okamžité spracovanie urgentných dokumentov a batch hook na periodický hromadný import do Vášho ERP systému. Dbajte však na to, aby ste nespracovávali dokumenty duplicitne, ak máte oba hooky nastavené na rovnakom topiku.
Pozor: Batch hooky používajú rovnakú logiku opätovných pokusov ako regulárne webhooky. Ak sa batched udalosť nepodarí úspešne doručiť, PSB to bude skúšať maximálne 5 dní.
Po skončení zberného obdobia PSB publikuje udalosť na {Topic}Batched, napríklad InvoiceReceivedBatched, keď je zdrojový topik InvoiceReceived. Nastavte bežný webhook na tento batched topik, aby ste dostali URL na stiahnutie a stiahli ZIP súbor.
period (predvolených 15 minút) určuje, ako dlho sa zbierajú udalosti pred uzavretím dávky; maxBatchSize (predvolených 100) dávku uzavrie skôr, ak sa tento limit dosiahne skôr. Prispôsobte obe hodnoty objemu: dlhšie obdobia pri malom počte dokumentov, kratšie obdobia alebo vyššie limity pri špičkách.
Áno, ale dávajte pozor na dvojité spracovanie: ak oba používajú rovnaký zdrojový topik, rovnaký dokument môže prísť dvakrát. Použite obe možnosti len vtedy, ak to výslovne ošetríte, napríklad okamžite pre urgentné prípady a dávku pre hromadný import.
Kompletnú API špecifikáciu nájdete na psb.econnect.eu so všetkými možnosťami konfigurácie.
Pozrite si API dokumentáciu