Guide de l'environnement de test dynamique Expédition directe par le fournisseur
Use the Selling Partner API dynamic sandbox to test vendor direct fulfillment operations.
Vue d'ensemble
L'environnement de test dynamique de l'API partenaire de vente vous permet de tester vos applications sans affecter les données de production ni déclencher d'événements réels. L'environnement de test dynamique achemine les demandes vers un backend de test qui peut renvoyer des réponses réalistes en fonction des paramètres de la demande. En envoyant des demandes aux points de terminaison de l'environnement de test au lieu des points de terminaison de production, vous pouvez tester des workflows standard sans affecter les données de production.
This guide introduces the available dynamic sandbox operations for the Vendor Direct Fulfillment APIs. For more information about the Selling Partner API sandbox environments, refer to Selling Partner API sandbox.
Prise en charge de l'environnement de test dynamique dans les API Expédition directe par le fournisseur
The following Vendor Direct Fulfillment API sections support the dynamic sandbox:
-
La version 2021-12-28 de l'API Commandes Expédition directe par le fournisseur prend en charge toutes les opérations de production V1 équivalentes.
Remarque
Production calls for Vendor Direct Fulfillment Orders API include additional response parameters beyond
scenarioId
andorderId
sandbox parameters. You must update your request to specify these additional parameters prior to making production calls. -
La version 2021-12-28 de l'API Expédition directe par le fournisseur prend en charge toutes les opérations de production V1 équivalentes.
Réponses statiques
The dynamic sandbox backend service does not yet return dynamic responses for all Vendor Direct Fulfillment Shipping operations. The service returns static responses for the
submitShipmentStatusUpdates
,getCustomerInvoices
,getCustomerInvoice
,getPackageSlips
, andgetPackageSlip
operations. Any successful call to one of these operations always returns the same static response for that operation. -
La version 2021-12-28 de l'API Transactions d'expédition directe par le fournisseur prend en charge toutes les opérations de production V1 équivalentes.
Utilisez la version 2021-10-28 de l'API Expédition directe par le fournisseur SandboxData pour générer des commandes fictives à utiliser lors des tests avec ces API.
Test à l'aide des API d'Expédition directe prises en charge
Follow these high-level steps to test using the supported Direct Fulfillment APIs:
-
Générer des commandes fictives pour les tests. Les commandes que vous générez sont conçues pour s'adapter aux scénarios de tests commerciaux spécifiques décrits sous Scénarios.
-
Use the generated orders to perform business test scenarios with the supported Vendor Direct Fulfillment APIs and operations.
Important
You must direct your sandbox requests to the Selling Partner API sandbox endpoints. If you are using a SP-API sandbox environment to test a call that requires a Restricted Data Token (RDT), you must get the RDT from the production environment and pass it to your sandbox call. For more information about restricted operations for which you need an RDT, refer to the Token API Use case guide.
Scénarios
Les scénarios commerciaux suivants sont pris en charge dans les commandes générées à des fins de test. Il s'agit des seuls cas d'utilisation pris en charge par les commandes de test, et ils sont principalement axés sur la génération d'étiquettes pour l'expédition. Sauf indication contraire, les scénarios relatifs aux étiquettes renvoient une étiquette fixe, normalisée et fictive.
- LIFECYCLE: Use these test orders to simulate order lifecycle testing. The response to an operation that employs these orders can vary. For example, a ship label request made for a multi-box order results in a multiple label response. Similarly, a ship label request made with a package dimension change can result in a ship method change in the response.
- LABEL_CASE-SHIP_METHOD_UNASSIGNABLE: Use these test orders to simulate a ship method unassignable error, which occurs when Amazon is not able to assign a ship method for an order.
- LABEL_CASE-INCONSISTENT_METHODS: Use these test orders to simulate an "inconsistent ship method" error, which occurs when Amazon is not able to assign the same ship method to all of the boxes for a multi-box or multi-package order.
- LABEL_CASE-CARRIER_INTERNAL_FAILURE: Use these test orders to simulate a "carrier internal failure" error, which occurs when the carrier throws an error during label generation.
- LABEL_CASE-SYS_INTERNAL_FAILURE: Use these test orders to simulate a "system internal failure" error, which occurs when an unexpected failure happens in Amazon's systems.
- LABEL_CASE-DEST_ADDRESS_WRONG: Use these test orders to simulate a "destination address is wrong" error, which happens when a customer address falls outside of a carrier's service area.
- LABEL_CASE-SERVICE_NOT_AVAILABLE: Use these test cases to simulate a "service not available" error, which occurs when the selected carrier service is not available or applicable.
- SHIP_CONFIRM_CASE-SHIP_METHOD_UNASSIGNABLE: Use these test orders to simulate a ship method unassignable error, which occurs when Amazon is not able to assign a ship method for an order. This applies to vendor own label shipments.
- SHIP_CONFIRM_CASE-SYS_INTERNAL_FAILURE: Use these test orders to simulate a "system internal failure" error, which occurs when an unexpected failure happens in Amazon's systems.
ASIN des commandes de test
Les commandes fictives générées utilisent l'ensemble d'ASIN (numéros d'identification standard Amazon) de test et les caractéristiques de colis associées présentées dans le tableau suivant.
Type de colis | ASIN | Caractéristiques du colis |
---|---|---|
petit colis | TESTASIN001 | Dimensions de l'emballage (H x l x L) : 1 po x 1 po x 2 po Poids : 1 lb |
petit colis | TESTASIN004 | Dimensions de l'emballage (H x l x L) : 5 po x 2 po x 8 po Poids : 3 lb |
très encombrant | TESTASIN002 | Dimensions de l'emballage (H x l x L) : 50 po x 50 po x 30 po Poids : 100 lb |
plusieurs pièces | TESTASIN003 | Dimensions de l'emballage 1 (H x l x L) : 36 po x 37 po x 24 po Poids : 7 lb Dimensions de l'emballage 2 (H x l x L) : 10 po x 30 po x 40 po Poids : 3 lb |
Tutorial - Generate fictional orders for testing
Use this tutorial to generate test orders for the preceding scenarios to test the Vendor Direct Fulfillment APIs.
Follow these steps to generate test orders and related label scenarios:
-
Appelez l'opération
generateOrderScenarios
, en spécifiant les identificateurs de parties requis.Amazon reçoit la demande de données de test. Si l'opération est réussie, la réponse comprend une valeur
transactionId
. Après avoir reçu une réponse réussie, attendez environ 30 à 40 minutes avant de poursuivre. -
Periodically call the
getOrderScenarios
operation, passing thetransactionId
value from the previous step, until you receive a successful response and thestatus
value in the response indicates that processing has ended. Processing ends when the status equalsSUCCESS
orFAILURE
. At this point the response includes either the test orders if the status isSUCCESS
, or an error array with details about the errors if the status isFAILURE
.
Conditions préalables
Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :
- Autorisation du partenaire de vente pour lequel vous effectuez des appels.
- Approval for the Direct-to-Consumer Shipping role in your developer profile.
- The Direct-to-Consumer Shipping role selected in the App registration page for your application.
Step 1: Request fictional test orders
Demandez les commandes de test en fournissant les identificateurs de parties requis. Pour demander la génération de commandes de test, appelez l'opération generateOrderScenarios
en indiquant les paramètres suivants :
Paramètres de la demande
Corps de la demande
Paramètre | Description | Obligatoire |
---|---|---|
orders |
Un tableau de commandes de test telles qu'indiquées par les identifiants des parties. Type : < OrderScenarioRequest > array |
Oui |
Exemple de demande
POST http://sandbox.sellingpartnerapi-na.amazon.com//vendor/directFulfillment/
sandbox/2021-10-28/orders
{
"orders": [
{
"sellingParty": {
"partyId": "NIQQM"
},
"shipFromParty": {
"partyId": "CWPQ"
}
}
]
}
Réponse
Une réponse réussie comprend les éléments suivants :
Paramètre | Description | Obligatoire |
---|---|---|
transactionId |
Un GUID attribué par Amazon pour identifier cette transaction. Type : chaîne |
Oui |
Exemple de réponse
{
"transactionId": "0343fcb3-fd7e-455e-968f-fb4ff7dd4081-20211014222021"
}
Après avoir reçu une réponse réussie avec le transactionId, attendez environ 30 à 40 minutes avant de passer à l'Étape 2.
Step 2: Return the status and the requested fictional orders if ready
To retrieve the status of the generateOrderScenarios
transaction, and the requested test order data if available, call the getOrderScenarios
operation and pass the required transactionId
parameter. You must call this operation periodically until you receive either a successful response that contains the generated test orders, or a failure response that contains an error array with details about the errors.
After you receive the test orders, use them to perform dynamic ship label testing with the supported Vendor Direct Fulfillment APIs and operations.
Paramètres de la demande
Paramètre de chemin d'accès
Paramètre | Description | Obligatoire |
---|---|---|
transactionId |
L'identifiant de transaction renvoyé dans la réponse à l'opération generateOrderScenarios. | Oui |
Exemple de demande
GET http://sandbox.sellingpartnerapi-na.amazon.com/vendor/directFulfillment/
sandbox/2021-10-28/transactions/0343fcb3-fd7e-455e-968f-fb4ff7dd4081-20211014222021
Réponse
Une réponse réussie comprend les éléments suivants :
Paramètre | Description | Obligatoire |
---|---|---|
transactionStatus |
Les détails de la transaction, y compris le statut. Si la transaction est réussie, elle inclut également les données de la commande de test demandée. Type : Transaction |
Oui |
Exemple de réponse
Réussite (code de statut HTTP 200) : la réponse contient les données de test de scénario générées avec les numéros de commande.
{
"transactionStatus":
{
"transactionId": "ff35f39e-e69f-499e-903e-6c4f6c32609f-20210827003315",
"status": "Success",
"testCaseData":
{
"scenarios": [
{
"scenarioId": "LIFECYCLE",
"orders": [
{
"orderId": "T1111N"
},
{
"orderId": "T1111P"
}
]
},
{
"scenarioId": "LABEL_CASE-SHIP_METHOD_UNASSIGNABLE",
"orders": [
{
"orderId": "T5555N"
},
{
"orderId": "T5555P"
}
]
},
{
"scenarioId": "LABEL_CASE-INCONSISTENT_METHODS",
"orders": [
{
"orderId": "T2222N"
},
{
"orderId": "T2222P"
}
]
},
{
"scenarioId": "LABEL_CASE-CARRIER_INTERNAL_FAILURE",
"orders": [
{
"orderId": "T3333N"
},
{
"orderId": "T3333P"
}
]
},
{
"scenarioId": "LABEL_CASE-SYS_INTERNAL_FAILURE",
"orders": [
{
"orderId": "T4444N"
},
{
"orderId": "T4444P"
}
]
},
{
"scenarioId": "SHIP_CONFIRM_CASE-SHIP_METHOD_UNASSIGNABLE",
"orders": [
{
"orderId": "buw38"
}
]
},
{
"scenarioId": "SHIP_CONFIRM_CASE-SYS_INTERNAL_FAILURE",
"orders": [
{
"orderId": "qqw52"
}
]
},
{
"scenarioId": "LABEL_CASE-DEST_ADDRESS_WRONG",
"orders": [
{
"orderId": "T6666N"
},
{
"orderId": "T6666P"
}
]
},
{
"scenarioId": "LABEL_CASE-SERVICE_NOT_AVAILABLE",
"orders": [
{
"orderId": "T7777N"
},
{
"orderId": "T7777P"
}
]
}
]
}
}
}
Exemple de réponse
Traitement (code de statut HTTP 404) : la demande est en cours de traitement et la génération des données de test n'est pas encore terminée.
{
"errors": [
{
"code": "ResourceNotFound",
"message": "Cannot find resource by the given URI"
}
]
}
Exemple de réponse
Failure (HTTP status code 200) - The test data failed to generate. Refer to the errors array for more information.
{
"transactionStatus":
{
"transactionId": "ee8363d3-d061-4b17-b218-d3c80e014c2f-20220105231359",
"status": "FAILED",
"testCaseData":
{
"scenarios": [
{
"scenarioId": "",
"orders": []
}
]
},
"errors": [
{
"code": "INVALID_WAREHOUSE_CODE",
"details": "Invalid Warehouse Code. Retry request with correct Warehouse code"
}
]
}
}
Updated 20 days ago