Przetwarzanie aktualizacji statusu od odbiorców przez hooki: acknowledged, accepted, rejected, paid.
Gdy odbiorca przekazuje status Państwa faktury za pomocą Invoice Response (komunikaty statusowe), PSB wysyła powiadomienie na webhook. Dzięki temu jako nadawca wiedzą Państwo, czy faktura została zatwierdzona, odrzucona, czy odbiorca potrzebuje dodatkowych informacji. Ten artykuł opisuje, jak przechwytywać i przetwarzać te powiadomienia.
Po wysłaniu faktury odbiorca może wysyłać komunikaty o statusie przez sieć Peppol. PSB automatycznie łączy każdy otrzymany Invoice Response z Państwa oryginalną fakturą i publikuje zdarzenie webhook.
Przepływ:
InvoiceResponseReceivedNależy zarejestrować hook na topicu InvoiceResponseReceived:
POST /api/v1/hook
{
"action": "https://mijn-systeem.nl/webhook/responses#mijnSecretKey",
"topics": ["InvoiceResponseReceived"]
}
Payload webhooka zawiera documentId oryginalnej faktury i responseDocumentId wiadomości Invoice Response.
Pełną wiadomość Invoice Response pobiera się przez API:
GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Wiadomość zawiera kod statusu, ewentualne kody wyjaśniające i opcjonalną notatkę od odbiorcy.
Otrzymany kod statusu wskazuje, na jakim etapie u odbiorcy znajduje się faktura:
Przy statusach UQ i RE ważne jest przeczytanie załączonego Reason code i Action code. Wskazują one, co jest nie tak i jakiego działania odbiorca oczekuje. Przegląd wszystkich Reason i Action code znajduje się w artykule Wysyłanie Invoice Response.
Aby móc odbierać Invoice Response jako nadawca, Państwa organizacja musi być zarejestrowana w Peppol SMP z capability invoiceResponse. Bez tej rejestracji Access Point odbiorcy nie może dostarczyć wiadomości response.
Sprawdzenie i aktywacja capability:
PUT /api/v1/peppol/config HTTP/1.1
Host: psb.econnect.eu
Authorization: Bearer {access_token}
Content-Type: application/json
{
"invoiceResponse": {
"state": "on"
}
}
Kilka zaleceń dotyczących przetwarzania Invoice Response:
documentId z payloadu, aby powiązać response z odpowiednią fakturą we własnej administracji.X-EConnect-DocumentId, ponieważ jest to nowy dokument.Należy zarejestrować hook na topic InvoiceResponseReceived. Payload zawiera documentId pierwotnie wysłanej faktury oraz responseDocumentId komunikatu statusu. Pozwala to powiązać odpowiedź w systemie z właściwą fakturą sprzedażową.
Należy użyć GET /api/v1/{partyId}/salesInvoice/{documentId}/response/{responseDocumentId}/download z documentId faktury i responseDocumentId z webhooka. Wiadomość zawiera kod statusu oraz ewentualne informacje wyjaśniające od odbiorcy.
Przy RE (Rejected) należy poprawić fakturę i wysłać ją ponownie; kody Reason i Action wskazują, co jest nie tak. Dla nowej wersji należy użyć nowego X-EConnect-DocumentId, ponieważ jest to nowy dokument, a idempotency działa na podstawie documentId.
Invoice Response są opcjonalne w sieci Peppol. Nie każdy odbiorca je wysyła. Jednak gdy są stosowane, oferują cenne informacje o procesie fakturowania.
Wypróbuj w API