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": "Bedrijfsnaam B.V.",
"geoInfo": "Utrecht, NL",
"email": "info@bedrijf.nl"
}
}
}
}
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.
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": "Voorbeeld B.V.",
"geoInfo": "Amsterdam, NL"
}
}
},
"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.
Majte tiež na pamäti, že SMP registrácia po enrollment môže trvať niekoľko minút, kým sa synchronizuje v celej sieti Peppol. Je to vlastnosť SML/SMP protokolu.
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