SMP a vyhledávání účastníka: jak Peppol směruje dokumenty

Jak Peppol přes SML, DNS NAPTR a SMP najde správného příjemce: krok za krokem, včetně běžných chybových zpráv.

Service Metadata Publisher (SMP) je adresář sítě Peppol. Když Access Point (AP) odesílá dokument, použije Participant Identifier příjemce, aby -- prostřednictvím Service Metadata Locator (SML) a Domain Name System (DNS) -- zjistil, v jakém SMP je příjemce zaregistrován, jakou URL koncového bodu volat a které typy dokumentů jsou podporovány. Tento článek popisuje řetěz objevování krok za krokem.

Proč SMP?

Peppol je otevřená síť: neexistuje centrální poštovní schránka, která by přijímala a distribuovala všechny dokumenty. Místo toho každý certifikovaný poskytovatel služeb spravuje vlastní SMP s metadaty svých zákazníků -- které dokumenty mohou přijímat, přes jaký AP a jakými certifikáty podepisují. Odesílající AP musí před každým odesláním zjistit, kam dokument doručit, a k tomu využívá SMP příjemce.

Specifikace SMP je standardem Organization for the Advancement of Structured Information Standards (OASIS). eConnect je uveden na seznamu řešení kompatibilních s eDelivery SMP Evropské komise s vlastní implementací.

Participant Identifier: adresa

Každá organizace v Peppolu má alespoň jeden Participant Identifier, složený ze scheme a value:

iso6523-actorid-upis::<scheme>:<value>

Scheme je kód ze seznamu kódů Electronic Address Scheme (EAS) -- registru OpenPeppol národních a mezinárodních identifikačních systémů. Nejčastěji používané kódy EAS:

EASZeměTyp identifikátoruPříklad0106NizozemskoČíslo obchodní komory (KvK)iso6523-actorid-upis::0106:544415870190NizozemskoIdentifikační číslo organizace (OIN, 20 číslic)iso6523-actorid-upis::0190:000000018200293360009944NizozemskoDIČiso6523-actorid-upis::9944:NL851306469B010208BelgieČíslo podniku (KBO)iso6523-actorid-upis::0208:08999653070204NěmeckoLeitweg-ID (veřejná správa)iso6523-actorid-upis::0204:991-01234-560192NorskoČíslo organizaceiso6523-actorid-upis::0192:7457073270235Spojené arabské emiryDaňové registrační číslo (TRN)iso6523-actorid-upis::0235:1001234567000030088MezinárodníGlobal Location Number (GLN, GS1)iso6523-actorid-upis::0088:1548079098355

Úplný přehled je k dispozici na docs.peppol.eu/edelivery/codelists/ a v Peppol ID a identifikátory.

Úplný řetěz objevování

Odesílající AP odpovídá na tři otázky pro každý dokument:

  1. Kde se nachází SMP příjemce? Vyhledávání přes SML / DNS NAPTR.
  2. Který koncový bod a certifikát odpovídají požadovanému typu dokumentu? Vyhledávání v SMP.
  3. Jaký profil Peppol příjemce podporuje? Odpověď je v odpovědi SMP (BIS Billing V3, NLCIUS, PINT EU atd.).
Krok 1: Hash Participant Identifier

Participant Identifier je zahashován MD5 a zakódován v malých písmenech hexadecimálně. Hashovaná hodnota se stane nejlevějším štítkem domény SML, za níž následuje schéma Peppol a zóna SML. Pro produkci:

B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu

Testovací prostředí Peppol používá samostatnou zónu SML. Od března 2026 jsou pro produkci i test publikovány výhradně záznamy NAPTR -- staré záznamy CNAME byly odstraněny.

Krok 2: DNS NAPTR vyhledávání

Odesílající AP provede DNS dotaz na výše uvedenou doménu, pro typ záznamu NAPTR (Naming Authority Pointer). NAPTR je povinný od 1. února 2026. Odpověď NAPTR obsahuje servisní značku (Meta:SMP) a pole regexp odkazující na URL SMP příjemce:

B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu
   IN NAPTR 100 10 "U" "Meta:SMP" "!^.*$!https://smp.example.com/!" .

