Registrace Peppol přes API

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.

Požadavky

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.

RoleOprávněníApUserOdesílání a přijímání faktur a objednávek, správa hooků pro vlastní stranuApManagerVše z ApUser, plus: registrace stran, správa SMP, enrollment
Enrollment endpoint
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.

1. Services

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": "Bedrijfsnaam B.V.",
        "geoInfo": "Utrecht, NL",
        "email": "info@bedrijf.nl"
      }
    }
  }
}

BusinessCard je volitelná, ale doporučená. Bez businessCard není strana vyhledatelná v Peppol Directory, i když je SMP registrace aktivní.

2. Party authorizations

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
      }
    }
  ]
}
OprávněníPopiscanSendDocumentOdesílání dokumentů jménem této stranycanReceiveDocumentPřijímání dokumentů pro tuto stranucanRemoveDocumentOdstraňování přijatých dokumentůcanManageHookVytváření a správa hooků pro tuto stranu
3. Hooks

Volitelně 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í příklad

Kompletní enrollment požadavek kombinující všechny tři části:

{
  "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"]
    }
  ]
}
Zrušení registrace

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í.

Důležitá upozornění

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.

Mějte také na paměti, že SMP registrace po enrollment může trvat několik minut, než se synchronizuje v celé síti Peppol. Je to vlastnost SML/SMP protokolu.


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

Související