Peppol lookup : vérifier un destinataire via l'API

Vérifiez au préalable si un destinataire est joignable via Peppol grâce au endpoint queryRecipientParty.

Avant d'envoyer une facture ou une commande, vous voulez savoir si le destinataire est joignable. Avec le endpoint queryRecipientParty, vous vérifiez en un seul appel si une organisation est enregistrée sur Peppol, quels types de documents sont acceptés et via quel canal la PSB livrera le document. Cela évite les erreurs de livraison et vous permet de donner un retour direct à vos utilisateurs.

Comment ça marche

La PSB effectue automatiquement un lookup SML/SMP à chaque livraison pour trouver le bon Access Point du destinataire. Avec queryRecipientParty, vous pouvez effectuer ce même lookup en amont, sans envoyer réellement un document.

L'API vérifie :

  • Si le destinataire est enregistré dans le réseau Peppol (enregistrement SMP)
  • Quels types de documents le destinataire peut accepter (capabilities)
  • Via quel Access Point la livraison est routée
  • Quel canal la PSB utilisera (Peppol, DICO, e-mail en repli, etc.)
Endpoint
GET /api/v1/queryRecipientParty?identifier={schemeID}:{id}

Remplacez {schemeID} par le schéma d'identification et {id} par le numéro du destinataire. Utilisez l'un des identifiants Peppol courants :

SchemeIDTypeExemple0106Numéro Chambre de Commerce NL0106:123456780190OIN NL (secteur public, 20 chiffres)0190:000000012345678900009944Numéro de TVA NL9944:NL123456789B010208Numéro d'entreprise BE0208:01234567890088GLN (international)0088:1234567890123
Exemple de requête
GET /api/v1/queryRecipientParty?identifier=0106:12345678
Réponse en cas de succès

Si le destinataire est joignable, l'API renvoie l'identifiant recommandé et le canal que la PSB utilisera :

{
  "id": "NL:KVK:12345678",
  "channel": "peppol",
  "description": "default send via peppol delivery"
}
ChampDescriptionidL'identifiant Peppol à utiliser comme endpointId dans votre facture ou commandechannelLe canal de livraison que la PSB utilisera (ex. peppol, dico)descriptionDescription du canal sélectionné

Utilisez la valeur de id comme EndpointID dans votre document UBL.

Réponse pour un destinataire inconnu

Si le destinataire n'est pas trouvé sur Peppol, l'API renvoie un 404 avec un message d'erreur :

{
  "helpLink": "https://psb.econnect.eu/endpoints/v1/SalesInvoice.html#query-recipient-party",
  "message": "PartyId 'NL:KVK:12345678' not found in Peppol.",
  "code": "API404",
  "requestId": "41cd5529904be94d941137068c1c3fa1",
  "dateTime": "2026-03-14T10:22:19.4878393+00:00"
}

Conseil : une organisation possède plusieurs identifiants (KvK, TVA, OIN) ? Essayez un autre schemeID. Tous les destinataires ne sont pas enregistrés sous chaque identifiant. Par exemple : une organisation est enregistrée comme 0106:12345678 (KvK) mais pas comme 0088:5412345678908 (GLN). En cas de 404, essayez toujours le numéro de Chambre de Commerce (0106) ou le numéro de TVA (9944) comme alternative, ou utilisez la variante POST pour vérifier plusieurs identifiants à la fois.

Variante POST avec plusieurs identifiants

Si vous souhaitez vérifier plusieurs identifiants en même temps, utilisez la variante POST. La PSB évalue tous les identifiants et renvoie la meilleure option :

POST /api/v1/{partyId}/salesInvoice/queryRecipientParty

Le {partyId} dans l'URL est votre propre (expéditeur) partyId. Dans le corps de la requête, fournissez un tableau d'identifiants possibles du destinataire :

["0106:12345678", "9944:NL123456789B01", "0190:00000001234567890000"]

C'est utile lorsque vous ne savez pas sous quel identifiant le destinataire est enregistré. L'API sélectionne automatiquement la meilleure correspondance.

Paramètres optionnels
ParamètreDescription?preferredDocumentTypeIdDonne la priorité à un format de document spécifique lors du lookup?includeOptionsRenvoie tous les canaux disponibles, pas seulement le canal recommandé
Réponse avec includeOptions

Avec ?includeOptions=true, la réponse contient un tableau options avec tous les canaux de livraison disponibles :

{
  "id": "NL:KVK:12345678",
  "channel": "peppol",
  "description": "default send via peppol delivery",
  "options": [
    {
      "channel": "peppol",
      "description": "default send via peppol delivery",
      "identifiers": [
        {
          "partyId": {
            "text": "NL:KVK:12345678",
            "value": "12345678",
            "schemeAuthority": "iso6523-actorid-upis",
            "schemeIdText": "NL:KVK",
            "schemeIdNumber": "0106"
          },
          "isValid": true
        }
      ]
    }
  ]
}
Quand l'utiliser ?

Utilisez queryRecipientParty comme pré-vérification dans les situations suivantes :

  • Avant l'envoi : vérifiez si le destinataire est joignable avant d'appeler le endpoint d'envoi, afin de pouvoir donner un retour direct à vos utilisateurs finaux
  • Onboarding de partenaires : vérifiez lors de la création d'un nouveau client ou fournisseur s'il est déjà enregistré sur Peppol
  • Routage multi-canal : voyez quel canal de livraison la PSB sélectionnera (Peppol, DICO, e-mail) et forcez éventuellement un canal alternatif via le paramètre ?channel lors de l'envoi
  • Self-billing : vérifiez si un fournisseur dispose de la capacité self-billing avant d'envoyer une facture d'auto-facturation

Remarque : le lookup vérifie l'enregistrement au moment de l'appel. Entre le lookup et la livraison effective, un enregistrement peut changer. En pratique, c'est rare, mais gardez-le à l'esprit pour les grands lots avec un délai entre la vérification et la livraison.

Conseil : vous souhaitez vérifier manuellement un enregistrement SMP, en dehors de l'API ? OpenPeppol propose le Peppol Lookup Service, qui permet d'interroger directement les données SMP et Business Card d'un participant Peppol. Pratique pour vérifier si un enregistrement est correctement configuré.

Erreurs courantes
ErreurCauseSolutionAPI404 "PartyId not found in Peppol"Le destinataire n'est pas enregistré pour ce type d'identifiantEssayez un autre schemeID (KvK, TVA, OIN)API404 "No valid delivery options"Aucune route disponible vers le destinataireVérifiez si le destinataire est connecté à un fournisseur de services Peppol actif

Vous souhaitez également voir quel Access Point et quels formats de documents un destinataire prend en charge exactement ? Le endpoint des options de livraison Peppol fournit un aperçu plus détaillé de l'enregistrement SMP.

Essayer le lookup dans l'API

Articles connexes
Articles associés