Periodické hromadné získávání dokumentů přes batch hooky: period, maxBatchSize a ZIP archiv.
Standardně PSB odesílá při každém přijatém dokumentu okamžitou webhook notifikaci. Při velkých objemech může být efektivnější dokumenty zpracovávat periodicky hromadně. Pomocí batch hooku PSB shromažďuje všechny události během nastavitelného období a vytvoří z nich ZIP archiv.
Batch hook reaguje na topik (například InvoiceReceived) a shromažďuje všechny události, které přijdou v daném období. Po uplynutí období PSB vytvoří ZIP soubor se všemi dokumenty patřícími k těmto událostem. PSB následně publikuje nový topik ({Topic}Batched), abyste mohli archiv stáhnout.
Postup je následující:
{Topic}Batched (například InvoiceReceivedBatched)Zaregistrujte hook přes API s akcí batch://zip:
{
"action": "batch://zip?period=00:15:00&maxBatchSize=100",
"topics": ["InvoiceReceived"]
}
period00:15:00 (15 minut)hh:mm:ss. Po tomto období se dávka uzavře a vytvoří se ZIP archiv.maxBatchSize100Tip: Parametry
periodamaxBatchSizezvolte podle Vašeho objemu dokumentů. Při nízkém objemu můžete nastavit delší období (například hodinu). Při vysokém objemu je praktičtější kratší období s vyššímmaxBatchSize.
Po uzavření dávky PSB publikuje novou událost na topiku {Topic}Batched. Pojmenování sleduje pevný vzor:
InvoiceReceivedInvoiceReceivedBatchedOrderReceivedOrderReceivedBatchedNastavte regulární webhook na batched topik pro stažení ZIP archivu:
{
"action": "https://jouw-endpoint.nl/batches",
"topics": ["InvoiceReceivedBatched"],
"secret": "jouw-geheime-sleutel"
}
ZIP soubor obsahuje všechny dokumenty shromážděné v dávce, každý jako samostatný XML soubor. Názvy souborů jsou založeny na documentId. Archiv lze stáhnout přes URL, která je uvedena v batched události.
Batch hooky můžete kombinovat s regulárními webhooky. Použijte například regulární webhook pro okamžité zpracování urgentních dokumentů a batch hook pro periodický hromadný import do Vašeho ERP systému. Dbejte však na to, abyste nezpracovávali dokumenty duplicitně, pokud máte oba hooky nastaveny na stejném topiku.
Pozor: Batch hooky používají stejnou logiku opětovných pokusů jako regulární webhooky. Pokud se batched událost nepodaří úspěšně doručit, PSB to bude zkoušet maximálně 5 dní.
Po skončení sběrného období PSB publikuje událost na {Topic}Batched, například InvoiceReceivedBatched, když je zdrojový topik InvoiceReceived. Nastavte běžný webhook na tento batched topik, abyste obdrželi URL ke stažení a stáhli ZIP soubor.
period (výchozí 15 minut) určuje, jak dlouho se shromažďují události před uzavřením dávky; maxBatchSize (výchozí 100) dávku uzavře dříve, pokud je tento limit dosažen dříve. Přizpůsobte obě hodnoty objemu: delší období při malém počtu dokumentů, kratší období nebo vyšší limity při špičkách.
Ano, ale dejte pozor na dvojí zpracování: pokud oba používají stejný zdrojový topik, stejný dokument může dorazit dvakrát. Používejte obě možnosti jen tehdy, pokud to výslovně ošetříte, například okamžitě pro urgentní případy a dávku pro hromadný import.
Kompletní API specifikaci naleznete na psb.econnect.eu se všemi možnostmi konfigurace.
Podívejte se na API dokumentaci