Okresowe pobieranie dokumentów hurtowo przez batch hook: period, maxBatchSize i archiwum ZIP.
Domyślnie PSB wysyła powiadomienie webhook dla każdego otrzymanego dokumentu. Przy dużych wolumenach efektywniejsze może być okresowe przetwarzanie dokumentów hurtowo. Za pomocą batch hooka PSB zbiera wszystkie zdarzenia w konfigurowalnym okresie i tworzy z nich archiwum ZIP.
Batch hook nasłuchuje na topiku (na przykład InvoiceReceived) i zbiera wszystkie zdarzenia przychodzące w określonym okresie. Po upływie okresu PSB tworzy plik ZIP ze wszystkimi dokumentami należącymi do tych zdarzeń. PSB publikuje następnie nowy topik ({Topic}Batched), aby można było pobrać archiwum.
Przebieg jest następujący:
{Topic}Batched (na przykład InvoiceReceivedBatched)Rejestracja hooka przez API z akcją batch://zip:
{
"action": "batch://zip?period=00:15:00&maxBatchSize=100",
"topics": ["InvoiceReceived"]
}
period00:15:00 (15 minut)gg:mm:ss. Po upływie tego okresu wsad zostaje zamknięty i tworzone jest archiwum ZIP.maxBatchSize100Wskazówka: Należy dobrać
periodimaxBatchSizena podstawie wolumenu dokumentów. Przy niskich wolumenach można ustawić dłuższy okres (na przykład godzinę). Przy wysokich wolumenach praktyczniejszy jest krótszy okres z wyższymmaxBatchSize.
Po zamknięciu wsadu PSB publikuje nowe zdarzenie na topiku {Topic}Batched. Nazewnictwo podlega stałemu wzorcowi:
InvoiceReceivedInvoiceReceivedBatchedOrderReceivedOrderReceivedBatchedNależy skonfigurować zwykły webhook na topiku batched, aby pobrać archiwum ZIP:
{
"action": "https://jouw-endpoint.nl/batches",
"topics": ["InvoiceReceivedBatched"],
"secret": "jouw-geheime-sleutel"
}
Plik ZIP zawiera wszystkie dokumenty zebrane we wsadzie, każdy jako osobny plik XML. Nazwy plików bazują na documentId. Archiwum można pobrać przez URL podany w zdarzeniu batched.
Batch hooki można łączyć z regularnymi webhookami. Na przykład webhook regularny do natychmiastowego przetwarzania pilnych dokumentów i batch hook do okresowego importu hurtowego do systemu ERP. Należy jednak zadbać o to, by nie przetwarzać dokumentów podwójnie, jeśli oba hooki są na tym samym topiku.
Uwaga: Batch hooki stosują tę samą logikę ponowień co regularne webhooki. Jeśli zdarzenie batched nie zostanie pomyślnie dostarczone, PSB ponawia próby przez maksymalnie 5 dni.
Po zakończeniu okresu zbierania PSB publikuje zdarzenie na {Topic}Batched, na przykład InvoiceReceivedBatched, gdy topik źródłowy to InvoiceReceived. Skonfiguruj zwykły webhook na tym topiku batched, aby otrzymać adres URL pobrania i pobrać plik ZIP.
period (domyślnie 15 minut) określa, jak długo zbierane są zdarzenia przed zamknięciem wsadu; maxBatchSize (domyślnie 100) zamyka wsad wcześniej, jeśli limit zostanie osiągnięty jako pierwszy. Dostosuj oba parametry do wolumenu: dłuższe okresy przy małej liczbie dokumentów, krótsze okresy lub wyższe limity przy szczytach.
Tak, ale należy uważać na podwójne przetwarzanie: jeśli oba używają tego samego topiku źródłowego, ten sam dokument może dotrzeć dwukrotnie. Oba mechanizmy należy stosować tylko wtedy, gdy jawnie się to obsłuży, na przykład natychmiastowo w pilnych przypadkach i wsadowo przy imporcie masowym.
Pełna specyfikacja API dostępna jest na psb.econnect.eu ze wszystkimi opcjami konfiguracji.
Zobacz dokumentację API