Výsledek: AP ví, na jaké URL SMP je příjemce zaregistrován.

Krok 3: Dotaz na SMP

S URL SMP sestaví AP konkrétní URL metadat pro tohoto účastníka:

GET https://smp.example.com/iso6523-actorid-upis%3A%3A0106%3A54441587

SMP vrátí ServiceGroup v XML se všemi podporovanými typy dokumentů. Pro každý typ dokumentu může AP požádat o ServiceMetadata prostřednictvím druhého požadavku:

GET https://smp.example.com/iso6523-actorid-upis%3A%3A0106%3A54441587/services/<DocumentTypeId>

Odpověď obsahuje URL koncového bodu, transportní profil, proces a certifikát PKI přijímajícího AP. S těmito informacemi C2 zakóduje a podepíše dokument, otevře připojení AS4 s C3 na nalezeném EndpointURI a doručí jej.

Příklad: od Participant Identifier k trase AP

Následující end-to-end ilustrace ukazuje, jak nizozemský Participant Identifier (číslo KvK) vede ke konkrétnímu URL koncového bodu:

1. Odesílatel chce poslat fakturu:
   iso6523-actorid-upis::0106:54441587  (eConnect, EAS 0106 -- KvK)

2. AP odesílatele provede DNS NAPTR lookup:
   B-<md5>.iso6523-actorid-upis.edelivery.tech.ec.europa.eu
   --> URL SMP: https://smp.econnect.eu/

3. AP odesílatele dotazuje SMP:
   GET https://smp.econnect.eu/iso6523-actorid-upis%3A%3A0106%3A54441587
   --> ServiceGroup mimo jiné s DocumentTypeId pro fakturu NLCIUS

4. AP odesílatele dotazuje ServiceMetadata pro NLCIUS:
   GET https://smp.econnect.eu/iso6523-actorid-upis%3A%3A0106%3A54441587/services/<NLCIUS-DocumentTypeId>
   --> EndpointURI: https://ap.econnect.eu/as4
   --> Certificate: <X.509 / certifikát PKI>
   --> TransportProfile: peppol-transport-as4-v2_0

5. AP odesílatele vytvoří SBDH s metadaty routování,
   podepíše a odešle přes AS4 + TLS na EndpointURI.
Co obsahuje registrace SMP?

Při registraci v SMP jsou na organizaci nakonfigurovány capabilities pro každou rodinu dokumentů:

CapabilityTypy dokumentůinvoicesSI-UBL 2.0 (NLCIUS), Peppol BIS Billing V3 (UBL a CII), PINT EUselfbillingBIS Self-Billing V3invoiceResponseBIS Invoice Response 3.0orderOnlyOrder Only 3.3orderAdvancedOrder, Order Change, Order Cancellation 3.3orderResponseOrder Response 3.3pintProfilesDle regionu: PINT-SG, PINT-A-NZ, PINT-MY, PINT-JP, PINT-AE, PINT-OM, PINT-SKmls / mlrMessage Level Status / Message Level Response

Každá capability má hodnotu on, off nebo inherited. Úplná sada capabilities určuje, které typy dokumentů může odesílající AP v SMP najít -- a tedy pro co je příjemce fakticky dosažitelný.

Ukládání do cache a dostupnost

Lookup SMP se provádí při každém odesílání. Pro škálovatelnost a robustnost používá eConnect SMP vlastní cachovací vrstvu: lookup zůstává dostupný -- i když externí SMP dčasně nereaguje -- opětovným použitím cacheovaných metadat v rámci doby platnosti. eConnect garantuje 99,99% dostupnost SMP.

SML versus SMP

Dva podobně znějící pojmy, které jsou v praxi často zaměňovány:

  • SML (Service Metadata Locator) je centrální zóna DNS (edelivery.tech.ec.europa.eu pro produkci), ve které jsou zveřejněny všechny Participant Identifiers a která odkazuje na správný SMP. Existuje jeden produkční SML a jeden testovací; OpenPeppol přebírá správu od Evropské komise (přechod do konce srpna 2026).
  • SMP (Service Metadata Publisher) je adresář jednotlivého poskytovatele služeb. Každý SP provozuje vlastní SMP pro své vlastní zákazníky.

