Recevoir une commande via l'API

Recevoir des commandes entrantes via webhooks, les télécharger via l'API SalesOrder et les traiter.

Lorsqu'un client envoie une commande d'achat à votre organisation via Peppol, vous la recevez en tant que commande de vente dans le PSB. Vous êtes immédiatement informé via un webhook, après quoi vous pouvez télécharger et traiter la commande.

Étape 1 : configurer le webhook

Enregistrez un webhook pour le topic OrderReceived afin que le PSB vous notifie dès qu'une commande arrive :

{
  "action": "https://jouw-endpoint.nl/orders",
  "topics": ["OrderReceived"],
  "secret": "jouw-geheime-sleutel"
}

Le payload du webhook contient entre autres le documentId et le senderPartyId, vous permettant de savoir quelle commande provient de quel expéditeur.

Étape 2 : télécharger la commande

Utilisez le documentId du payload webhook pour récupérer la commande :

GET /api/v1/{partyId}/salesOrder/{documentId}/download

La réponse contient le document XML UBL Order. Par défaut, vous recevez le document dans le format dans lequel il a été envoyé. Vous le souhaitez dans un autre format ? Utilisez le paramètre de requête targetDocumentTypeId pour faire transformer automatiquement le document dans le format souhaité.

Attention : les documents reçus sont conservés 90 jours dans le PSB. Après téléchargement, le document reste disponible pendant 7 jours. Téléchargez donc les commandes en temps voulu et stockez-les dans votre propre système.

Étape 3 : traiter la commande

Après le téléchargement, vous traitez la commande dans votre propre système. Avec le profil Advanced Ordering, on attend de vous que vous renvoyiez une Order Response à l'acheteur. Les statuts possibles sont :

CodeSignificationABAcknowledged, commande reçue et lisibleAPAccepted, commande acceptéeCAConditionally Accepted, commande acceptée avec modificationsRERejected, commande rejetée

Envoyez la response via l'endpoint Order Response.

Topics webhook

Outre OrderReceived, d'autres topics sont pertinents lorsque vous recevez des commandes :

TopicQuandOrderReceivedNouvelle commande reçueOrderChangeReceivedL'acheteur a envoyé une modification de la commandeOrderCancellationReceivedL'acheteur souhaite annuler la commande
Supprimer un document

Vous souhaitez supprimer manuellement une commande reçue du PSB ? C'est possible via :

DELETE /api/v1/{partyId}/salesOrder/{documentId}
Questions fréquentes
Comment associer un webhook à la récupération d'une commande entrante ?

Enregistrez un webhook sur le topic OrderReceived. Le payload contient entre autres documentId et senderPartyId. Avec ce documentId, appelez GET /api/v1/{partyId}/salesOrder/{documentId}/download pour récupérer le XML UBL Order et le traiter dans votre propre système.

Pourquoi faut-il envoyer une Order Response avec Advanced Ordering ?

Avec le profil Advanced Ordering, l'acheteur s'attend à ce que vous, en tant que fournisseur, répondiez avec une Order Response. Vous utilisez les codes AB (reçue et lisible), AP (acceptée), CA (acceptée sous conditions) ou RE (rejetée). Sans cette réponse, le processus n'est pas terminé selon le profil.

Combien de temps les commandes reçues restent-elles disponibles dans le PSB ?

Les documents reçus sont conservés dans le PSB pendant 90 jours. Après téléchargement, le document reste disponible pendant 7 jours supplémentaires. Stockez donc les commandes dans votre propre environnement rapidement et planifiez votre intégration en conséquence.


Consultez la spécification API complète sur psb.econnect.eu pour tous les paramètres et structures de réponse.

Ouvrir la référence API