Guide des cas d'utilisation de l'API Expédition directe par le fournisseur v2021-12-28

Apprenez à utiliser l'API d'expédition Vendor Direct Fulfillment (DF).

Utilisez le API d'expédition directe pour échanger des documents relatifs à l'expédition avec Amazon.

Tutoriels

Les didacticiels de cette section expliquent comment :

Soumettre des demandes d'étiquettes d'expédition

L'opération submitShippingLabelRequest permet aux fournisseurs de demander des informations sur les étiquettes d'expédition à Amazon pour chaque bon de commande. Vous pouvez envoyer plusieurs demandes d'étiquettes d'expédition en vrac en un seul appel d'API en respectant le schéma. Lorsque les étiquettes d'expédition sont créées par Amazon, elles peuvent être téléchargées à l'aide de l'opération getShippingLabel.

📘

Remarque

Le submitShippingLabelRequest Cette opération n'est disponible que pour les fournisseurs qui font appel à des transporteurs Amazon.

Vérifier les demandes de soumission d'étiquettes d'expédition

Vous pouvez vérifier l'état de vos demandes d'étiquettes d'expédition à l'aide du API de transactions Vendor DF. Accordez au système jusqu'à 15 minutes pour afficher l'état après la soumission. Si le statut de la transaction n'est pas mis à jour après 30 minutes, ouvrez un Nous contacter cas dans Vendor Central.

Le schéma suivant montre le workflow pour la soumission des demandes d'étiquettes d'expédition.

The Direct Fulfillment integration workflow for submitting shipping label requests.

Exigences commerciales

  • Le bon de commande doit être confirmé avec succès via l'API, l'EDI ou Vendor Central avant que vous ne soumettiez la demande d'étiquette d'expédition. Les demandes d'étiquettes d'expédition pour les commandes d'achat non confirmées ou annulées sont rejetées.

  • Si vous utilisez les étiquettes d'expédition d'Amazon, l'envoi des informations relatives à l'article ou au colis dans la demande est facultatif.

submitShippingLabelRequest requis

Pour demander des étiquettes d'expédition, appelez l'opérationsubmitShippingLabelRequest et transmettez le paramètre suivant :

NomDescriptionObligatoire
shippingLabelRequestsDemandez une ou plusieurs étiquettes d'expédition.
Tapez : < ShippingLabelRequest > gamme
Oui

Exemple de demande

POST "https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels" { "shippingLabelRequests": [ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "containers": [ { "containerType": "carton", "containerIdentifier": "123", "trackingNumber": "XXXX", "dimensions": { "length": "12", "width": "12", "height": "12", "unitOfMeasure": "IN" }, "weight": { "unitOfMeasure": "KG", "value": "10" }, "packedItems": [ { "itemSequenceNumber": 1, "buyerProductIdentifier": "B07DFVDRAB", "packedQuantity": { "amount": 1, "unitOfMeasure": "Each" } } ] } ] } ] }

submitShippingLabelRequest requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
transactionIdGUID permettant d'identifier cette transaction. Cette valeur peut être utilisée avec API de transactions Vendor DF pour renvoyer le statut de cette transaction.<br.>Type : chaîneNon

Exemple de réponse

{ "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" }

Obtenir une étiquette d'expédition

L'opération nextToken">getShippingLabels renvoie les étiquettes d'expédition pour toutes les commandes qui répondent aux critères de filtrage indiqués dans la demande. Vous devez avoir déjà demandé des étiquettes d'expédition à l'aide de l'opération submitShippingLabelRequest avant d'utiliser cette API pour obtenir des étiquettes d'expédition disponibles pour l'expédition. Amazon recommande aux fournisseurs de vérifier les étiquettes d'expédition au moins une fois par heure pendant les heures ouvrées. En fonction de votre volume de ventes, vous pouvez choisir d'effectuer des vérifications plus fréquentes. Vous pouvez obtenir jusqu'à 100 étiquettes d'expédition en un seul appel API. S'il y a plus de 100 étiquettes d'expédition, vous pouvez utiliser la valeur nextToken pour obtenir le jeu d'étiquettes d'expédition suivant.

Les étiquettes d'expédition expirent 90 jours après leur date de création (le submitShippingLabelRequestdate).

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Le schéma suivant illustre le workflow d'intégration lors de la récupération des étiquettes d'expédition :

The Direct Fulfillment integration workflow when retrieving shipping labels.

getShippingLabels requis

Pour récupérer une liste d'étiquettes d'expédition, appelez l'opération getShippingLabels et transmettez les paramètres suivants :

NomDescriptionObligatoire
shipFromPartyIdLe vendeur warehouseId pour l'exécution des commandes. Si ce n'est pas spécifié, la réponse contiendra les commandes pour tous les entrepôts.
Type : chaîne
Non
limitLa limite du nombre d'enregistrements renvoyés.
Type : entier
Non
createdAfterLes étiquettes d'expédition qui sont devenues disponibles après cette date et cette heure seront incluses dans la réponse. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
createdBeforeLes étiquettes d'expédition disponibles avant cette date et cette heure seront incluses dans le résultat. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
sortOrderTrier par ordre croissant (ASC) ou descendant (DESC) à la date de création de la commande.
Type : enum (SortOrder)
Non
nextTokenUtilisé pour la pagination lorsqu'il y a plus d'étiquettes d'expédition que la limite de taille de résultat spécifiée. La valeur du jeton est renvoyée lors de l'appel d'API précédent.
Type : chaîne
Non

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels?limit=2&createdAfter=2020-02-15T14:00:00-08:00&createdBefore=2020-02-20T00:00:00-08:00&sortOrder=DESC

