Commande, Facture et Livraison : L'Histoire Complète
Aperçu
Un objectif important des API DCP est de fournir aux concessionnaires des fonctions commerciales dans leur DMS, les aidant à améliorer leurs opérations.
Processus de commande de pièces

Le processus commence lorsque le concessionnaire crée une commande de pièce dans son DMS.
Votre DMS doit appeler le API des concessionnaires pour récupérer les méthodes d'expédition disponibles pour le concessionnaire et les afficher à l'écran.
Le concessionnaire doit avoir accès au catalogue de pièces BRP, obtenu par le API des pièces, pour rechercher et sélectionner les pièces à commander.
Si ce n'est pas déjà fait, le concessionnaire se connecte à BOSSWeb avec ses identifiants via votre DMS, et vous enregistrez le access_token renvoyé par le API d'authentification du concessionnaire.
Le concessionnaire utilise le Valider fonction dans votre DMS pour soumettre la commande de pièces à valider.
- L'API de commande de pièces reçoit la charge utile et l'envoie à SAP.
- Votre DMS reçoit la réponse et affiche le résultat au concessionnaire.
- Si des messages d'erreur apparaissent, ils sont affichés au concessionnaire, qui doit corriger la commande de pièces et valider la commande modifiée.
- Le concessionnaire vérifie la commande de pièces et les coûts résultants, y compris les frais de livraison, pour s'assurer qu'ils sont conformes aux attentes.
🛑 Vous devez gérer le délai d'attente dans le Valider la fonction s'il y a plus de 30 articles dans la commande de pièces.
Voir le Vérifier le flux de données section de l' API de commande de pièces pour des informations sur la façon de gérer le délai d'attente.
Lorsque le concessionnaire est satisfait de la commande de pièces, il utilise le Créer fonction dans votre DMS.
- SAP valide la commande de pièces ; si elle est valide, elle crée et enregistre la commande.
- Le résultat est renvoyé à le API de commande de pièces: soit la commande de pièces créée est renvoyée, soit un message d'erreur est renvoyé.
- Si la commande de pièces est créée, vous l'enregistrez dans la base de données du DMS. S'il y a un message d'erreur, il est affiché au concessionnaire.
🛑 La commande de pièces retournées est non complète lorsque SAP la retourne pour la première fois. Par exemple, les informations de livraison ne sont pas disponibles lorsque la commande de pièces est créée.
🚴♂️ En moyenne, cela prend 2 secondes par ligne d'article pour que SAP traite une commande de pièces. Donc, une commande de pièces avec 60 lignes d'articles prend au moins 2 minutes à traiter.
Votre interface utilisateur DMS doit gérer ce long traitement en arrière-plan.
SAP fonctionne en arrière-plan pour compléter la commande de pièces. Les principales activités sont :
- Confirmez la disponibilité des pièces et dans quel entrepôt elles sont disponibles.
- Préparez la demande d'expédition à partir de l'entrepôt (ou des entrepôts) où les pièces sont disponibles.
- Notez que les pièces peuvent être expédiées depuis différents entrepôts ; dans ce cas, le concessionnaire reçoit plus d'un envoi.
- Si une pièce n'est pas disponible, SAP détermine une date de disponibilité et met à jour la commande de pièces avec l'information.
Votre DMS doit appeler le API de commande de pièces Obtenez le service pour mettre à jour les informations de commande de pièces. Un appel au Obtenez service doit être effectué tant que la commande de pièces est ouverte (non complétée).
L'appel à la API de commande de pièces Obtenir le service peut être effectué à intervalles réguliers ou lorsque la commande de pièces est affichée au concessionnaire. En mettant à jour la commande de pièces, le concessionnaire peut voir les informations de livraison et de facture pour chaque ligne.
En fonction du nombre d'articles dans la commande de pièces, SAP peut prendre 10 à 15 minutes pour la traiter complètement.
Lorsque SAP prépare la commande de pièces, les informations de livraison sont envoyées à l'entrepôt (ou aux entrepôts), et les articles sont livrés au concessionnaire.
Le concessionnaire reçoit le(s) document(s) de livraison et la(les) facture(s) liées à la commande de pièces. Continuez à lire pour obtenir l'histoire complète!
Les principales informations à retenir dans le processus commercial :
- Il faut du temps à SAP pour traiter la commande de pièces, et votre DMS doit appeler le API de commande de pièces Obtenez le service pour mettre à jour la commande de pièces dans la base de données de votre DMS.
- SAP traite les commandes de pièces en moyenne en 2 secondes par ligne d'article, donc une commande de pièces avec 60 lignes d'articles prend au moins 120 secondes, soit environ 2 minutes.
- Une fois que les systèmes backend ont traité la commande, le API de commande de pièces Obtenez le service qui renvoie la commande de pièces complétée, et la réponse contient les références du document de livraison et de la facture.
- Une fois la commande envoyée au concessionnaire, il reçoit le(s) document(s) de livraison et la(les) facture(s).
Processus de réception des pièces
Vous voyez que le processus commercial de commande de pièces à un niveau élevé est assez simple.
Lorsque le concessionnaire reçoit une livraison, il souhaite lier les pièces à la commande de pièces correspondante. C'est un moyen pour le concessionnaire de s'assurer que toutes les pièces commandées ont été reçues.
Le service après-vente peut avoir besoin des pièces pour soutenir les activités de maintenance et de réparation.
Parfois, les pièces peuvent avoir été commandées spécifiquement pour un client, et le concessionnaire souhaite informer le client que les pièces sont prêtes.
Lorsque la livraison de la commande de pièces et les factures sont séparées, les choses se compliquent pour les concessionnaires.
C'est quand le API des livraisons et API des factures viennent à la rescousse.
Relier les points
Voyons comment nous pouvons connecter les différents éléments de commande de pièces pour aider les concessionnaires.
Les Types de Documents
Il existe trois types de documents impliqués dans le processus de commande de pièces.
Type de document | Description |
|---|---|
Bon de commande / Bon de vente | Un bon de commande est créé avec un appel à la API de commande de pièces. Le numéro de commande de vente retourné dans le API de commande de pièces Créer la réponse de service a identifié la commande d'achat. 👉 Dans les charges utiles renvoyées par l'API triad, le bon de commande est identifié par le numéro de commande de vente. 👉 Le API de commande de pièces Obtenez le service retourne également les bons de commande créés dans BOSSWeb. |
Document de livraison | Le document de livraison est reçu par le concessionnaire avec chaque colis qui est livré. Le numéro du document de livraison se trouve sur le document de livraison et dans le bon de commande, dans le delivery_progress propriété de chaque article lorsque le status_code de l'article est shipped. Ce numéro de document de livraison peut être utilisé pour récupérer un document de livraison avec un appel à la API des livraisons. |
Facture | Le concessionnaire reçoit la facture, qui est liée à la fois à un bon de commande et à une livraison, puisque seuls les articles livrés sont facturés. Le numéro de facture se trouve sur la facture, et aussi dans le bon de commande, dans le delivery_progress.billing_documents propriété de chaque article lorsque le status_code de l'article est shipped. Ce numéro de facture peut être utilisé pour récupérer un document de facture avec un appel à la API des factures. |
Comment se connectent-ils ?
Une fois la commande de pièces expédiée, le(s) document(s) de livraison et la(les) facture(s) sont disponibles.
Parfois, une commande de pièces peut être envoyée au concessionnaire en plusieurs livraisons.
Cela signifie que le concessionnaire reçoit plus d'un document de livraison et d'une facture.
Comme montré dans l'image ci-dessous, les types de documents énumérés ci-dessus peuvent être liés aux autres types de documents en utilisant les propriétés de référence lorsque la commande de pièces est expédiée !

