Batch hook: recuperare documenti in blocco

Recuperare documenti periodicamente in blocco tramite batch hook: period, maxBatchSize e archivio ZIP.

Di default, la PSB invia una notifica webhook per ogni documento ricevuto. Con grandi volumi può essere più efficiente elaborare i documenti periodicamente in blocco. Con un batch hook la PSB raccoglie tutti gli eventi durante un periodo configurabile e ne crea un archivio ZIP.

Come funziona un batch hook?

Un batch hook ascolta un topic (ad esempio InvoiceReceived) e raccoglie tutti gli eventi che arrivano in un determinato periodo. Al termine del periodo, la PSB crea un file ZIP con tutti i documenti appartenenti a quegli eventi. La PSB pubblica quindi un nuovo topic ({Topic}Batched) affinché si possa scaricare l'archivio.

Il flusso è il seguente:

  1. La PSB riceve documenti e registra gli eventi
  2. Il batch hook raccoglie gli eventi fino alla scadenza del periodo o al raggiungimento del numero massimo
  3. La PSB crea un archivio ZIP di tutti i documenti raccolti
  4. Viene pubblicato un evento {Topic}Batched (ad esempio InvoiceReceivedBatched)
  5. Il webhook riceve l'evento batched e scarica l'archivio ZIP
Creare un batch hook

Registrare un hook tramite l'API con un'action batch://zip:

{
  "action": "batch://zip?period=00:15:00&maxBatchSize=100",
  "topics": ["InvoiceReceived"]
}
Parametri
ParametroDefaultDescrizioneperiod00:15:00 (15 minuti)Il periodo di raccolta nel formato hh:mm:ss. Allo scadere di questo periodo il batch viene chiuso e l'archivio ZIP viene creato.maxBatchSize100Il numero massimo di eventi per batch. Se questo numero viene raggiunto prima della fine del periodo, il batch viene chiuso immediatamente.

Suggerimento: Scegliere period e maxBatchSize in base al proprio volume di documenti. Con volumi bassi si può impostare un periodo più lungo (ad esempio un'ora). Con volumi alti è più pratico un periodo più breve con un maxBatchSize più alto.

Topic di pubblicazione

Dopo la chiusura di un batch, la PSB pubblica un nuovo evento sul topic {Topic}Batched. La denominazione segue un pattern fisso:

Topic sorgenteTopic batchedInvoiceReceivedInvoiceReceivedBatchedOrderReceivedOrderReceivedBatched

Configurare un webhook regolare sul topic batched per recuperare l'archivio ZIP:

{
  "action": "https://jouw-endpoint.nl/batches",
  "topics": ["InvoiceReceivedBatched"],
  "secret": "jouw-geheime-sleutel"
}
Archivio ZIP

Il file ZIP contiene tutti i documenti raccolti nel batch, ciascuno come file XML separato. I nomi dei file si basano sul documentId. L'archivio può essere scaricato tramite l'URL fornito nell'evento batched.

Combinazione con hook regolari

È possibile combinare batch hook con webhook regolari. Ad esempio, utilizzare un webhook regolare per l'elaborazione immediata di documenti urgenti e un batch hook per l'importazione periodica in blocco nel proprio sistema ERP. Assicurarsi però di non elaborare documenti in duplicato se entrambi gli hook sono sullo stesso topic.

Attenzione: I batch hook utilizzano la stessa logica di retry dei webhook regolari. Se l'evento batched non viene consegnato con successo, la PSB riprova per un massimo di 5 giorni.

Domande frequenti
Su quale topic occorre registrarsi per recuperare l'archivio ZIP di un batch hook?

Al termine del periodo di raccolta, la PSB pubblica un evento su {Topic}Batched, ad esempio InvoiceReceivedBatched quando il topic di origine è InvoiceReceived. Configuri un webhook regolare su quel topic batched per ricevere l'URL di download e recuperare il file ZIP.

Come interagiscono period e maxBatchSize?

period (predefinito 15 minuti) definisce per quanto tempo gli eventi vengono raccolti prima della chiusura del batch; maxBatchSize (predefinito 100) chiude il batch prima se quel limite viene raggiunto per primo. Adatti entrambi al volume: periodi più lunghi con pochi documenti, periodi più brevi o limiti più alti nei picchi.

Può combinare un batch hook e un webhook diretto sullo stesso topic?

Sì, ma presti attenzione alla doppia elaborazione: se entrambi usano lo stesso topic di origine, lo stesso documento può arrivare due volte. Usi entrambi solo se gestisce esplicitamente il caso, ad esempio immediato per l'urgente e batch per l'importazione di massa.


Consultare la specifica API completa su psb.econnect.eu per tutte le opzioni di configurazione.

Consulti la documentazione API