getShippingLabels requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
paginationSi plus de 100 étiquettes d'expédition sont retournées, nextToken est renvoyé dans la réponse pour pagination.Non
shippingLabelsListe des étiquettes des navires.
Tapez : < ShippingLabel > gamme
Non

Exemple de réponse

{ "pagination": { "nextToken": "MDAwMDAwMDAwMQ==" }, "shippingLabels": [ { "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "labelFormat": "PNG", "labelData": [ { "packageIdentifier": "PKG001", "trackingNumber": "1Z6A34Y60369738804", "shipMethod": "UPS_GR_RES", "shipMethodName": "UPS Ground Residential", "content": "Base 64 encoded string goes here " } ] }, { "purchaseOrderNumber": "2JK3S9VD", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "labelFormat": "PNG", "labelData": [ { "packageIdentifier": "PKG002", "trackingNumber": "1Z6A34Y60369738805", "shipMethod": "UPS_GR_RES", "shipMethodName": "UPS Ground Residential", "content": "Base 64 encoded string goes here " } ] } ] }

Obtenir une étiquette d'expédition

L'opération getShippingLabel renvoie des informations sur l'étiquette d'expédition que vous avez indiquée à l'aide du numéro de commande. La réponse comprend des informations complètes sur l'étiquette d'expédition pour la commande, notamment le type d'étiquette, les détails de la commande et la méthode d'expédition.

Les étiquettes d'expédition expirent 90 jours après leur date de création (le submitShippingLabelRequestdate).

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Vous pouvez également utiliser cette API pour obtenir des informations sur n'importe quelle étiquette d'expédition (dans une période de 7 jours à partir de la période glissante des 6 derniers mois, après que le fournisseur a mis en service l'API).

Le diagramme suivant montre le workflow d'intégration pour la récupération d'une étiquette d'expédition spécifique :

The Direct Fulfillment integration workflow for retrieving a specific shipping label.

Exigences commerciales

  • Quels types d'étiquettes sont téléchargeables ?

Les formats d'étiquettes pris en charge sont ZPL et PNG. Le contenu de l'étiquette est fourni au format de chaîne Base 64 afin que vous puissiez convertir la chaîne dans le format d'étiquette souhaité. Le choix du format d'étiquette revient au fournisseur, qui le décide dans le cadre du processus d'intégration au programme de distribution directe.

  • Quand dois-je demander l'étiquette d'expédition ?

Ne demandez vos étiquettes d'expédition que le jour de l'expédition des commandes.

getShippingLabel requis

Pour demander une étiquette d'expédition, appelez l'opérationgetShippingLabel et transmettez le paramètre suivant :

NomDescriptionObligatoire
purchaseOrderNumberLe numéro de la commande pour laquelle vous souhaitez renvoyer l'étiquette d'expédition. Il doit être le même purchaseOrderNumber que celui reçu dans la commande.Oui

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC

getShippingLabel requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
purchaseOrderNumberLe numéro de bon de commande pour cette commande.
Type : chaîne
Oui
sellingPartyIdentifiant du vendeur ou du fournisseur.
Tapez : PartyIdentification
Oui
shipFromPartyLe code d'entrepôt du fournisseur.
Tapez : PartyIdentification
Oui
labelFormatFormat de l'étiquette.
énumération (LabelFormat)
Oui
labelDataFournit les détails des colis de cette expédition.
Tapez : < LabelData > gamme
Oui

Exemple de réponse

{ "purchaseOrderNumber": "2JK3S9VC", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "labelFormat": "PNG", "labelData": [ { "packageIdentifier": "PKG001", "trackingNumber": "1Z6A34Y60369738804", "shipMethod": "UPS_GR_RES", "shipMethodName": "UPS Ground Residential", "content": "Base 64 encoded string goes here" } ] }

Création d'étiquettes d'expédition

Le createShippingLabels l'opération crée des étiquettes d'expédition pour un bon de commande et renvoie les étiquettes. Il s'agit d'une opération synchrone qui ne nécessite pas d'appeler le API de transactions Vendor DF.

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Le schéma suivant montre le flux de travail pour créer des étiquettes d'expédition à l'aide du createShippingLabels opération.

The Direct Fulfillment integration workflow for creating shipping labels synchronously.

Exigences commerciales

Vous pouvez retourner les étiquettes d'expédition pour un seul bon de commande par demande. Plusieurs bons de commande en une seule demande ne sont pas pris en charge.

createShippingLabels requis

Pour créer des étiquettes d'expédition de manière synchrone, appelez le createShippingLabels opération et transmettez le paramètre de chemin suivant :

NomDescriptionObligatoire
purchaseOrderNumberLe numéro de bon de commande pour les étiquettes d'expédition que vous souhaitez.
Type : chaîne
Oui

Vous pouvez inclure les paramètres corporels suivants :

NomDescriptionObligatoire
sellingPartyL'identifiant du vendeur ou du fournisseur.
Tapez : PartyIdentification
Oui
shipFromPartyCode d'entrepôt du fournisseur.
Tapez : PartyIdentification
Oui
containersListe des colis de cette expédition.
Tapez : < Container > gamme
Non

Exemple de demande

POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/ shipping/2021-12-28/shippingLabels/XhvBghry { "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" } }

createShippingLabels requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
purchaseOrderNumberLe numéro de bon de commande pour cette commande.
Type : chaîne
Oui
sellingPartyIdentifiant du vendeur ou du fournisseur.
Tapez : PartyIdentification
Oui
shipFromPartyLe code d'entrepôt du fournisseur.
Tapez : PartyIdentification
Oui
labelFormatFormat de l'étiquette.
énumération (LabelFormat)
Oui
labelDataFournit les détails des colis de cette expédition.
Tapez : < LabelData > gamme
Oui

Exemple de réponse

{ "purchaseOrderNumber": "XhvBghry", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "labelFormat": "PNG", "labelData": [ { "packageIdentifier": "1", "trackingNumber": "1Z69664F0310685739", "shipMethod": "UPS_GR_RES_SIG", "shipMethodName": "UPS Ground Residential", "content": "Base 64 encoded string goes here" } ] }

Exemple de réponse (erreur)

{ "errors": [ { "code": "InvalidInput", "message": "[MISMATCHED_ITEM]: Request Rejected: Order quantity does not match the shipped quantity. All items in the order must be provided. Ensure you add the correct quantity of shipped items to packages. For items - ${fnSku}, the expected quantity is ${expectedQuantity}, but the provided quantity is ${providedQuantity}.", "details": "" } ] }

Liste des informations relatives à la réponse aux erreurs possibles

Le tableau suivant contient une liste de tous les détails possibles des réponses aux erreurs. Toutes les étapes recommandées pour résoudre la condition d'erreur avant de réessayer la demande sont incluses. Vous devez concevoir un mécanisme de gestion des défaillances dans votre application pour anticiper et gérer ces erreurs potentielles.

Il est possible que des réponses d'erreur supplémentaires soient ajoutées au fil du temps. Votre application doit donc également être prête à gérer correctement les erreurs qui ne figurent pas dans cette liste.

Valeurs entre crochets précédées d'un \$ qui apparaissent dans la colonne Message (par exemple, \${fnSku}) sont remplacés par des valeurs réelles dans la réponse d'erreur.

CodeMessageDetails
InvalidInput[MISMATCHED_ITEM] : Demande rejetée : la quantité commandée ne correspond pas à la quantité expédiée. Tous les articles de la commande doivent être fournis. Assurez-vous d'ajouter la bonne quantité d'articles expédiés aux colis. Pour les articles - ${fnSku}, la quantité attendue est de ${expectedQuantity}, mais la quantité fournie est de ${providedQuantity}.Aucune
InvalidInput[NO_ITEMS_PRESENT] : Demande rejetée : numéro de commande ${shipmentId} contient des articles qui ne sont affectés à aucun colis. Assurez-vous que tous les articles correspondent au (x) colis.Aucune
InvalidInput[PACKAGE_DIMENSION_NOT_VALID] : Demande rejetée : numéro de commande ${shipmentId} a une dimension non valide pour le ou les colis. Veuillez ajouter des dimensions valides pour votre ou vos colis.Aucune
InvalidInput[PACKAGE_WEIGHT_NOT_VALID] : Demande rejetée : numéro de commande ${shipmentId} le poids du ou des colis n'est pas valide. Veuillez ajouter un poids valide pour votre/vos colis.Aucune
InvalidInput[piecE_NUMBER_ONE_NOT_PROVIDED] : Le numéro de séquence du conteneur « 1 » n'est pas fourni pour au moins un article. Vérifiez si le numéro de séquence du conteneur est manquantAucune
InvalidInput[INCONSISTENT_piecE_NUMBER_QUANTITY] : le numéro de séquence du conteneur d'au moins un article n'est pas cohérent ou incompatible avec la quantité de l'article. Vérifiez que le numéro de séquence du contenant est correct et que la quantité de chaque article est la même que le numéro de séquence de l'articleAucune
InvalidInput[INVALID_VENDOR_CODE] : code fournisseur $ non valide{vendorCode}. Vérifiez que le code fournisseur est correct pour la commandeAucune
InvalidInput[INVALID_ORDER_ID_WAREHOUSE_COMBINATION] : étiquette d'expédition rejetée : numéro de commande ${shipmentId} n'appartient pas à l'entrepôt ${warehouseCode}. Veuillez vérifier que le code d'entrepôt et le numéro de commande sont correctsAucune
InvalidInput[INCORRECT_VENDOR_GROUP_ID] : ID de groupe de fournisseurs non valide ${vendorGroupId}. Vérifiez que l'identifiant du groupe de fournisseurs est correct pour la commandeAucune
InvalidInput[DUPLICATE_VENDOR_PACKAGE_ID] : ID de package de fournisseur dupliqués. Corrigez les identificateurs de conteneurs dupliqués et réessayezAucune
InvalidInput[EMPTY_VENDOR_PACKAGE_ID] : VendorPackageID non valides. Corrigez les identificateurs de conteneur non valides et réessayezAucune
InvalidInput[MÉTHODE_EXPÉDITION_NON_PRISE EN CHARGE] : ${ship_method} n'est pas pris en charge. Utilisez votre configuration existante pour générer l'étiquette pour ${ship_method}Aucune
InvalidInput[SHIP_METHOD_CHANGED] : La méthode d'expédition pour ce bon de commande est passée de ${old_ship_method} à ${ship_method}. Utilisez votre configuration existante pour générer l'étiquette pour ${ship_method}Aucune
InvalidInput[INCONSISTENT_SHIP_METHODS] : Demande rejetée : différentes méthodes d'expédition sont attribuées à différents colis. Essayez d'expédier tous les articles dans une seule boîte. Si cela n'est pas possible, veuillez nous contacter.Aucune
ConflictError[SHIPMENT_NOT_MUTABLE] : Demande rejetée : dimensions du colis pour le numéro de commande ${shipmentId} ne peut pas être mis à jour avec l'état actuel. Aucune autre action n'est requise.Aucune
ConflictError[ORDER_SHIPPED_WITH_VENDOR_LABEL] : Vous avez déjà expédié la commande par un transporteur autre qu'Amazon Transportation. Vous ne pouvez donc pas imprimer l'étiquette de cette commande. Aucune action n'est requise. Vous avez déjà confirmé l'expédition de la commande.Aucune
InternalFailureNous avons rencontré une erreur interne. Veuillez réessayer.Aucune

Soumettre les confirmations d'expédition

L'opération submitShipmentConfirmations permet aux fournisseurs de soumettre des confirmations d'expédition à Amazon. Votre confirmation d'expédition nous permet de suivre efficacement vos expéditions et d'informer nos clients. Il contient des informations sur les articles expédiés, notamment le numéro de bon de commande, la date d'expédition, la date de livraison estimée et le numéro de suivi.

Les confirmations d'expédition nous permettent de collaborer plus efficacement avec les transporteurs pour le suivi de vos expéditions.

L'absence de confirmation d'expédition valide peut entraîner :

  • une visibilité insuffisante sur les expéditions entrantes ;

  • Erreurs lors de la comparaison des expéditions physiques avec les bons de commande.

  • Suivis manuels pour résoudre les incohérences.

Vérification des confirmations d'expédition réussies

Les fournisseurs peuvent vérifier l'état de leurs confirmations d'expédition via Centrale des fournisseurs > Commandes > Commandes à traitement direct ou à l'aide du API de transactions Vendor DF. Attendez au système jusqu'à 10 minutes pour déterminer l'état après la soumission. Si Vendor Central n'affiche pas les valeurs correctes pour la confirmation d'expédition, ouvrez un Nous contacter cas dans Vendor Central. Consultez la section Exigences commerciales pour plus d'informations sur la création de confirmations d'expédition.

Le schéma suivant montre le workflow d'intégration pour la soumission des confirmations d'expéditions :

The Direct Fulfillment integration workflow for submitting shipment confirmations.

Exigences commerciales

  • Utilisez cette API pour confirmer l'expédition d'une commande dans les quatre heures suivant l'expédition de la commande depuis votre entrepôt.

  • Pour les expéditions au sol refusées, réglez la valeur du champ shipmentStatus sur FLOOR_DENIAL.

  • Tous les articles du bon de commande doivent figurer dans la confirmation d'expédition. L'expédition partielle des commandes n'est pas autorisée. Les fournisseurs doivent rejeter la commande en tant que refus d'approvisionnement si l'un des articles de la gamme n'est pas disponible pour être expédié.

  • La valeur itemSequenceNumber pour un article doit être identique à celle reçue dans le message de commande.

  • Soit buyerProductIdentifier ou vendorProductIdentifier est obligatoire pour envoyer la confirmation d'expédition. Vous devez envoyer la même valeur que celle reçue dans le bon de commande.

  • Pour les COV, envoi scacCode est obligatoire.

  • Si l'étiquette d'expédition est fournie par Amazon, la section contenant est facultative car Amazon a accès aux informations du colis. La section des articles doit obligatoirement être soumise.

  • Une méthode d'expédition doit être spécifiée pour le conteneur figurant dans une confirmation d'expédition.

submitShipmentConfirmations requis

Pour soumettre des confirmations d'expédition, appelez l'opération submitShipmentConfirmations et transmettez le paramètre suivant :

NomDescriptionObligatoire
shipmentConfirmationsListe des envois confirmés.
Tapez : < ShipmentConfirmation > gamme
Oui

Exemple de demande

POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shipmentConfirmations { "shipmentConfirmations": [ { "purchaseOrderNumber": "PO00050003", "shipmentDetails": { "shippedDate": "2019-08-07T19:56:45.632Z", "shipmentStatus": "SHIPPED", "isPriorityShipment": true, "estimatedDeliveryDate": "2019-08-07T19:56:45.632Z" }, "sellingParty": { "partyId": "VENDORCODE" }, "shipFromParty": { "partyId": "VENDORWAREHOUSECODE" }, "items": [ { "itemSequenceNumber": 1, "buyerProductIdentifier": "ASIN001", "vendorProductIdentifier": "9782700001659", "shippedQuantity": { "amount": 100, "unitOfMeasure": "Each" } }, { "itemSequenceNumber": 2, "buyerProductIdentifier": "ASIN002", "vendorProductIdentifier": "9782700001659", "shippedQuantity": { "amount": 100, "unitOfMeasure": "Each" } }, { "itemSequenceNumber": 3, "buyerProductIdentifier": "ASIN003", "vendorProductIdentifier": "9782700001659", "shippedQuantity": { "amount": 100, "unitOfMeasure": "Each" } }, { "itemSequenceNumber": 4, "buyerProductIdentifier": "ASIN004", "vendorProductIdentifier": "9782700001659", "shippedQuantity": { "amount": 100, "unitOfMeasure": "Each" } } ], "containers": [ { "containerType": "carton", "containerIdentifier": "123", "trackingNumber": "TRACK001", "scacCode": "SCAC001", "carrier": "ABCD001", "shipMethod": "UPS", "dimensions": { "length": "10", "width": "10", "height": "10", "unitOfMeasure": "IN" }, "weight": { "unitOfMeasure": "KG", "value": "10" }, "packedItems": [ { "itemSequenceNumber": 1, "buyerProductIdentifier": "ASIN001", "packedQuantity": { "amount": 100, "unitOfMeasure": "Each" } } ] }, { "containerType": "carton", "containerIdentifier": "234", "trackingNumber": "TRACK002", "scacCode": "SCAC001", "carrier": "ABCD001", "shipMethod": "UPS", "dimensions": { "length": "10", "width": "10", "height": "10", "unitOfMeasure": "IN" }, "weight": { "unitOfMeasure": "KG", "value": "10" }, "packedItems": [ { "itemSequenceNumber": 2, "buyerProductIdentifier": "ASIN002", "packedQuantity": { "amount": 100, "unitOfMeasure": "Each" } } ] }, { "containerType": "carton", "containerIdentifier": "ABCD", "trackingNumber": "TRACK003", "scacCode": "SCAC001", "carrier": "ABCD001", "shipMethod": "UPS", "dimensions": { "length": "10", "width": "10", "height": "10", "unitOfMeasure": "IN" }, "weight": { "unitOfMeasure": "KG", "value": "10" }, "packedItems": [ { "itemSequenceNumber": 3, "buyerProductIdentifier": "ASIN003", "packedQuantity": { "amount": 100, "unitOfMeasure": "Each" } } ] }, { "containerType": "carton", "containerIdentifier": "id12", "trackingNumber": "TRACK004", "scacCode": "SCAC001", "carrier": "ABCD001", "shipMethod": "UPS", "dimensions": { "length": "10", "width": "10", "height": "10", "unitOfMeasure": "IN" }, "weight": { "unitOfMeasure": "KG", "value": "10" }, "packedItems": [ { "itemSequenceNumber": 4, "buyerProductIdentifier": "ASIN004", "packedQuantity": { "amount": 100, "unitOfMeasure": "Each" } } ] } ] } ] }

submitShipmentConfirmations requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
transactionIdGUID permettant d'identifier cette transaction. Cette valeur peut être utilisée avec API de transactions Vendor DF pour renvoyer le statut de cette transaction.
Type : chaîne
Oui

Exemple de réponse

{ "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" }

Soumettre des mises à jour d'état des expéditions

🚧

Attention

Seuls les fournisseurs utilisant leur propre transporteur (VOC) peuvent utiliser les mises à jour de l'état des expéditions. Cela signifie que les fournisseurs font appel à leur propre transporteur pour la livraison des envois, plutôt qu'à des transporteurs Amazon, pour acheminer les envois aux clients. Les fournisseurs de COV couvrent en fin de compte les frais de transport et la responsabilité de livrer les envois aux clients.

L'opération submitShipmentStatusUpdates permet aux fournisseurs de mettre à jour le statut d'expédition pour les expéditions en cours d'acheminement vers le client final. Les fournisseurs VOC sont tenus de mettre à jour le statut d'expédition pendant la phase d'acheminement.

Ces informations seront ensuite transmises aux clients d'Amazon sur la page “Vos commandes” et amélioreront ainsi la visibilité sur le suivi de la commande et le processus de livraison.

L'absence de mise à jour du statut d'expédition peut entraîner de mauvais KPI opérationnels, tels qu'un faible taux de numérisation et, à terme, une interruption de l'activité de l'entrepôt.

Vérification des mises à jour du statut des expéditions soumises avec succès

Les fournisseurs peuvent vérifier l'état des mises à jour de l'état de leurs expéditions dans Centrale des fournisseurs > Commandes > Commandes à traitement direct ou en utilisant le API de transactions Vendor DF. Accordez au système jusqu'à 10 minutes pour déterminer le statut après la soumission. Si Vendor Central n'affiche pas les valeurs correctes pour la confirmation d'expédition, ouvrez un Nous contacter cas dans Vendor Central. Consultez la section Exigences commerciales pour plus d'informations sur la création de confirmations d'expédition.

Le schéma suivant montre le workflow d'intégration pour la soumission des mises à jour du statut des expéditions :

The Direct Fulfillment integration workflow for submitting shipment status updates.

Exigences commerciales

  • Utilisez cette API uniquement si vous utilisez votre propre transporteur (vous êtes un fournisseur de COV) pour transporter l'envoi au client.

  • Utilisez cette API pour mettre à jour le statut d'une expédition une fois celle-ci confirmée (via l'API ou Vendor Central).

  • Le trackingNumber dans l'API de statut de l'expédition doit correspondre à trackingNumber indiqué dans la confirmation d'expédition. S'il ne correspond pas, la mise à jour du statut de l'expédition échoue.

  • Un submitShipmentStatusUpdates l'appel doit correspondre à un package physique. Vous pouvez mettre à jour le statut d'expédition de plusieurs colis en un seul appel d'API en les regroupant sous la forme d'un tableau de mises à jour du statut de l'expédition.

  • Une commande d'expédition directe peut donner lieu à plusieurs colis physiques à livrer au client. Plusieurs mises à jour du statut d'expédition sont donc nécessaires pour refléter le statut d'expédition de la commande complète.

  • Les fournisseurs doivent, dans la mesure du possible, envoyer le statut de l'expédition en suivant les directives d'Amazon relatives au statut de l'expédition.

  • Pour les commandes à livraison planifiée, les fournisseurs doivent envoyer le tableau de shipmentSchedule qui indique le délai de livraison estimé et la fenêtre de livraison.

Champs supplémentaires

statusCode et reasonCode sont des codes standard utilisés dans les normes EDI (par exemple, ISA X12 et EDIFACT) qui sont utilisés pour fournir un événement de statut spécifique et la raison de cet événement de statut. Nous nous attendons à une combinaison spécifique de statusCode et reasonCode qui déterminent un événement au cours de la phase de transport de l'expédition jusqu'au client final.

Voici les codes de statut et de motif que nous prenons en charge et leur équivalence par rapport à la version actuelle de Vendor Central :

Code d'état EDIFACTCode de motif EDIFACTDescription opérationnelleVendor Central UI equivalency
404117Expédition retardée en raison d'un accident de grande envergureDELAYED
301000Expédition livrée au clientDELIVERED
101000L'expédition a quitté le centre de distributionDEPARTED_FROM_FC
201000Expédition arrivée dans un établissement du transporteurIN_TRANSIT
409000Le transporteur a perdu l'expéditionLOST
302000Expédition en cours de livraisonOUT_FOR_DELIVERY
407000Le destinataire a refusé d'accepter l'expéditionREJECTED
416000L'expédition ne peut pas être livrée et sera détruiteUNDELIVERABLE
Code d'état X12Code motif X12Description opérationnelleVendor Central UI equivalency
DEAFExpédition retardée en raison d'un accident de grande envergureDELAYED
D1NSExpédition livrée au clientDELIVERED
XBNSL'expédition a quitté le centre de distributionDEPARTED_FROM_FC
O1NSExpédition arrivée dans un établissement du transporteurIN_TRANSIT
CAPLLe transporteur a perdu l'expéditionLOST
ODNSExpédition en cours de livraisonOUT_FOR_DELIVERY
A7AMLe destinataire a refusé d'accepter l'expéditionREJECTED
APBGL'expédition ne peut pas être livrée et sera détruiteUNDELIVERABLE

submitShipmentStatusUpdates requis

Pour soumettre des mises à jour de statut d'expédition, appelez l'opération submitShipmentStatusUpdates et transmettez le paramètre suivant :

NomDescriptionObligatoire
shipmentStatusUpdatesListe des envois confirmés.
Tapez : < ShipmentStatusUpdate > gamme
Oui

Exemple de demande

POST https://sellingpartnerapi-na.amazon.com/ /vendor/directFulfillment/shipping/2021-12-28/shipmentStatusUpdates { "shipmentStatusUpdates": [ { "purchaseOrderNumber": "DX00050015", "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "statusUpdateDetails": { "trackingNumber": "TRACK005", "statusDateTime": "2020-08-07T19:56:45Z", "statusCode": "D1", "reasonCode": "NS", "statusLocationAddress": { "name": "ABC", "addressLine1": "1st street", "city": "Seattle", "countryCode": "US", "postalCode": "124", "stateOrRegion": "CA" } } } ] }

submitShipmentStatusUpdates requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
transactionIdGUID permettant d'identifier cette transaction. Cette valeur peut être utilisée avec API de transactions Vendor DF pour renvoyer le statut de cette transaction.
Type : chaîne
Oui

Exemple de réponse

{ "transactionId": "20190905010908-8a3b6901-ef20-412f-9270-21c021796605" }

Obtenez des bordereaux d'expédition

L'opération getPackingSlips renvoie une liste de bordereaux d'expédition pour les commandes qui répondent aux critères indiqués. Si vous avez besoin d'obtenir un bordereau d'expédition pour une commande spécifique, utilisez plutôt l'opération getPackingSlip.

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Vous devez utiliser cette API pour obtenir les bons de livraison des bons de commande que vous pouvez traiter. Amazon recommande aux fournisseurs de vérifier les commandes au moins une fois par heure pendant les heures ouvrables. En fonction de votre volume d'affaires, vous pouvez choisir de vérifier plus fréquemment. Vous pouvez obtenir jusqu'à 100 bons de livraison en un seul appel d'API. S'il y a plus de 100 bordereaux d'expédition, vous pouvez utiliser le nextToken valeur en tant que paramètre dans votre prochaine demande pour obtenir le prochain ensemble de bons de livraison.

Le schéma suivant illustre le workflow d'intégration lors de la récupération des bordereaux d'expédition :

The Direct Fulfillment integration workflow when retrieving packing slips.

getPackingSlips requis

Pour récupérer des bordereaux d'expédition, appelez l'opération getPackingSlips et transmettez les paramètres suivants :

NomDescriptionObligatoire
shipFromPartyIdLe vendeur warehouseId à partir duquel la commande sera exécutée. S'il n'est pas spécifié, le résultat contiendra les commandes pour tous les entrepôts.
Type : chaîne
Non
limitLa limite du nombre d'enregistrements renvoyés.
Type : entier
Non
createdAfterLes bordereaux d'expédition devenus disponibles après cette date et cette heure seront inclus dans le résultat. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
createdBeforeLes bordereaux d'expédition devenus disponibles avant cette date et cette heure seront inclus dans le résultat. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
sortOrderTrier par ordre croissant (ASC) ou descendant (DESC) par date de création du bordereau d'expédition.
Type : enum (SortOrder)
Non
nextTokenUtilisé pour la pagination lorsqu'il y a plus de commandes que la limite de taille de résultat spécifiée. La valeur du jeton est renvoyée lors de l'appel d'API précédent.
Type : chaîne
Non

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/packingSlips?createdBefore=2020-06-12T12:00:00-08:00&createdAfter=2020-06-12T00:00:00-08:00&limit=2&sortOrder=DESC

getPackingSlips requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
paginationSi plus de 100 commandes sont retournées, nextToken est renvoyé dans la réponse pour pagination.Non
packingSlipsComprend les détails des bordereaux d'expédition.
Tapez : < PackingSlip > gamme
Non

Exemple de réponse

{ "pagination": { "nextToken": "NEBxNEBxNEBxNR==" }, "packingSlips": [ { "purchaseOrderNumber": "UvgABdBjQ", "content": "base64 encoded string", "contentType": "application/pdf" }, { "purchaseOrderNumber": "VvgCDdBjR", "content": "base64 encoded string", "contentType": "application/pdf" } ] }

Obtenez un bordereau d'expédition

Le getPackingSlip L'opération renvoie le bordereau d'expédition correspondant au numéro de bon de commande que vous avez spécifié. La réponse inclut une chaîne codée en base64 du bordereau d'expédition. Le type de contenu sera toujours « application/pdf ».

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Le schéma suivant illustre le workflow d'intégration lors de la récupération d'un bordereau d'expédition :

The Direct Fulfillment integration workflow when retrieving a packing slip.

Exigences commerciales

  • Les bordereaux d'expédition sont-ils requis pour toutes les commandes ?

Un bordereau d'expédition n'est requis que s'il s'agit d'une commande interentreprises (B2B) ou d'une commande cadeau. Lorsque la valeur de isPslipRequired Si le champ est vrai, un bordereau d'expédition est requis pour la commande.

getPackingSlip requis

Pour récupérer un bordereau d'expédition, appelez l'opération getPackingSlip et transmettez le paramètre suivant :

NomDescriptionObligatoire
purchaseOrderNumberLe purchaseOrderNumber pour le bordereau d'expédition que vous souhaitez.
Type : chaîne
Oui

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com /vendor/directFulfillment/shipping/2021-12-28/packingSlips/UkP3YkKDr

getPackingSlip requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
purchaseOrderNumberNuméro de bon de commande de l'envoi.
Type : chaîne
Oui
contentChaîne codée en Base64 du bordereau d'expédition PDF.
Type : chaîne
Oui
contentTypeFormat du fichier (PDF, JPEG, par exemple).
Type : enum (ContentType)
Non

Exemple de réponse

{ "purchaseOrderNumber": "UvgABdBjQ", "content": "base64 encoded string", "contentType": "application/pdf" }

Obtenir les factures des clients (Inde uniquement)

Le getCustomerInvoices L'opération renvoie les factures des clients pour tous les bons de commande qui répondent aux critères de filtre que vous spécifiez.

Important

Le getCustomerInvoices l'opération est obligatoire sur le marché indien. Il n'est disponible sur aucun autre site de vente.

Amazon encourage les fournisseurs à vérifier les factures des clients au moins une fois par heure pendant les heures ouvrables. En fonction de votre volume d'affaires, vous pouvez choisir de vérifier plus fréquemment. Vous pouvez obtenir jusqu'à 100 factures clients en un seul appel d'API. S'il y a plus de 100 factures clients, vous pouvez utiliser le nextToken valeur en tant que paramètre dans la prochaine demande pour obtenir le prochain ensemble de factures clients.

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Le schéma suivant illustre le workflow d'intégration lors de la récupération des factures clients :

The Direct Fulfillment integration workflow when retrieving customer invoices.

getCustomerInvoices requis

Pour renvoyer les factures clients, appelez l'opération getCustomerInvoices et transmettez les paramètres suivants :

NomDescriptionObligatoire
shipFromPartyIdLe vendeur warehouseId à partir duquel la commande sera exécutée. S'il n'est pas spécifié, le résultat contiendra les commandes pour tous les entrepôts.
Type : chaîne
Non
limitLa limite du nombre d'enregistrements renvoyés.
Type : entier
Non
createdAfterLes commandes devenues disponibles après cette date et cette heure seront incluses dans le résultat. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
createdBeforeLes commandes qui sont devenues disponibles avant cette date et cette heure seront incluses dans le résultat. Doit être dedans NORME ISO 8601 format date/heure.
Type : chaîne (date-heure)
Oui
sortOrderTrier par ordre croissant (ASC) ou descendant (DESC) à la date de création de la commande.
Type : enum (SortOrder)
Non
nextTokenUtilisé pour la pagination lorsqu'il y a plus d'étiquettes d'expédition que la limite de taille de résultat spécifiée. La valeur du jeton est renvoyée lors de l'appel d'API précédent.
Type : chaîne
Non

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/customerInvoices?limit=2&createdAfter=2020-02-15T14:00:00-08:00&createdBefore=2020-02-20T00:00:00-08:00&sortOrder=DESC

getCustomerInvoices requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
paginationSi plus de 100 factures clients sont retournées, nextToken est renvoyé dans la réponse pour pagination.
Tapez : Pagination
Non
customerInvoicesListe des factures des clients.
Tapez : < CustomerInvoice > gamme
Non

Exemple de réponse

{ "pagination": { "nextToken": "MDAwMDAwMDAwMQ==" }, "customerInvoices": [ { "purchaseOrderNumber": "PO98676856", "content": "base 64 content goes here" } ] }

Obtenir une facture client (Inde uniquement)

L'opération getCustomerInvoice renvoie des informations sur la facture client que vous avez indiquée à l'aide du numéro de commande. La réponse comprend des informations complètes sur la facture client pour la commande.

📘

Remarque

Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint pour l'autorisation. Pour plus d'informations, consultez le Guide des cas d'utilisation de l'API Jetons.

Vous pouvez également utiliser cette API pour obtenir des informations sur n'importe quelle facture client (dans une période de 7 jours à partir de la période glissante des 6 derniers mois, après que le fournisseur a mis en service l'API).

Le schéma suivant illustre le workflow d'intégration pour le retour d'une facture client :

The Direct Fulfillment integration workflow for retrieving a customer invoice.

Exigences commerciales

Quels types de factures clients sont téléchargeables ?

La facture client est un fichier PDF encodé au format de chaîne binary64. Toutes les commandes d'achat pour la région IN doivent faire l'objet d'une facture client qui doit être envoyée avec l'expédition.

getCustomerInvoice requis

Pour renvoyer une facture client, appelez l'opération getCustomerInvoice et transmettez le paramètre suivant :

NomDescriptionObligatoire
purchaseOrderNumberNuméro de bon de commande de l'envoi pour lequel la facture doit être renvoyée.
Type : chaîne
Oui

Exemple de demande

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/shippingLabels/2JK3S9VC

getCustomerInvoice requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
purchaseOrderNumberLe numéro de bon de commande pour cette commande.
Type : chaîne
Oui
contentLa facture client codée en Base64.
Type : chaîne
Oui

Exemple de réponse

{ "purchaseOrderNumber": "PO98676856", "content": "base 64 encoded string" }

Création d'une étiquette de contenant

Utilisez le createContainerLabel opération permettant de demander et de recevoir une étiquette de palette auprès d'Amazon pour chaque chargement palettisé. La réponse inclut une étiquette de palette imprimable 4X6 contenant le type d'étiquette et l'identifiant de la palette.

Exigences commerciales

Le createContainerLabel L'opération ne prend pas en charge plusieurs demandes d'étiquettes de palette en un seul appel d'API. Si vous souhaitez récupérer des étiquettes de palettes pour plusieurs palettes, vous devez en envoyer plusieurs createContainerLabel demandes en parallèle.

createContainerLabel requis

Pour demander une étiquette d'expédition, appelez l'opérationcreateContainerLabel et transmettez le paramètre suivant :

NomDescriptionObligatoire
sellingPartyL'identifiant du vendeur ou du fournisseur. Tapez : PartyIdentificationOui
shipFromPartyLe code d'entrepôt du fournisseur. Tapez : PartyIdentificationOui
vendorContainerIdL'identifiant unique du fournisseur pour le conteneur. Tapez : VendorContainerIdOui
carrierIdLe support de l'étiquette du conteneur (palette). Tapez : CarrierIdOui
packagesTableau d'objets de colis qui associe les colis d'expédition à un conteneur. Tapez : PackagesOui

Exemple de demande

POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/shipping/2021-12-28/containerLabel { "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "vendorContainerId": "000011189212211212", "carrierId": "SWA", "packages": [ { "packageTrackingNumber": "TBA134335066000" }, { "packageTrackingNumber": "TBA214335089000" }, { "packageTrackingNumber": "TBA311235066000" } ] }

createContainerLabel requis

Une réponse réussie comprend les éléments suivants :

NomDescriptionObligatoire
containerTrackingNumberL'identifiant de suivi du conteneur (palette) fourni par le transporteur. Type : chaîneOui
contentLe contenu de l'étiquette du conteneur est codé dans une chaîne Base64. Type : chaîneOui
formatFormat de l'étiquette du contenant. Tapez : ContainerLabelFormatOui

Exemple de réponse

{ "containerLabel": { "containerTrackingNumber": "TBA134335066000", "content": "Base64 encoded string", "format": "PNG" } }

Cette page vous a-t-elle été utile ?