👉 L'information la plus importante est que le document de livraison et la facture peuvent être liés à la commande de pièces.
N'oubliez pas BOSSWeb
Les concessionnaires créent souvent la commande de pièces dans BOSSWeb. Pour que le processus de réception des pièces fonctionne avec API des livraisons et API des factures, toutes les commandes de pièces doivent être chargées dans votre DMS.
C'est pourquoi le API de commande de pièces Obtenez le service doit être utilisé pour récupérer les commandes de pièces et les charger dans votre base de données DMS.
Une Livraison N'est Pas Une Boîte
👉 Gardez à l'esprit qu'une livraison n'est pas nécessairement juste une boîte !
Une livraison est un groupe d'articles de commande de pièces expédiés ensemble et peut contenir plusieurs boîtes.
Par exemple, une commande de pièces contenant 10 articles peut être expédiée dans trois boîtes. Cela est visible dans les informations de suivi des articles (décrites ci-dessous) : vous trouvez trois numéros de suivi différents. Cela signifie que le transporteur expédie trois boîtes.
Il est également possible qu'une commande de pièces soit livrée par plusieurs documents de livraison. Par exemple, les articles d'une commande de pièces peuvent être expédiés depuis différents entrepôts.
Transporteur et Numéro de Suivi
BRP utilise des transporteurs tiers pour livrer les commandes de pièces aux concessionnaires. Le numéro de suivi du transporteur est également une information importante dans le document de livraison.
Lorsque l'article de commande de pièces est expédié, le tracking_details tableau pour l'article trouvé dans le API des livraisons la réponse contient la liste des tracking_no et tracking_url fournis par le transporteur.
"tracking_details": [
{
"tracking_no": "1ZA6V7586880873601",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_CA&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1ZA6V7586880873601"
},
{
"tracking_no": "1ZA6V7586880873594",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_CA&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1ZA6V7586880873594"
}
]Mais attendez!
Pourquoi tracking_details est-il un tableau?
En fonction de la taille et du poids de l'article, le transporteur peut avoir besoin d'envoyer plus d'une boîte pour un article, ce qui entraîne plusieurs numéros de suivi.
Le concessionnaire pourrait utiliser le numéro de suivi pour trouver le document de livraison correspondant.
Malheureusement, l'API interne de BRP ne fournit pas de service de "recherche par numéro de suivi".
💯Si votre DMS peut fournir une fonction de "recherche par numéro de suivi", cela serait d'une grande valeur pour le concessionnaire!
Livraison fractionnée : Un cauchemar pour les concessionnaires
Pour revenir à la processus de commande de pièces, une fois que la commande de pièces est prête à l'entrepôt de BRP, les boîtes sont préparées et une étiquette d'expédition avec le numéro de livraison est placée sur chaque boîte.
Disons que nous avons une commande avec 10 boîtes.
Le camion du transporteur arrive à l'entrepôt de BRP et est chargé de toutes les boîtes disponibles, pas seulement les 10 boîtes que nous avons demandées. Mais ensuite, le camion est plein, et 3 des 10 boîtes ne sont pas chargées!
Le camion part, et un autre arrive plus tard. Les trois dernières boîtes sont chargées dans ce camion. Depuis que les premières boîtes ont été expédiées, les trois dernières ont reçu un nouveau numéro de livraison.
👉 Un numéro de livraison commence par "85". Un numéro de livraison fractionnée commence par "89".
Lorsque le concessionnaire reçoit les trois dernières boîtes, le numéro de livraison sur l'étiquette d'expédition est 8500163056.
Mais le numéro de livraison fractionnée est quelque chose comme 8900031064.
Comment connectez-vous les 2?
Tout d'abord, vous pouvez obtenir la commande de pièces mise à jour en appelant le API de commande de pièces Obtenez le service. Les informations de livraison pour l'article ressembleront à ceci:
"delivery_progress": [
{
"status_code": "shipped",
"status_date": "2023-03-17T14:25:56Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-03-17",
"delivery_no": "8900031064",
"delivery_item_no": "000040",
"delivery_qty": 1,
"delivery_creation_date": "2023-03-17T14:25:40Z",
"pgi_date": "2023-03-17T14:25:56Z",
"carrier_name": "",
"split_delivery_no": "8500163056",
"split_delivery_item_no": "000040"Le split_delivery_no propriété fournit le numéro de livraison original, et le delivery_no propriété contient maintenant le nouveau numéro de livraison fractionnée.
Pourquoi est-ce important ?
❗❗ Parce que le document de livraison original ne sera pas mis à jour avec les informations d'expédition ❗❗
Si vous appelez le API des livraisons pour obtenir le document de livraison 8500163056, le tracking_nos propriété est vide.
Lorsqu'il est appelé pour le document de livraison 8900031064, les informations de suivi sont disponibles.
Quelques scénarios
Cette section présente certains des différents scénarios de commande de pièces, de livraison et de facture, et comment utiliser le API de commande de pièces, API des livraisons et API des factures pour aider le concessionnaire à gérer le traitement et la réception des commandes.
Le cas le plus simple : Un à un à un
La situation la plus simple est lorsque le concessionnaire reçoit une commande de pièces en une seule livraison avec une seule facture.

Lors de la réception de la livraison, le concessionnaire peut utiliser le numéro de livraison (8500001234) trouvé sur l'étiquette d'expédition pour trouver la commande de pièces correspondante en utilisant le numéro de commande de vente (1000005678).
Une livraison partielle
Dans ce scénario, le concessionnaire passe une commande de pièces avec cinq articles. BRP peut rapidement expédier trois articles, donc le concessionnaire reçoit une livraison avec trois articles.

Lors de la réception de la livraison, le concessionnaire peut utiliser le numéro de livraison (8500001234) trouvé sur l'étiquette d'expédition pour trouver la commande de pièces correspondante en utilisant le numéro de commande de vente (1000005678).
La commande de pièces peut être mise à jour dans le DMS du concessionnaire pour indiquer que trois articles ont été reçus et deux sont encore en attente.
Si BRP a expédié les deux articles restants, la propriété de l'article tracking_nos dans la commande de pièces contient les numéros de suivi du transporteur. Le concessionnaire peut utiliser ces numéros de suivi pour localiser les colis.
Livraisons multiples
Dans ce scénario, le concessionnaire passe une commande de pièces avec 5 articles, et BRP expédie les articles en 2 livraisons, peut-être parce que les articles sont expédiés depuis différents entrepôts.

Encore une fois, lors de la réception d'une livraison, le concessionnaire peut utiliser le numéro de livraison sur l'étiquette d'expédition pour trouver la commande de pièces correspondante en utilisant le numéro de commande de vente.
Livraisons multiples provenant de plusieurs commandes
Dans ce scénario, le concessionnaire a deux commandes de pièces : une avec cinq articles et une autre avec deux articles. Deux livraisons sont effectuées.
Comme montré dans le diagramme ci-dessous, la première livraison contient deux articles de la première commande de pièces et deux articles de la deuxième commande de pièces.

Lors de la réception de la première livraison (8500001234), les articles 1 et 2 peuvent être liés à la commande de pièces en utilisant le numéro de commande de vente (1000005678). Les articles 10 et 11 sont liés à l'autre commande de pièces en utilisant leur numéro de commande de vente (1000001234).
Lorsque la deuxième livraison (8500005678) est reçue, les articles sont liés à la commande de pièces en utilisant leur numéro de commande client (1000005678).
❗ Notez qu'il y a deux factures différentes pour la première livraison (8500001234) car les pièces proviennent de deux commandes de pièces différentes (1000005678 et 1000001234).
Mise en œuvre d'un processus de réception de pièces
Cette section présente un exemple de mise en œuvre d'un processus de réception de pièces en utilisant l' API de commande de pièces, API des livraisons et API des factures.
Trois scénarios sont utilisés pour présenter le processus de réception de pièces :
- Une commande simple avec un article et une livraison.
- Une commande avec de nombreux articles et de nombreuses livraisons.
- Une commande avec de nombreux articles et des livraisons fractionnées (voir la section Livraison Fractionnée : Un Cauchemar pour le Concessionnaire).
Chaque scénario commence par le concessionnaire recevant une boîte avec une étiquette d'expédition.
👉 Dans ces exemples, la commande de pièces est récupérée avec un appel à la API de commande de pièces.
Cependant, dans la Exigences DSP section de l'API de commande de pièces, les exigences 10 et 11 spécifient que votre DMS doit récupérer la commande de pièces existante en appelant l'API de commande de pièces Get service.
Cela signifie que lorsque un sales_order_no est obtenu à partir de l' API des livraisons ou API des factures, la commande de pièces doit être récupérée de votre base de données DMS.
Collection Postman
La DMS - Réception des pièces la collection contient les requêtes dans les scénarios présentés ci-dessous.
👉 Vous pouvez essayer ces exemples dans l'environnement QA, mais vous devez utiliser les mêmes numéros de concessionnaires.
Une commande simple - Avec la livraison
Le concessionnaire reçoit une boîte, et l'étiquette d'expédition indique un numéro de livraison : 8500045713.
Le processus de réception commence par l'appel de la API des livraisons pour obtenir les informations de livraison.
Obtenir la livraison
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8900000704' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Obtenir la commande de pièces
Le sales_order_no trouvé dans le API des livraisons réponse est utilisé pour obtenir la commande de pièces.
👉 En réalité, votre DMS devrait rechercher la commande de pièces dans sa base de données.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Dans cet exemple, la pièce reçue est facilement liée à la commande de pièces.
Obtenir la facture
Le numéro de facture peut être récupéré à partir de la liste desshipping_lines.deliveries.billings.billing_no objets, et en appelant le API des factures pour obtenir la facture.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Une commande simple - Avec la facture
Le concessionnaire reçoit une facture avec le numéro 9030149646.
Le processus de réception commence par l'appel de la API des factures pour obtenir les informations de la facture.
Obtenir la facture
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Obtenir la livraison
Nous pouvons obtenir la livraison et/ou la commande de pièces à partir de la facture.
👉 N'oubliez pas que dans la réponse de la facture, le sales_order_no et delivery_no sont par article!
Vous devez scanner les articles pour récupérer tous les sales_order_no et delivery_no valeurs!
Cet exemple est simple, donc nous n'avons qu'un seul article.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045713' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Obtenir la Commande de Pièces
Le sales_order_no trouvé dans le API des factures ou la API des livraisons la réponse est utilisée pour obtenir la commande de pièces.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Une commande avec plusieurs articles et plusieurs livraisons
Dans cet exemple, une commande avec de nombreux articles est expédiée en plusieurs livraisons.
Le revendeur a reçu une boîte avec le numéro de livraison 8500045915, et le API des livraisons est appelé pour obtenir les informations de livraison.
👉 Notez que le processus de réception des pièces peut également commencer par la facture, comme indiqué dans la section Une Commande Simple - Avec la Facture ci-dessus.
Obtenez la Livraison
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045915' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'La livraison contient 2 articles. Vous devez traiter les articles et extraire de chacun d'eux le sales_order_no et sales_order_item_no.
👉 N'oubliez pas qu'une livraison peut contenir des articles de plusieurs commandes partielles !
Vous ne pouvez pas supposer que tous les articles proviennent de la même commande, donc vous devez extraire tous les sales_order_no et sales_order_item_no.
Le code ressemblerait à ceci (il s'agit d'un extrait d'un script Postman).
// Get the response from the API
var response = pm.response.json();
// We keep the delivery number
var deliveries = [];
var delivery_no = response.delivery_no;
// save the all delivery items
response.items.every( delivery => {
console.log( delivery );
var delivery_item_no = delivery.item_no;
var sales_order_no = delivery.sales_order_no;
var sales_order_item_no = delivery.sales_order_item_no;
var deliveryObj = { delivery_no: delivery_no,
delivery_item_no: delivery_item_no,
sales_order_no: sales_order_no,
sales_order_item_no : sales_order_item_no };
deliveries.push( deliveryObj );
return true;
});
pm.collectionVariables.set( "DELIVERY_RECEIVED", deliveries );
Obtenez la commande de pièces
Le sales_order_no trouvé dans le API des livraisons réponse est utilisé pour obtenir la commande de pièces.
Cette requête utilise le premier sales_order_no du tableau deliveries créé ci-dessus.
👉 En réalité, votre DMS devrait rechercher la commande de pièces dans sa base de données.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?sales_order_no=1030382589&dealer_no=0000690377' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Trouvez les articles
La commande de pièces contient 12 articles, donc la prochaine étape consiste à identifier les articles qui correspondent aux pièces reçues.
Lors de l'examen des articles de la commande de pièces, trouvez ceux qui correspondent aux articles de la livraison. Ils correspondent s'ils ont les mêmes delivery_no et delivery_item_no valeurs.
var response = pm.response.json();
// Look to all the parts order items and find those matching the delivery
response.order.items.every( item => {
// For each item, look at the shipping lines
//console.log( item );
item.shipping_lines.every( shipping_line => {
// find the item corresponding to the delivery
deliveries.every( delivery => {
// check the order item delivery for a match
shipping_line.deliveries.every( item_delivery => {
if( item_delivery.no == delivery.delivery_no &&
item_delivery.item_no == delivery.delivery_item_no ) {
console.log( "Found " + item_delivery.no +
" " + item_delivery.item_no );
return false;
}
return true;
});
return true;
});
return true;
});
return true;
});
Les informations de livraison des 2 articles sont copiées ici.
"deliveries": [
{
"status_code": "shipped",
"status_date": "2023-06-26T12:17:32Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-06-28",
"no": "8500045915",
"item_no": "000010",
"delivery_qty": 1,
"creation_date": "2023-06-26T11:16:16Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": [
{
"billing_no": "9030153034",
"billing_item_no": "000202",
"billing_creation_date": "2023-06-26T22:00:16Z",
"billing_qty": "1.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
}
],
"deliveries": [
{
"status_code": "shipped",
"status_date": "2023-06-26T12:17:32Z",
"status_descr": "",
"qty": 1,
"availability_date": "2023-06-28",
"no": "8500045915",
"item_no": "000020",
"delivery_qty": 1,
"creation_date": "2023-06-26T11:16:16Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": [
{
"billing_no": "9030153034",
"billing_item_no": "000203",
"billing_creation_date": "2023-06-26T22:00:16Z",
"billing_qty": "1.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
}
],Une fois les articles trouvés, ils peuvent être marqués comme reçus.
Obtenir la facture
En même temps, les informations de facturation pour ces articles peuvent être récupérées, et le API des factures peut être appelé pour obtenir la facture.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030153034' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Vous verrez dans la réponse retournée que la facture contient 14 articles provenant de 3 commandes de pièces différentes : 1030382581, 1030382589 et 1030382592.
Encore une fois, les éléments de la facture liés à nos deux articles de commande peuvent être trouvés en utilisant les sales_order_no et sales_order_item_no propriétés des deux réponses.
👉 Gardez à l'esprit que vous pouvez également obtenir le PDF de la facture.

Obtenez la prochaine livraison
Le lendemain, le concessionnaire a reçu une autre boîte avec le numéro de livraison 8500045963.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500045963' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Cette livraison contient également deux articles, et le processus pour trouver la commande de pièces correspondante est répété.
Une commande avec livraison fractionnée
Comme expliqué dans la section Livraison Fractionnée : Un Cauchemar pour le Concessionnaire, une livraison fractionnée se produit lorsque certaines boîtes ne sont pas expédiées comme prévu, et une nouvelle livraison est créée, mais l'étiquette d'expédition n'est pas mise à jour.
Le concessionnaire reçoit une boîte, et l'étiquette d'expédition indique un numéro de livraison : 8500013805.
Le processus de réception commence par l'appel à la API des livraisons pour obtenir les informations de livraison.
Obtenir la livraison
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8500013805' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' 👉 Notez que la delivery_qty propriété est nulle pour les articles. Cela indique que la livraison a été divisée, mais la confirmation se trouve dans la commande de pièces.
Obtenez la commande de pièces
Le sales_order_no se trouve dans la API des livraisons réponse et est utilisé pour obtenir la commande de pièces.
👉 En réalité, votre DMS devrait rechercher la commande de pièces dans sa base de données.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/parts/orders?dealer_no=0000690005&sales_order_no=1030223136' \
--header 'Authorization-Dealer: THE_ACCESS_TOKEN' \
--header 'Authorization: Bearer REPLACE_ME'Dans cet exemple, la pièce reçue est facilement liée à la commande de pièces.
Obtenir la facture
Le numéro de facture peut être récupéré à partir de la liste des commandes de pièces deshipping_lines.deliveries.billings.billing_no objets, et en appelant le API des factures pour obtenir la facture.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030149646' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME'Obtenez la livraison fractionnée
Puisque votre DMS reçoit des commandes de pièces chaque jour, le concessionnaire peut récupérer les informations de livraison fractionnée en utilisant le numéro de livraison 8900000704.
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/delivery/8900000704' \
--header 'Dealer-Number: 0000690005' \
--header 'Authorization: Bearer REPLACE_ME' Traitez les articles
Examinons l'article de la réponse de livraison avec le delivery_item_no propriété définie sur "000020".
{
"delivery_item_no": "000020",
"product_code": "420931795",
"product_description": "OIL SEAL",
"order_qty": null,
"delivery_qty": null,
"package_qty": 1,
"sales_order_no": "1030223136",
"sales_order_item_no": "000301",
"dealer_po_no": "test",
"tracking_details": []
}Puisque nous avons la commande de pièces, nous pouvons rechercher chaque article commandé dans les livraisons propriété pour trouver celui avec la delivery_item_no propriété égale à "000020". Nous avons trouvé cet article.
{
"ordered_line": {
"item_id": "0050568414291EECBA9EA6F32052A8E9",
"item_no": "000300",
"product_code": "420931795",
"product_descr": "OIL SEAL",
"order_qty": 5,
"dealer_po_item_no": "",
"dealer_product_code": "",
"sales_uom": "PC",
"min_order_qty": 1,
"is_sales_bom": false,
"product_line": "SNO",
"product_type": "30",
"texts": []
},
"shipping_lines": [
{
"item_no": "000301",
"product_code": "420931795",
"product_descr": "OIL SEAL",
"ship_qty": 5,
"sales_uom": "PC",
"price_uom": "PC",
"package_uom": "PC",
"in_package": {
"qty": 1,
"uom": "PC"
},
"package_count": 5,
"msrp_unit_price": 18.49,
"wholesale_unit_price": 10.98,
"net_unit_price": 11.2,
"currency": "USD",
"is_substitute_product": false,
"substituted_product_code": null,
"product_line": "SNO",
"product_type": "30",
"plant": {
"name": "BRP - BELOIT",
"city": "BELOIT",
"state": "WI",
"country": "US"
},
"pricings": [
{
"condition_type": "gross_amt",
"total_amount": 54.9,
"currency": "USD"
},
{
"condition_type": "tax_amt",
"total_amount": 3.36,
"currency": "USD"
},
{
"condition_type": "subtotal_amt",
"total_amount": 56,
"currency": "USD"
},
{
"condition_type": "surcharge_amt",
"total_amount": 1.1,
"currency": "USD"
}
],
"deliveries": [
{
"status_code": "shipped",
"status_date": "2022-06-17T14:05:14Z",
"status_descr": "",
"qty": 5,
"availability_date": "2022-06-16",
"no": "8900000704",
"item_no": "000020",
"delivery_qty": 5,
"creation_date": "2022-06-16T16:19:06Z",
"carrier_name": "",
"split_delivery_no": "8500013805",
"split_delivery_item_no": "000020",
"billings": [
{
"billing_no": "9030033039",
"billing_item_no": "000301",
"billing_creation_date": "2022-06-16T22:00:10Z",
"billing_qty": "5.000",
"is_cancelled": false,
"cancellation_billing_no": ""
}
]
},
{
"status_code": "shipped",
"status_date": "2023-08-14T19:23:24Z",
"status_descr": "",
"qty": null,
"availability_date": "2022-06-15",
"no": "8500013805",
"item_no": "000020",
"delivery_qty": 0,
"creation_date": "2022-06-10T15:43:11Z",
"carrier_name": "",
"split_delivery_no": "",
"split_delivery_item_no": "",
"billings": []
}
],
"statuses": []
}
]
}En regardant le livraisons tableau, nous trouvons l'entrée avec le numéro de livraison que nous avons utilisé (8500013805) et une autre avec un numéro de livraison de 8900000704. Cette dernière entrée a la split_delivery_no propriété définie sur 8500013805, le numéro de livraison trouvé sur l'étiquette d'expédition.
L'entrée de livraison 8900000704 contient les informations de facture correctes (facturations).
👉 Si vous ne trouvez pas l'article en regardant le delivery_item_no propriété, recherchez à nouveau en utilisant le split_delivery_item_no.
C'est rare mais pas impossible que le delivery_item_no soit différent entre les livraisons originales et fractionnées.
Obtenir la facture
Les informations de facturation pour ces articles peuvent être récupérées, et le API des factures peut être appelé pour obtenir la facture.
Notez que les données de la facture contiennent le numéro de livraison fractionnée (8900000704).
curl --location 'https://qa-cloud-api.brp.com/dcp/v4/invoice/9030033039' \
--header 'Dealer-Number: 0000690377' \
--header 'Authorization: Bearer REPLACE_ME'Suivi de l'expédition
Pour le concessionnaire, le suivi de l'expédition est un aspect essentiel de la commande et de la réception des pièces. Les informations de suivi sont obtenues en deux étapes :
- Obtenez la commande de pièces mise à jour via le API de commande de pièces pour obtenir les informations de livraison.
👉 N'oubliez pas que dans l'API de commande de pièces Exigences DSP la section, l'exigence 11 spécifie que votre DMS doit récupérer la commande de pièces existante quotidiennement en appelant l'API de commande de pièces Get service.
Le concessionnaire peut accéder aux informations de livraison et de facturation en récupérant la commande de pièces mise à jour quotidiennement.
Disons que votre DMS a récupéré la commande de pièces suivante.
La commande de pièces contient neuf articles. Vous verrez dans la livraisons section qu'il y a trois numéros de livraison (non):
- 8502050884 avec huit articles.
- 8502049960 avec 1 article.
- 8502051148 avec 1 article.
Les numéros de livraison peuvent être utilisés pour obtenir des informations de livraison en appelant le API des livraisons.
{
"delivery_no": "8502050884",
"dealer_no": "0000690012",
"customer_address": {
"street": "1601 MAIN STREET",
"city": "LUXEMBURG",
"state": "WI",
"country": "US",
"postal_code": "54217-1311"
},
"shipping_condition": "S0",
"ship_to_no": "0000690012",
"ship_to_address": {
"street": "1601 MAIN STREET",
"city": "LUXEMBURG",
"state": "WI",
"country": "US",
"postal_code": "54217-1311"
},
"last_change_date": "2024-05-17T00:00:00Z",
"items": [
{
"delivery_item_no": "000010",
"product_code": "271001039",
"product_description": "SPACER",
"order_qty": 2,
"delivery_qty": 2,
"package_qty": 1,
"sales_order_no": "1031012033",
"sales_order_item_no": "000101",
"dealer_po_no": "9329",
"tracking_details": [
{
"tracking_no": "1Z65R5V50303332698",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?loc=en_US&AgreeToTermsAndConditions=yes&track.x=26&track.y=5&trackNums=1Z65R5V50303332698"
}
]
},Le concessionnaire peut utiliser l'URL pour accéder au site du transporteur et vérifier l'état de l'expédition.
Par exemple, suivre le tracking_url lien ouvre le site de FedEx ici :

Recevez les livraisons à l'avance
Une autre façon d'aider le concessionnaire est de récupérer les informations de livraison à l'avance.
👉 Dans l'API des livraisons Exigences fonctionnelles section, il y a une exigence optionnelle que votre DMS récupère les livraisons existantes quotidiennement.
Par exemple, les entrées de livraison qui ont changé au cours des 7 à 30 derniers jours peuvent être demandées quotidiennement.
curl --location 'https://cloud-api.brp.com/dcp/v4/deliveries?last_change_date_from=2023-10-31' \
--header 'Dealer-Number: 0000693441' \
--header 'Authorization: Bearer REPLACE_ME' Vous voyez que les premières et dernières livraisons ont des informations de suivi dans le trackings propriété. Cela indique que les articles ont été expédiés. L'autre livraison, sans les informations de suivi, est prête et attend d'être récupérée par le transporteur.
Dans les dernières informations de livraison, il y a deux tracking_no, cela signifie que les 2 articles ont été expédiés dans des colis différents.
Utiliser l'URL pour visiter le site du transporteur montre les deux colis dans l'envoi.