Guide des cas d'utilisation de l'API Statut des transactions Expédition directe par le fournisseur v2021-23-28
Accès programmatique à l'état des transactions d'un fournisseur de distribution directe (DF).
Version de l'API : 28/12/2021
Qu'est-ce que l'API Statut des transactions Expédition directe ?
Les fournisseurs peuvent utiliser cette API pour vérifier le statut de leurs transactions POST.
L'opération suivante est incluse :
Opération | Méthode HTTP | Path | Description |
---|---|---|---|
getTransactionStatus | GET | /vendor/directFulfillment/transactions/2021-12-28/transactions/{transactionId} | Renvoie le statut de la transaction indiqué par la valeur transactionId . |
Obtenir le statut de la transaction
Les fournisseurs peuvent utiliser l'opération getTransactionStatus
pour vérifier le statut d'une transaction POST. Lorsqu'une demande est publiée sur Amazon à l'aide de certaines opérations POST dans les API du fournisseur, telles que submitAcknowledgement
ou submitShipmentConfirmations
, par exemple, une réponse réussie contiendra alors un identifiant de transaction qui identifiera la transaction de manière unique. Amazon traitera la transaction de manière asynchrone et la réponse finale sera disponible via l'opération getTransactionStatus
.
Amazon propose le statut final traité pour les transactions POST telles que submitAcknowledgement
et submitShipmentConfirmations
via cette API. Nous recommandons vivement aux fournisseurs de vérifier le statut à l'aide de cette API pour s'assurer que les transactions ont été traitées correctement. En cas d'erreur, vous recevrez les détails de l'erreur pour vous permettre de corriger la transaction et la soumettre à nouveau.
Statut de la transaction | Définition |
---|---|
Processing | La transaction d'API reçue par Amazon est en cours de traitement. Le traitement n'est pas encore terminé. Vérifiez l'Accord de niveau de service pour chaque opération d'API pendant la durée prévue pour terminer le traitement. |
Success | La transaction d'API a été traitée avec succès par Amazon. |
Failure | La transaction d'API a échoué pendant le traitement. Les détails de l'erreur seront fournis dans le corps de réponse getTransactionStatus . |
Le statut de la transaction est pris en charge pour les API Expédition directe suivantes :
Description | Section API | Opération |
---|---|---|
Accuser réception de la commande | Commandes à expédition directe | submitAcknowledgement |
Soumettre les confirmations d'expédition | Expédition directe | submitShipmentConfirmations |
Demande d'étiquette d'expédition | Expédition directe | submitShippingLabelRequest |
Mises à jour du statut d’expédition | Expédition directe | submitShipmentStatusUpdates |
Mise à jour du stock | Stock d'expédition directe | submitInventoryUpdate |
Facture | Paiements d'expédition directe | submitInvoice |
If the transaction status is Processing
and not updated to Failure
or Success
after 15 minutes, then the transaction has not successfully completed. The Success
status will appear if the transaction is successful and an error code will be provided for Failure
.
You cannot use this API for invoice messages as they are not supported and the status will be always be Processing
. For any payment related queries, go to Vendor Central, select Contact Us, and select the relevant queue if the status is not updated in the vendor central portal within a day. Please ensure the data submitted is correctly formatted before opening the case.
For shipping label requests, if the transaction is failed with a terminal error reason code such as Internal server error
, go to Vendor Central and select Contact Us to get the cause investigated. This generally happens due to operational constraints. For data related failures, you can correct the data and resubmit the payload to get the order fulfilled.
Demande getTransactionStatus
Pour retourner le statut de la transaction, appelez l'opération getTransactionStatus
et transmettez le paramètre suivant :
Paramètre de chemin d'accès :
Nom | Description | Obligatoire |
---|---|---|
transactionId |
Précédemment renvoyé dans la réponse à la requête POST d'une transaction spécifique. Type : chaîne |
Oui |
Exemple de demande :
GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/transactions/2021-12-28/transactions/20190904190535-eef8cad8-418e-4ed3-ac72-789e2ee6214a
Réponse getTransactionStatus
Une réponse réussie comprend les éléments suivants :
Nom | Description | Obligatoire |
---|---|---|
transactionId |
L'identifiant unique envoyé dans le champ transactionId en réponse à la demande POST d'une transaction spécifique. Type : chaîne |
Oui |
status |
Statut de traitement actuel de la transaction. enum ( Statut ) |
Oui |
errors |
Code d'erreur et message relatifs à l'échec de la transaction. Disponible uniquement lorsque le statut de la transaction est “Échec”. Type : ErrorList |
Non |
Exemple de réponse :
{
"transactionId": "20190918190535-eef8cad8-418e-456f-ac72-789e2ee6813c",
"status": "Failure",
"errors": [
{
"code": "INVALID_ORDER_ID",
"message": "Invalid order ID.",
"details": "Please verify that the order ID is correct."
}
]
}
Liste des erreurs
The following table contains a list of all possible error codes for each message type. You should configure these error codes in your system and design a failure handling mechanism. Each error code has a message that explains the error and details that suggest how to resolve the error before retrying the transaction.
Code | Message | Details | Message Type |
---|---|---|---|
INVALID_ORDER_ID | Numéro de commande non valide. | Vérifiez que le numéro de commande est correct. | Reconnaissance |
ACK_ALREADY_PROCESSED | Order confirmation already received for {orderId } | Aucune autre action n'est requise. | Reconnaissance |
INTERNAL_SERVER_ERROR | Erreur interne. Réessayez, s'il vous plaît. | Reconnaissance | |
SHIP_METHOD_NOT_SUPPORTED | {ship_method } non pris en charge par cette chaîne | Veuillez vous procurer une étiquette pour {ship_method }, en utilisant votre configuration existante. | ShipLabel |
SHIP_METHOD_CHANGED | Le mode d'expédition pour ce bon de commande est passé de {old_ship_method } pour {ship_method }. | Veuillez vous procurer l'étiquette pour {ship_method }, en utilisant votre configuration existante. | ShipLabel |
INVALID_DIMENSION_UNIT | Demande rejetée : numéro de commande {shipmentId } possède des unités de mesure non valides pour les dimensions du ou des colis. | Veuillez vous assurer que les dimensions du colis sont en pouces ou en cm | ShipLabel |
INVALID_PACKAGE_ID | Total {count } Non valide ou dupliqué VendorPackageIds . | Please fix the Invalid or Duplicate VendorPackageIds and try again. | ShipLabel |
INVALID_ORDER_ID_WAREHOUSE_COMBINATION | Étiquette d'expédition rejetée : numéro de commande {shipmentId } n'appartient pas à l'entrepôt {warehouseCode }. | Veuillez envoyer un numéro de commande et un code d'entrepôt valides | ShipLabel |
INVALID_ORDER_STATUS | Demande rejetée : Commande {shipmentId } a été annulé. | La commande ne peut pas être expédiée car elle est en statut annulé, veuillez ne pas réessayer d'imprimer les étiquettes. Si vous pensez que le statut de cette commande est erroné, veuillez nous contacter. | ShipLabel |
INVALID_WAREHOUSE_CODE | Étiquette d'expédition rejetée : code d'entrepôt non valide {warehouseCode }. | Assurez-vous d'envoyer un code d'entrepôt valide | ShipLabel |
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. | ShipLabel |
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. | ShipLabel |
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. | ShipLabel |
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. | ShipLabel |
NO_SHIP_METHOD_ASSIGNABLE | Demande rejetée : pour le moment, aucune méthode d'expédition ne peut être attribuée au numéro de commande {shipmentId }. | Impossible d'attribuer un mode d'expédition. Vérifiez que les dimensions et le poids de votre colis sont exacts et imprimez l'étiquette à une date d'expédition plus proche de la date d'expédition prévue. | ShipLabel |
INCONSISTENT_SHIP_METHODS | Demande rejetée : différentes méthodes d'expédition attribuées à différents colis. | Essayez d'expédier tous les articles dans une seule boîte. Si ce n'est pas possible, veuillez nous contacter. | ShipLabel |
INTERNAL_NON_RETRYABLE_FAILURE | Demande rejetée : nous avons rencontré un problème lors du traitement de votre demande. | Merci de nous contacter. | ShipLabel |
INTERNAL_RETRYABLE_FAILURE | Demande rejetée : nous avons rencontré un problème lors du traitement de votre demande. | Veuillez réessayer dans quelques minutes. Veuillez réessayer. Et si le problème persiste, veuillez nous contacter. | ShipLabel |
EMPTY_PACKAGES | Alerte ASN ! Numéro de commande {shipmentId } contient des colis vides. | Pour les prochains envois, assurez-vous que votre commande contient un ou plusieurs colis. | Expédition |
EMPTY_ITEMS | Alerte ASN ! Numéro de commande {shipmentId } contient des objets vides. | Pour les prochains envois, assurez-vous d'ajouter des articles à votre ASN. | Expédition |
INTERNAL_FAILURE | Erreur interne. Réessayez, s'il vous plaît. | Erreur interne. Réessayez, s'il vous plaît. | Expédition |
NO_SHIP_METHOD | ASN rejeté ! Non shipmethod trouvé pour le (s) colis {packageIds }. | Veuillez ajouter votre shipmethod et réessayez. | Expédition |
SHIPMENT_UNSHIPPABLE | ASN rejeté : numéro de commande {shipmentId } n'a pas d'identifiant de suivi ou n'a pas traité les documents requis (tels que l'étiquette et le bordereau). | Assurez-vous que tous les documents requis (tels que l'étiquette et le bordereau) sont traités et qu'un numéro de suivi valide est fourni. | Expédition |
SHIPMENT_IMMUTABLE | ASN rejeté ! Le statut de l'expédition ne permet pas de mettre à jour l'expédition. | Aucune autre action n'est requise. | Expédition |
NOT_ALL_ITEMS_PRESENT | ASN rejeté : numéro de commande {shipmentId } a expédié une quantité dans des colis qui ne correspondent pas à la quantité commandée, et certains articles peuvent ne pas avoir de colis attribué. | Veuillez ajouter des articles aux colis dont la quantité expédiée est correcte. Pour les articles : {fnSku }, la quantité attendue est {expectedQuantity } mais la quantité fournie est {providedQuantity }. | Expédition |
NO_ITEMS_PRESENT | ASN rejeté : numéro de commande {shipmentId } contient des articles qui ne sont affectés à aucun colis. | Veuillez ajouter des articles aux colis. | Expédition |
DIMENSION_OR_WEIGHT_NOT_VALID | ASN rejeté : numéro de commande {shipmentId } a un ou plusieurs colis dont le poids est négatif ou nul. | ASN rejeté : numéro de commande {shipmentId } a un ou plusieurs colis dont le poids est négatif ou nul. | Expédition |
SHIP_METHOD_UNASSIGNABLE | ASN rejeté : numéro de commande {shipmentId } possède une méthode d'expédition qui ne peut pas être traitée pour le ou les colis. | Impossible de traiter la méthode d'expédition. Veuillez vérifier les dimensions, le poids et le mode d'expédition de votre colis. | Expédition |
INVALID_MESSAGE_PAYLOAD | Champ de saisie non valide {fieldName }. | Expédition | |
VOC_NO_CARRIER_DETAILS | ASN rejeté ! Pour OrderID : {shipmentId }, Les détails du transporteur ne sont pas présents pour le colis {packageId }. | Ajoutez un transporteur ou un code SCAC et réessayez. | Expédition |
WEIGHT_NOT_PRESENT_FOR_PACKAGE | L'ASN a été rejetée ! Pour commander {shipmentId }. Aucun poids du colis n'est présent pour le colis {packageId }. | Ajoutez du poids et réessayez. | Expédition |
INVALID_TRACKING_ID | ASN rejeté : numéro de suivi non valide pour le colis {packageId }. | Varie en fonction du transporteur et pour les vendeurs d'étiquettes d'expédition Amazon, le transporteur doit correspondre à celui figurant sur l'étiquette d'expédition | Expédition |
INVALID_WAREHOUSE_CODE | ASN rejeté : code d'entrepôt non valide {warehouseCode }. | Vérifiez que le code de l'entrepôt est correct. | Expédition |
ASN_ALREADY_PROCESSED | ASN déjà reçu pour {shipmentId }. | Aucune action n'est requise, l'ASN est déjà traité. | Expédition |
INVALID_ORDER_ID_WAREHOUSE | ASN rejeté : ID de commande {orderId } n'appartient pas à l'entrepôt {warehouseCode }. | Vérifiez que le code d'entrepôt et le numéro de commande sont corrects. | Expédition |
INTERNAL_SERVER_ERROR | Erreur interne. Réessayez, s'il vous plaît. | Erreur interne. Réessayez, s'il vous plaît. | Expédition |
Updated 23 days ago