Analogie s DNS: SML je centrální telefonní seznam, který odkazuje na správný regionální adresář; SMP je ten adresář se skutečnými daty.

Migrace mezi poskytovateli služeb

Participant Identifier může být registrován pouze u jednoho SMP najednou -- jinak by C2 nevěděl, kam dokument odeslat. Při změně poskytovatele platí migrační postup s migračním klíčem: aktuální SMP vygeneruje klíč a nový SMP jej použije k bezproblemému převzetí registrace. Během přechodu zůstává organizace dostupná; identifikátor se nemění, takže obchodní partneré nic nezaznamenají.

Peppol Directory a Lookup Service

Vedle strojově čitelného SMP existují dva veřejné portály pro ruční vyhledávání:

  • Peppol Directory -- directory.peppol.eu: veřejný registr účastníků Peppol s vyhledáváním podle názvu organizace, země a Participant ID. Asynchronní a nespolehlivý pro ověřování dostupnosti: Directory nacítá svá data ze SMP periodicky a služba Directory je někdy dočasně nedostupná. V důsledku toho se registrace nebo odregistrace může v Directory zobrazit se zpožbením -- nebo vůbec. Organizace tedy může figurovat v Directory, zatímco vyhledávání SMP vrací No valid delivery options / PartyId not found, nebo naopak. Nepoužívejte Directory jako důkaz, že někdo může nebo nemůže přijímat.
  • Peppol Lookup Service -- lookup.peppol.org, od března 2026: dotazuje SMP přímo a zobrazuje aktuální stav publikace. Užitečné při odstraňování problémů, kdy se Directory a skutečná registrace liší.
Jak zjistit, zda je někdo na Peppol dostupný

Pro spolehlivé zodpovězení otázky může tento příjemce přijímat, nebo ne je nutné provést skutečné vyhledávání SMP -- nespoléhat na zobrazení v Directory. Dva veřejné nástroje provádějí skutečné vyhledávání Peppol (stejné jako PSB eConnect):

Pokud vyhledávání v některém z těchto nástrojů uspěje, příjemce je dostupný; pokud selhá (PartyId not found / žádné možnosti doručení), příjemce pro daný typ dokumentu není připojen -- bez ohledu na to, co zobrazuje Peppol Directory. Programově dává queryRecipientParty PSB stejný, směrodatný výsledek.

Pole „additional information" v adresáři Peppol Directory

V adresáři Peppol Directory zobrazuje pole „additional information" název registrujícího poskytovatele služeb -- u registrací prostřednictvím PSB eConnect se zde zobrazuje „eConnect". Jde o metadata registrara SMP registrujícího SP a nejsou součástí businessCard konfigurovatelné per účastník. Pole konfigurovatelná per účastník jsou spravována přes businessCard.names; pole „additional information" leží mimo tento rozsah, a proto není konfigurovatelné per účastník -- ani pro white-label partnery registrující se přes endpoint PSB eConnect.

Pro zákazníky, kteří chtějí programově ověřit, zda je příjemce dosažitelný, nabízí Peppol Service Bus (PSB) eConnect endpoint queryRecipientParty, který SMP dotazuje přímo a uvádí, přes jaký kanál a formát je příjemce dosažitelný.

Časté chybové zprávy
PříznakPříčinaŘešeníSMP not found / NAPTR překlad selžeParticipant Identifier není (nebo není správně) zaregistrován; chybný kód EASOvěřit registraci přes Peppol Directory nebo queryRecipientPartyService not foundDocumentTypeId příjemcem nepodporovánPotvrdit s příjemcem, které profily jeho SMP publikujeNo valid delivery optionsPříjemce je v registru Peppol, ale nemá aktivovanou capability invoices -- viz oddíl nížeAlternativní způsob doručení nebo jiné Peppol ID -- viz oddíl nížeCertificate expired / invalidCertifikát přijímajícího AP vypršelPřijímající AP musí obnovit certifikátEndpoint not reachableProvozní výpadek u přijímajícího APKontaktovat příjemce; mezipaměť vyhledávání může dočasně pomociqueryRecipientParty timeoutSMP příjemce neodpovídáPřijímající AP nebo jeho správce musí prošetřit SMP
„No valid delivery options": příjemce zaregistrován pouze pro Invoice Response

