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 and orderId 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, and getPackageSlip 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:

  1. 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.

  2. 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:

  1. 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.

  2. Periodically call the getOrderScenarios operation, passing the transactionId value from the previous step, until you receive a successful response and the status value in the response indicates that processing has ended. Processing ends when the status equals SUCCESS or FAILURE. At this point the response includes either the test orders if the status is SUCCESS, or an error array with details about the errors if the status is FAILURE.

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" } ] } }

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