Odpovědi na dokumenty
PEPPOL podporuje více úrovní odpovědí na dokumenty. Tato stránka vysvětluje každou úroveň a způsob použití API pro jejich odesílání.
Klíčové věci, které je třeba pochopit před začátkem
- Neexistuje striktní povinnost dokument výslovně potvrdit. V rámci PEPPOL je obecně přijímáno, že pokud není v přiměřené době odesláno zamítnutí, je dokument považován za přijatý.
- Potvrzení o přenosu na nejnižší úrovni (AS4) je automaticky potvrzeno síťovou infrastrukturou — není nutná žádná akce.
- Odpověď na úrovni zprávy lze odeslat buď jako MLR (BIS 36), nebo MLS (eDEC MLS 1.0). Odesílá se automaticky, když je pro účastníka povolena volba "autoAcknowledge", a potvrzuje pouze technické přijetí / zpracování (bez obchodního významu). Pokud příjemce podporuje MLR i MLS, má přednost MLS.
- Odpověď na fakturu (IMR) a odpověď na objednávku jsou jediné typy odpovědí s obchodním významem. Použijte je, když chcete jménem kupujícího výslovně přijmout nebo zamítnout fakturu nebo objednávku.
1. Odpověď na úrovni přenosu (AS4)
Na nejnižší úrovni odesílá transportní protokol PEPPOL AS4 synchronní potvrzení pro každou přijatou zprávu. Toto je zpracováváno automaticky přístupovým bodem a nevyžaduje žádnou akci z vaší strany. Potvrzuje přijetí bajtů, nikoli porozumění dokumentu nebo jeho obchodní přijetí.
2. Odpověď na úrovni zprávy – MLR (BIS 36)
MLR (BIS 36) je dokument PEPPOL ApplicationResponse (urn:fdc:peppol.eu:poacc:trns:mlr:3). Signalizuje, zda byl přijatý dokument technicky platný a zda ho přijímající systém mohl zpracovat. Nepředstavuje obchodní rozhodnutí, jako je přijetí nebo zamítnutí faktury. MLR slouží k potvrzení nebo zamítnutí přijatého dokumentu na úrovni zprávy/systému.
Toto API také podporuje MLS (Message Level Status, urn:peppol:edec:mls:1.0). Používají se stejné endpointy. Systém volí podle možností příjemce: pokud je podporováno MLS, odešle se (preferovaně) MLS, jinak MLR; pokud není podporováno ani jedno, žádná odpověď na úrovni zprávy se neodešle.
Endpointy
POST /api/documents/{documentId}/mlr/confirm — Odešle MLR s kódem AP (Potvrzeno). Označí dokument jako potvrzený.POST /api/documents/{documentId}/mlr/reject — Odešle MLR s kódem RE (Zamítnuto). Označí dokument jako zamítnutý.
curl -X POST "https://api.peppos.cz/api/documents/{documentId}/mlr/confirm" \
-H "Authorization: Bearer <your-token>"3. Odpověď na fakturu – IMR (BIS 63)
IMR (BIS 63) je dokument PEPPOL ApplicationResponse (urn:fdc:peppol.eu:poacc:trns:invoice_response:3). Představuje obchodní odpověď na fakturu nebo dobropis. Na rozdíl od MLR má IMR obchodní význam – sděluje odesílateli faktury, zda je jeho faktura přijata, v přezkumu, v dotazu nebo zamítnuta. Specifikace PEPPOL BIS 63 ↗
Kódy odpovědí
| Kód | Význam |
|---|
| AB | Message acknowledgement – received but not yet processed |
| IP | In process – being processed |
| UQ | Under query – clarification needed |
| CA | Accepted with changes |
| RE | Rejected |
| AP | Accepted |
| PD | Paid |
Endpointy
POST /api/documents/{documentId}/accept — Zkratka: odešle IMR s kódem AP.POST /api/documents/{documentId}/reject — Zkratka: odešle IMR s kódem RE.POST /api/documents/{documentId}/send-response — Obecné: zadejte libovolný platný kód odpovědi.
# Accept an invoice
curl -X POST "https://api.peppos.cz/api/documents/{documentId}/accept" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{"note": "Invoice accepted", "effectiveDate": "2025-01-15"}'
# Reject an invoice
curl -X POST "https://api.peppos.cz/api/documents/{documentId}/reject" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{"note": "Incorrect amount on line 3"}'
# Send a custom response code (e.g. Under Query)
curl -X POST "https://api.peppos.cz/api/documents/{documentId}/send-response" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{"responseCode": "UQ", "note": "Please confirm delivery address"}'4. Odpověď na objednávku (BIS 28)
OrderResponse (BIS 28, T76) je dokument PEPPOL OrderResponse (urn:fdc:peppol.eu:poacc:trns:order_response:3). Je to obchodní odpověď na přijatou objednávku. Používají se stejné API endpointy – systém automaticky vybírá mezi IMR a OrderResponse podle typu dokumentu.
Kódy odpovědí
| Kód | Význam |
|---|
| AP | Order accepted |
| RE | Order rejected |
# Accept an order
curl -X POST "https://api.peppos.cz/api/documents/{documentId}/accept" \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{"note": "Order confirmed"}'Příjem odpovědí na vámi odeslané dokumenty
Když příjemce dokumentu, který jste odeslali, odpoví MLR/MLS, IMR nebo OrderResponse, stav původního dokumentu se automaticky aktualizuje. Přijaté odpovědi nastaví stav na mlr-accepted; odmítnuté odpovědi na mlr-rejected. Pro upozornění se můžete přihlásit k webhook událostem invoice.response a order.response.
invoice.response — Spuštěno při přijetí odpovědi na fakturu (IMR).order.response — Spuštěno při přijetí odpovědi na objednávku.