Příjemce může být v Peppolu dohledatelný -- vyhledávání NAPTR i dotaz SMP uspějí -- a přesto nemůže přijímat faktury. SMP totiž zveřejňuje pro každý typ dokumentu zvláštní capability. Přijímání faktur spadá pod invoices; vracení obchodního stavu (BIS Invoice Response 3.0) spadá pod oddělenou capability invoiceResponse. Jedná se o nezávislé registrace.

Je-li příjemce na svém ID Peppol zaregistrován výhradně pro Invoice Response transaction 3.0 (invoiceResponse nastaveno na on, invoices na off), odesílající AP v SMP nenajde žádný endpoint invoices. Neexistuje pak žádná platná cesta doručení faktury a platforma eConnect hlásí při odesílání No valid delivery options. Příjemce může přes tento identifikátor odeslat Invoice Response, ale sám na něj fakturu přijmout nemůže.

Důležité: nejde o chybu na straně eConnect ani odesílatele -- jde o přesné zobrazení toho, co příjemce zveřejnil ve vlastním SMP.

Dvě řešení:

  1. Alternativní způsob doručení: požádejte zákazníka, aby kontaktoval příjemce a zeptal se, jakým kanálem (e-mail nebo dodavatelský portál) lze fakturu doručit.
  2. Jiné Peppol ID: ověřte, zda má příjemce druhé Peppol ID, na němž je typ dokumentu faktury (invoices) zaregistrován. Organizace může registrovat více identifikátorů s vlastními capabilities typů dokumentů na identifikátor.

Při pochybnostech zkontrolujte, které typy dokumentů příjemce publikuje prostřednictvím Peppol Lookup Service nebo programově přes queryRecipientParty.

Nejčastější dotazy
Jaký je rozdíl mezi Peppol Directory a Peppol Lookup Service?

Peppol Directory (directory.peppol.eu) je asynchronní registr, který pravidelně nacítá data z SMP. Může zaostávat za skutečným stavem registrace a je proto nespolehlivý pro ověřování dostupnosti. Peppol Lookup Service (lookup.peppol.org) dotazuje SMP přímo a zobrazuje aktuální stav. Pro odstraňování problémů je Lookup Service směrodatný. Alternativy, které také přímo dotazují SMP: test.peppolautoriteit.nl/discover a peppol.helger.com.

Proč dostávám 'No valid delivery options', když je příjemce na Peppolu?

Příjemce může být uveden v registru Peppol, ale registrován výhradně pro Invoice Response (capability invoiceResponse), nikoli pro přijímání faktur (capability invoices). Neexistuje pak žádná platná cesta doručení faktury. Zkontrolujte přes queryRecipientParty nebo Peppol Lookup Service, které capabilities jsou aktivní, a kontaktujte příjemce ohledně alternativního způsobu doručení nebo jiného Peppol ID.

Jak dlouho trvá, než se změna v SMP projeví?

Změna ve skutečné registraci SMP je účinná od následujícího odeslání: odesílající AP SMP dotazuje pokadé znovu. Externí, neautoritativní zobrazení, jako je Peppol Directory (directory.peppol.eu) nebo peppolcheck.be, mohou ukázat změnu později kvůli vlastní strategii ukládání do mezipaměti a asynchronnímu nacítání. Vnímejte rozdíl: nástroje, které dotazují SMP přímo -- jako test.peppolautoriteit.nl/discover a peppol.helger.com -- vždy zobrazují aktuální stav. Pro směrodatný stav je rozhodující Peppol Lookup Service nebo přímý dotaz SMP přes queryRecipientParty.

Může mít příjemce více Peppol ID?

Ano. Organizace může registrovat více Participant Identifiers -- každý na jiném schématu EAS (např. KvK a DIČ). Na identifikátor lze nastavit vlastní capabilities typů dokumentů. Pokud je faktura na jednom ID odmítnuta s No valid delivery options, stojí za to prověřit, zda má příjemce jiné Peppol ID s aktivovanou capability invoices.


Více o Peppol ID a identifikátorech