Enregistrement Peppol via l'API

Enregistrer des organisations sur Peppol via l'Enrollment API : services, droits et hooks en un seul appel.

L'Enrollment API est un guichet unique pour enregistrer une nouvelle party sur le réseau Peppol. En un seul appel API, vous configurez le service Peppol, vous associez des utilisateurs avec les droits appropriés et vous configurez optionnellement des hooks. Cet article décrit l'endpoint, les trois composantes de l'enrollment et la suppression d'un enregistrement.

Prérequis

L'Enrollment API requiert le rôle ApManager. Un ApUser ne peut pas effectuer d'enrollment. Vérifiez que vos credentials API disposent du bon rôle avant de commencer.

RôleDroitsApUserEnvoyer/recevoir des factures et commandes, gérer les hooks pour sa propre partyApManagerTous les droits d'ApUser, plus : enregistrements de party, gestion SMP, enrollment
L'endpoint Enrollment
PUT /api/v1-beta/{partyId}/enroll

Le {partyId} est l'identifiant Peppol de la party à enregistrer, au format schemeID:identifier (par ex. 0106:12345678).

Le corps de la requête contient trois sections : Services, Party authorizations et Hooks.

1. Services

Dans la section Services, vous activez le service Peppol pour la party. Vous configurez les capabilities SMP (quels types de documents la party peut recevoir) et optionnellement une businessCard pour la publication dans le Peppol Directory.

{
  "services": {
    "peppol": {
      "capabilities": {
        "invoices": "on",
        "invoiceResponse": "on",
        "orderOnly": "inherited"
      },
      "businessCard": {
        "names": "Bedrijfsnaam B.V.",
        "geoInfo": "Utrecht, NL",
        "email": "info@bedrijf.nl"
      }
    }
  }
}

La businessCard est optionnelle, mais recommandée. Sans businessCard, la party n'est pas consultable dans le Peppol Directory, même si l'enregistrement SMP est actif.

2. Party authorizations

Ici, vous associez un ou plusieurs utilisateurs à la party et définissez leurs droits. Chaque party enregistrée doit être associée à au moins un ApUser.

{
  "partyAuthorizations": [
    {
      "userId": "gebruiker@bedrijf.nl",
      "permissions": {
        "canSendDocument": true,
        "canReceiveDocument": true,
        "canRemoveDocument": true,
        "canManageHook": true
      }
    }
  ]
}
PermissionDescriptioncanSendDocumentEnvoyer des documents au nom de cette partycanReceiveDocumentRecevoir des documents pour cette partycanRemoveDocumentSupprimer des documents reçuscanManageHookCréer et gérer des hooks pour cette party
3. Hooks

Vous pouvez optionnellement enregistrer des hooks directement pour la nouvelle party. C'est pratique si vous savez déjà lors de l'enregistrement quelles notifications sont nécessaires, par exemple un webhook pour les factures reçues.

{
  "hooks": [
    {
      "action": "https://api.bedrijf.nl/webhooks/invoices",
      "topics": ["InvoiceReceived"]
    },
    {
      "action": "mailto:facturatie@bedrijf.nl",
      "topics": ["InvoiceReceived"]
    }
  ]
}
Exemple complet

Une requête d'enrollment complète combinant les trois composantes :

{
  "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"]
    }
  ]
}
Supprimer un enregistrement

Pour désenregistrer complètement une party (y compris tous les services, permissions et hooks), utilisez :

DELETE /api/v1-beta/{partyId}/enroll

Après la suppression, la party n'est plus joignable sur le réseau Peppol et tous les hooks et autorisations associés sont nettoyés.

Points d'attention

L'Enrollment API est un endpoint bêta (v1-beta). La fonctionnalité est stable, mais l'endpoint peut évoluer dans les versions futures. Pour toute question sur le statut bêta, vous pouvez contacter TechSupport.

Tenez également compte du fait que l'enregistrement SMP après l'enrollment peut prendre quelques minutes avant d'être synchronisé sur l'ensemble du réseau Peppol. Cela est inhérent au protocole SML/SMP.


Vous souhaitez reprendre des enregistrements existants d'un autre fournisseur ? Consultez l'article sur la migration vers eConnect.

Essayer dans l'API

Articles associés