Registrace organizací na Peppol přes Enrollment API: služby, oprávnění a hooky v jednom volání.
Enrollment API je jednotné řešení pro registraci nové strany v síti Peppol. V jediném API volání nakonfigurujete službu Peppol, přidělíte uživatelům správná oprávnění a volitelně nastavíte hooky. Tento článek popisuje endpoint, tři části enrollment a zrušení registrace.
Enrollment API vyžaduje roli ApManager. ApUser nemůže enrollment provést. Před začátkem ověřte, zda Vaše API credentials mají správnou roli.
PUT /api/v1-beta/{partyId}/enroll
{partyId} je identifikátor Peppol registrované strany ve formátu schemeID:identifier (např. 0106:12345678).
Tělo požadavku obsahuje tři sekce: Services, Party authorizations a Hooks.
V sekci Services aktivujete službu Peppol pro stranu. Nakonfigurujete SMP capabilities (jaké typy dokumentů může strana přijímat) a volitelně businessCard pro publikaci v Peppol Directory.
{
"services": {
"peppol": {
"capabilities": {
"invoices": "on",
"invoiceResponse": "on",
"orderOnly": "inherited"
},
"businessCard": {
"names": { "value": "Bedrijfsnaam B.V.", "state": "on" },
"address": { "value": "Voorbeeldstraat 1, 1234 AB, Utrecht, NL", "state": "on" },
"emailAddress": { "value": "info@bedrijf.nl", "state": "on" },
"state": "on"
}
}
}
}
BusinessCard je volitelná, ale doporučená. Bez businessCard není strana vyhledatelná v Peppol Directory, i když je SMP registrace aktivní. Pokud businessCard publikujete, jsou names a address s kódem země povinné. PSB tato pole neodvozuje z obchodního rejstříku.
Zde přidělíte jednoho nebo více uživatelů straně a definujete jejich oprávnění. Každá zaregistrovaná strana musí být propojena minimálně s jedním ApUser.
{
"partyAuthorizations": [
{
"userId": "gebruiker@bedrijf.nl",
"permissions": {
"canSendDocument": true,
"canReceiveDocument": true,
"canRemoveDocument": true,
"canManageHook": true
}
}
]
}
canSendDocumentcanReceiveDocumentcanRemoveDocumentcanManageHookVolitelně můžete přímo registrovat hooky pro novou stranu. Je to praktické, pokud při registraci již víte, jaké notifikace budou potřeba, například webhook pro přijímané faktury.
{
"hooks": [
{
"action": "https://api.bedrijf.nl/webhooks/invoices",
"topics": ["InvoiceReceived"]
},
{
"action": "mailto:facturatie@bedrijf.nl",
"topics": ["InvoiceReceived"]
}
]
}
Kompletní enrollment požadavek kombinující všechny tři části:
{
"services": {
"peppol": {
"capabilities": {
"invoices": "on",
"invoiceResponse": "on"
},
"businessCard": {
"names": { "value": "Voorbeeld B.V.", "state": "on" },
"address": { "value": "Keizersgracht 1, 1015 AA, Amsterdam, NL", "state": "on" },
"state": "on"
}
}
},
"partyAuthorizations": [
{
"userId": "api-user@voorbeeld.nl",
"permissions": {
"canSendDocument": true,
"canReceiveDocument": true,
"canRemoveDocument": false,
"canManageHook": true
}
}
],
"hooks": [
{
"action": "https://api.voorbeeld.nl/leren/peppol/incoming",
"topics": ["InvoiceReceived"]
}
]
}
Pro úplnou deregistraci strany (včetně všech služeb, oprávnění a hooků) použijte:
DELETE /api/v1-beta/{partyId}/enroll
Po zrušení není strana v síti Peppol více dosažitelná a všechny propojené hooky a autorizace se odstraní.
Enrollment API je beta endpoint (v1-beta). Funkcionalita je stabilní, ale endpoint se může v budoucích verzích změnit. Při otázkách k beta statusu kontaktujte TechSupport.
Po úspěšném PUT /api/v1-beta/{partyId}/enroll je registrace ihned zpracována v Peppol SML. Odesílatel může mít lookup cache, kterou je třeba nejdřív obnovit. Peppol Directory není hned aktuální, kvůli vlastnímu indexeru. V některých případech to trvá několik minut.
Chcete převzít existující registrace od jiného poskytovatele? Přečtěte si článek o migraci na eConnect.
Vyzkoušejte to v API