Konfigurace SMP capability, Peppol Directory a businessCard přes API PSB.
PSB je certifikovaný Peppol Access Point a SMP (Service Metadata Publisher). Přes API se konfigurují typy dokumentů, které organizace může přijímat, publikují firemní údaje v Peppol Directory a spravuje se SMP registrace. Tento článek pokrývá technické pozadí a API endpointy, které se k tomu používají.
Peppol funguje s modelem 4-corner: odesílatel (C1) odesílá přes svůj Access Point (C2) dokument na Access Point příjemce (C3), který jej předá příjemci (C4). Routing probíhá přes dvě centrální komponenty:
Když odešlete fakturu přes PSB, PSB automaticky provede SML/SMP lookup pro nalezení správného Access Pointu příjemce. Jako integrátor to nemusíte dělat sami.
Infrastruktura Peppol se aktivně vyvíjí. Pro integrátory používající API PSB to nemá žádný dopad: PSB provádí SML/SMP lookupy automaticky. Níže jsou aktuální změny pro informaci.
Insourcing SML. OpenPeppol přebírá správu SML od Evropské komise (DG DIGIT). Migrační okno bylo otevřeno 19. března 2026. Platí dva samostatné termíny: termín pro SMP registrace je 31. května 2026, migrační období pro AP Lookup (DNS rozlišení) bylo prodlouženo do 31. srpna 2026. OpenPeppol diskutuje s Evropskou komisí, zda je možné prodloužit i termín SMP registrace. Pro API integrátory se nic nemění v endpointech ani lookupech: PSB řeší migraci interně.
Migrace CNAME na NAPTR. Migrace DNS CNAME záznamů na NAPTR záznamy pro SML lookupy byla dokončena v březnu 2026. NAPTR je povinný od 1. února 2026. Staré CNAME záznamy byly odstraněny z testovací sítě SMK (4. března 2026) a produkční sítě SML (11. března 2026). Jde o interní DNS změnu v infrastruktuře Peppol. PSB již používá NAPTR a nejsou potřeba žádné úpravy integrace.
Migrace PKI G3. OpenPeppol připravuje přechod z certifikátů PKI Generation 2 (G2) na Generation 3 (G3). G3 certifikáty se používají pro vzájemnou komunikaci mezi Access Pointy. Peppol Testbed podporuje G2 i G3 certifikáty od března 2026, aby Service Providers mohli testovat předem. Povinné datum přechodu zatím nebylo zveřejněno. Pro API integrátory se nic nemění: PSB řeší obnovu certifikátů interně.
Peppol podporuje logistické typy dokumentů kromě faktur přes specifikaci Peppol Logistics. Verze 1.2 je povinná od 16. března 2026. Vydání 1.3 je v member review do 15. dubna 2026, s očekávanou publikací 18. května 2026.
Podporované logistické dokumenty:
Nové funkce ve vydání 1.3:
Vydání 1.3 řeší RFC LLC-27 až LLC-35, včetně zarovnání ItemInstance, nefakturačních aktualizací a kódů podúpravy pro odpad.
Při registraci party v SMP eConnect se přes capability určují typy dokumentů, které tato party může přijímat. Každá capability má tři možné stavy:
onoffinheritedDoporučená hodnota pro nové registrace je inherited, pokud party nemusí specificky odchýlit od standardu.
invoicesselfbillinginvoice_bisv2reviewsinvoiceResponseordersorderOnlyorderAdvancedorderResponseorderResponseAdvancedCapability se konfigurují přes Peppol config endpoint:
PUT /api/v1/peppol/config/party/{partyId}
V body požadavku se uvede požadovaný stav pro každou capability. Příklad:
{
"capabilities": {
"invoices": "on",
"selfbilling": "inherited",
"invoiceResponse": "on",
"orderOnly": "on",
"orderAdvanced": "off"
}
}
Peppol Directory je veřejný registr všech účastníků Peppol. Publikováním businessCard se party stává vyhledatelnou v directory. BusinessCard obsahuje:
BusinessCard se publikuje přes Enrollment endpoint nebo přes SMP konfiguraci. Po publikaci je organizace vyhledatelná na directory.peppol.eu.
PSB API neodvozuje žádná pole z propojeného obchodního rejstříku. Bez ohledu na schéma identifikátoru (KvK 0106, DPH 9944, OIN 0190, GLN 0088 nebo jiné) musí být v payloadu explicitně uvedena pole names i address s kódem země. Příklad správně nakonfigurované businessCard:
"businessCard": {
"names": {
"value": "eVerbinding, eConnect",
"state": "on",
"description": "Business names."
},
"address": {
"value": "Pelmolenlaan 16A, 3447 GW, Woerden, NL",
"state": "on",
"description": "Geographic information."
},
"emailAddress": {
"value": "techsupport@econnect.eu",
"state": "on",
"description": "Technical contact"
},
"state": "on"
}
Kód země (v příkladu výše NL na konci pole address) musí být explicitně uveden.
Both name(s) and country code are required when adding a business cardTato chybová zpráva je diagnosticky jednoznačná: zaslaný payload neobsahuje names, nebo pole address neobsahuje kód země. Řešením je vždy explicitní doplnění těchto polí do payloadu businessCard, nikoli úprava na jiné úrovni (party, identifikátor, SMP capabilities). Zpráva se v praxi objevuje poměrně často při integraci GLN (0088), protože integrační partneři používající GLN méně často využívají šablonu, která tato pole standardně odesílá. PSB nemá pro GLN odlišné chování než pro ostatní schémata.
Předběžná kontrola, zda je příjemce dostupný na Peppol, se provádí podle typu dokumentu a přes pokročilý lookup endpoint:
POST /api/v1/{partyId}/salesInvoice/queryRecipientParty["0106:..."] nebo { "partyIds": [...], "metaAttributes": {...} }; volitelné ?preferredDocumentTypeId, ?includeOptionsPOST /api/v1/{partyId}/purchaseOrder/queryRecipientParty?documentFamily=OrderGET /api/v1/peppol/deliveryOption?partyIds=...&documentFamily=...&isCredit=...partyId, documentTypeId, processId, protocol (As2/As4), url, certificateOdpověď zobrazuje dostupné kanály, vybraný Access Point a podporované typy dokumentů. Tyto endpointy použijte pro předběžnou validaci, zda doručení bude úspěšné. Jsou neomezeně dostupné ve všech balíčcích (proaktivní detekce/discovery tras).
Poznámka: při neshodě SML/SMP na endpointu
deliveryOptionvolání nevrátí chybu ihned. V produkci není implementována obsluha fail-fast: volání pokračuje a vrátí timeout teprve po přibližně 30 sekundách. Vezměte to v úhaz v obsluže chyb své integrace.
Každá party v SMP je identifikována přes identifikátor se schemeID. Nejčastěji používané schémata:
01060106:1234567801900190:0000000123456789000099449944:NL123456789B010208BE:EN0208:01234567899925BE:VAT9925:BE0835689642 (i BE1xxxxxxxxx je platné od roku 2025)00880088:1234567890123API PSB přijímá numerický schemeID i kód písmen: 9925:BE0835689642 je ekvivalentní s BE:VAT:BE0835689642. Při použití externích vyhledávacích nástrojů (jako SMP lookup) se musí používat oficiální numerické schemeID.
Party může mít více identifikátorů, ale každá faktura může obsahovat pouze jeden EndpointID.
V Belgii se pro Peppol používají dva typy identifikátorů. Číslo podniku (KBO, schemeID 0208) je primární identifikační číslo a povinné pro příjem Peppol. Registrace na DIČ (schemeID 9925) je volitelná, proto je vyhledávání belgické organizace podle čísla podniku úspěšnější než podle DIČ.
Číslo podniku lze odvodit z DIČ odstraněním prefixu kódu země (BE). Například: DIČ BE0835689642 odpovídá číslu podniku 0835689642.
Při odesílání dokumentu PSB extrahuje Peppol identifikátor z elementu EndpointID v XML. Tento element určuje, kterému příjemci je dokument směrován. Pokud EndpointID chybí nebo je nesprávně vyplněn, dokument není platný a obdrží stav InvoiceSentError.
Nesprávný XML se automaticky neopakuje. Oprava je na straně zdrojového systému (softwarového balíku generujícího fakturu), nikoli na straně PSB. Zkontrolujte předem přes queryRecipientParty, zda je příjemce dostupný na síti Peppol.
Chcete automatizovat celý registrační proces? Přečtěte si článek o Enrollment API, se kterou nakonfigurujete registraci, capability a hooky v jednom API volání.
Zobrazit SMP endpointy