Registrácia organizácií na Peppol cez Enrollment API: služby, oprávnenia a hooky v jednom volaní.
Enrollment API je jednotné riešenie na registráciu novej strany v sieti Peppol. V jedinom API volaní nakonfigurujete službu Peppol, pridelíte používateľom správne oprávnenia a voliteľne nastavíte hooky. Tento článok popisuje endpoint, tri časti enrollment a zrušenie registrácie.
Enrollment API vyžaduje rolu ApManager. ApUser nemôže enrollment vykonať. Pred začiatkom overte, či Vaše API credentials majú správnu rolu.
PUT /api/v1-beta/{partyId}/enroll
{partyId} je identifikátor Peppol registrovanej strany vo formáte schemeID:identifier (napr. 0106:12345678).
Telo požiadavky obsahuje tri sekcie: Services, Party authorizations a Hooks.
V sekcii Services aktivujete službu Peppol pre stranu. Nakonfigurujete SMP capabilities (aké typy dokumentov môže strana prijímať) a voliteľne businessCard na publikáciu 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 voliteľná, ale odporúčaná. Bez businessCard nie je strana vyhľadateľná v Peppol Directory, aj keď je SMP registrácia aktívna. Ak businessCard publikujete, sú names a address s kódom krajiny povinné. PSB tieto polia neodvodzuje z obchodného registra.
Tu pridelíte jedného alebo viacerých používateľov strane a definujete ich oprávnenia. Každá zaregistrovaná strana musí byť prepojená minimálne s jedným ApUser.
{
"partyAuthorizations": [
{
"userId": "gebruiker@bedrijf.nl",
"permissions": {
"canSendDocument": true,
"canReceiveDocument": true,
"canRemoveDocument": true,
"canManageHook": true
}
}
]
}
canSendDocumentcanReceiveDocumentcanRemoveDocumentcanManageHookVoliteľne môžete priamo registrovať hooky pre novú stranu. Je to praktické, ak pri registrácii už viete, aké notifikácie budú potrebné, napríklad webhook pre prijímané faktúry.
{
"hooks": [
{
"action": "https://api.bedrijf.nl/webhooks/invoices",
"topics": ["InvoiceReceived"]
},
{
"action": "mailto:facturatie@bedrijf.nl",
"topics": ["InvoiceReceived"]
}
]
}
Kompletná enrollment požiadavka kombinujúca všetky tri časti:
{
"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"]
}
]
}
Na úplnú deregistráciu strany (vrátane všetkých služieb, oprávnení a hookov) použite:
DELETE /api/v1-beta/{partyId}/enroll
Po zrušení nie je strana v sieti Peppol viac dosiahnuteľná a všetky prepojené hooky a autorizácie sa odstránia.
Enrollment API je beta endpoint (v1-beta). Funkcionalita je stabilná, ale endpoint sa môže v budúcich verziách zmeniť. Pri otázkach k beta statusu kontaktujte TechSupport.
Po úspešnom PUT /api/v1-beta/{partyId}/enroll je registrácia hneď spracovaná v Peppol SML. Odosielateľ môže mať lookup cache, ktorú treba najprv obnoviť. Peppol Directory nie je hneď aktuálny, kvôli vlastnému indexeru. V niektorých prípadoch to trvá niekoľko minút.
Chcete prevziať existujúce registrácie od iného poskytovateľa? Prečítajte si článok o migrácii na eConnect.
Vyskúšajte to v API