Poštár

Dokumentace API

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/confirmOdešle MLR s kódem AP (Potvrzeno). Označí dokument jako potvrzený.
  • POST /api/documents/{documentId}/mlr/rejectOdeš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ódVýznam
ABMessage acknowledgement – received but not yet processed
IPIn process – being processed
UQUnder query – clarification needed
CAAccepted with changes
RERejected
APAccepted
PDPaid
Endpointy
  • POST /api/documents/{documentId}/acceptZkratka: odešle IMR s kódem AP.
  • POST /api/documents/{documentId}/rejectZkratka: odešle IMR s kódem RE.
  • POST /api/documents/{documentId}/send-responseObecné: 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ódVýznam
APOrder accepted
REOrder 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.responseSpuštěno při přijetí odpovědi na fakturu (IMR).
  • order.responseSpuštěno při přijetí odpovědi na objednávku.