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

The Selling Partner API for Direct Fulfillment Orders provides programmatic access to a direct fulfillment vendor's order data.

Version de l'API : 28/12/2021

What is the Direct Fulfillment Orders API?

Using the Direct Fulfillment Orders API, vendors can receive purchase orders and send order acknowledgements.

Les opérations suivantes sont disponibles :

Opération Méthode HTTP Path Description
getOrders GET /vendor/directFulfillment/orders/2021-12-28/purchaseOrders Returns a list of purchase orders created during the time frame that you specify. You define the time frame using the createdAfter and createdBefore parameters. You must use both parameters. You can choose to get only the purchase order numbers by setting the includeDetails parameter to false. In that case, the operation returns a list of purchase order numbers. You can then call the getOrder operation to return the details of a specific order.

Remarque : Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint (RDT) pour l'autorisation. Pour plus d'informations, consultez le Guide de cas d'utilisation de l'API Tokens. La récupération des données est possible pendant une période maximale de six mois.

getOrder GET /vendor/directFulfillment/orders/2021-12-28/purchaseOrders /{purchaseOrderNumber} Returns purchase order information for the purchaseOrderNumber that you specify.

Remarque : Il s'agit d'une opération restreinte qui nécessite donc un jeton de données restreint (RDT) pour l'autorisation. Pour plus d'informations, consultez le Guide de cas d'utilisation de l'API Tokens. La récupération des données est possible pendant une période maximale de six mois.

submitAcknowledgement POST /vendor/directFulfillment/orders/2021-12-28/acknowledgements Submits acknowledgements for one or more purchase orders.

You can use the getOrders operation to access orders created during a time frame that you specify (time range of seven days from a rolling window of the last six months, after the vendor went live on the API). You can also get detailed order information for specific orders using the getOrder operation. You can then acknowledge the order using the submitAcknowledgement operation.

📘

Retrieving only order numbers

To retrieve order numbers without complete order details, use the getOrders operation with includeDetails=false as a query parameter. The default value for this parameter is true, so if you don't include this query parameter, you will get the full details of the purchase orders.

The following diagram shows the workflow using the Direct Fulfillment Orders APIs:

The Direct Fulfillment orders workflow.

Direct Fulfillment customer data transmission

Vendors do not receive customer data such as name, address, or phone number for certain orders available through the getOrder and getOrders operations. Direct Fulfillment shares customer information directly on Amazon provided shipping labels. This applies to all shipments fulfilled by Amazon label only vendors and ATS-Small Parcel.

Customer name, address, and phone number are available if your operations require you to generate a label using a Direct Fulfillment Amazon carrier account. The information is also available to you if you use a vendor own label (VOL) or vendor own carrier (VOC) shipping label to fulfill the Direct Fulfillment order. If you generate your own AMXL shipping labels, you can access customer data.

Definitions

  • Amazon label only vendor: Vendors who exclusively use Amazon provided shipping labels to fulfill all Direct Fulfillment orders.
  • Amazon Transportation Services (ATS-Small Parcel): A carrier operated by Amazon.

The details for each operation are in the following sections.

getOrders

The getOrders operation returns a list of order references (purchase order numbers) or complete order details for all orders which meet the criteria specified. If you only request order numbers, you can use each order number later with the getOrder operation to get order details for a specific order.

📘

Jeton de données restreint pour autorisation

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.

You should use this API to get purchase orders available to you for fulfillment. Amazon recommends that vendors check for orders at least once per hour during business hours. Depending on your business volume, you can choose to check more frequently. You can return up to 100 orders in one API call. If there are more than 100 orders you can use the nextToken value in the response to get the next set of orders.

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

The Direct Fulfillment integration workflow when retrieving purchase orders.

Demande getOrders

To return a list of purchase orders, call the getOrders operation and pass the following parameters:

Paramètres de requête :

+
Nom Description Obligatoire
shipFromPartyId The vendor warehouse identifier for the fulfillment warehouse. If not specified, the result will contain orders for all warehouses.

Type : chaîne

Non
status Returns only the purchase orders that match the specified status. If not specified, the result will contain orders that match any status.

Type: enum ( Status )

Non
limitThe limit to the number of purchase orders returned.

Minimum : 1

Maximum : 100

Type: integer (int64)

Non
createdAfter Purchase orders that became available after this date and time will be included in the result. Must be in ISO-8601 date/time format.

Type : chaîne (date-heure)

Oui
createdBefore Purchase orders that became available before this date and time will be included in the result. Must be in ISO-8601 date/time format.

Type : chaîne (date-heure)

Oui
sortOrder Sort the list in ascending or descending order by order creation date.

Type : enum ( Ordre de tri )

Non
nextToken Utilisé pour la pagination lorsque le nombre de commandes est supérieur à la limite de taille de résultat spécifiée. La valeur du jeton est renvoyée lors de l'appel API précédent.

Type : chaîne

Non
includeDetails When true, returns the complete purchase order details. Otherwise, only purchase order numbers are returned.

Type : chaîne (booléenne)

Par défaut : true

Non

Exemple de demande :

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

getOrders Response

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

Nom Description Obligatoire
pagination Si plus de 100 commandes sont retournées, nextToken est renvoyé dans la réponse pour pagination.

Type : chaîne

Non
orders Includes details for the purchase order.

Type: < Order > array

Non

Exemple de réponse :

{ "pagination": { "nextToken": "MDAwMDAwMDAwMQ==" }, "orders": [ { "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", "orderDate": "2020-02-20T13:51:00Z", "shipmentDetails": { "isPriorityShipment": false, "isScheduledDeliveryShipment": false, "isPslipRequired": true, "isGift": false, "shipMethod": "UPS_2ND", "shipmentDates": { "requiredShipDate": "2020-02-21T00:00:00Z", "promisedDeliveryDate": "2020-02-24T00:00:00Z" }, "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, "taxTotal": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" }, "type": "TOTAL" } ] }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "shipToParty": { "name": "John Doe", "attention": "John Doe", "addressLine1": "123 Any Street", "addressLine2": "Apt 5", "city": "Any Town", "stateOrRegion": "CA", "postalCode": "94086", "countryCode": "USA" }, "billToParty": { "partyId": "ABCD" }, "items": [ { "itemSequenceNumber": "00001", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": "8806098286500", "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", "orderedQuantity": { "amount": 1, "unitOfMeasure": "EACH" }, "netPrice": { "currencyCode": "USD", "amount": "500" }, "taxDetails": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "50" }, "type": "TOTAL" } ] }, "buyerCustomizedInfo": { "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { "itemSequenceNumber": 2, "buyerProductIdentifier": "B07DFYF5AB", "vendorProductIdentifier": "8806098286123", "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", "orderedQuantity": { "amount": 2, "unitOfMeasure": "EACH" }, "netPrice": { "currencyCode": "USD", "amount": "700" }, "taxDetails": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "140" }, "type": "TOTAL" } ] } } ] } } ] }

getOrder

The getOrder operation returns information about the purchase order that you specify using the purchase order number. The response includes complete purchase order information for the purchase order, including line item details, quantity, and cost.

📘

Jeton de données restreint pour autorisation

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.

You should use this API to get the details of specific orders returned by the getOrders operation. You can also use this API to get details for any purchase order in the time range of seven days from a rolling window of the last six months after the vendor went live on the API.

The following diagram shows the integration workflow to retrieve a specific purchase order:

The Direct Fulfillment integration workflow to retrieve a specific purchase order.

Exigences commerciales

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

A packing slip is required if it is a Business to Business [B2B] order or a gift order. When isPslipRequired is true, a packing slip is required for the order.

Quand la commande doit-elle être expédiée ?

Vous devez lire la valeur dans le champ requiredShipDate, elle correspond à la dernière date à laquelle la commande doit être expédiée depuis l'entrepôt. La valeur du champ promisedDeliveryDate indique la date de livraison promise au client.

Modifier une commande à l'aide de l'API

Submitting a change to an order using the API is not possible at this time. After an order has been placed, changing it is not possible.

Exigences commerciales spécifiques à chaque pays

FonctionnalitéIndeEuropeAmérique du Nord
Net CostConditional. Either net cost or list price.Conditional. Either net cost or list price.Conditional. Either net cost or list price.
List PriceConditional. Either net cost or list price.Conditionnel. Coût net ou prix catalogue.Conditional. Either net cost or list price.
Ship From PartyThe warehouse code assigned to the vendor.The warehouse code assigned to the vendor.The warehouse code assigned to the vendor.
Selling PartyThe vendor code assigned to the vendor.The vendor code assigned to the vendor.The vendor code assigned to the vendor.
Ship To PartyThe address of the customer.The address of the customer. For Amazon label only vendors, certain fields will be replaced with the fictitious value 'XXXXX'. Refer to the Direct Fulfillment customer data transmission section for more information.The address of the customer. For Amazon label only vendors, certain fields will be replaced with fictitious value 'XXXXX'. Refer to the Direct Fulfillment customer data transmission section for more information.
Bill To PartyThe address of the bill to entity.The address of the bill to entity.Not applicable.

getOrder Request

To return information about a specific purchase order, call the getOrder operation and pass the following parameter:

Paramètre de chemin d'accès :

Nom Description Obligatoire
purchaseOrderNumber The order identifier for the purchase order that you want. Formatting Notes: alpha-numeric code.

Type : chaîne

Oui

Exemple de demande :

GET https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/orders/2021-12-28/purchaseOrders/4Z32PABC

getOrder Response

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

Nom Description Obligatoire
purchaseOrderNumber The purchase order number for this order. Formatting Notes: alpha-numeric code.

Type : chaîne

Non
orderDetails Purchase order details.

Type: OrderDetails

Non

Exemple de réponse :

{ "purchaseOrderNumber": "2JK3S9VC", "orderDetails": { "customerOrderNumber": "123-ABC", "orderDate": "2020-02-20T13:51:00Z", "shipmentDetails": { "isPriorityShipment": false, "isScheduledDeliveryShipment": false, "isPslipRequired": true, "isGift": false, "shipMethod": "UPS_2ND", "shipmentDates": { "requiredShipDate": "2020-02-21T00:00:00Z", "promisedDeliveryDate": "2020-02-24T00:00:00Z" }, "messageToCustomer": "This shipment completes your order. You can always check the status of your orders from the \"Your Account\" link at the top of each page of our site.Thank you for shopping at Amazon.com" }, "taxTotal": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "190" }, "type": "TOTAL" } ] }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "shipToParty": { "name": "John Doe", "attention": "John Doe", "addressLine1": "123 Any Street", "addressLine2": "Apt 5", "city": "San Jose", "stateOrRegion": "Any Town", "postalCode": "94086", "countryCode": "USA" }, "billToParty": { "partyId": "ABCD" }, "items": [ { "itemSequenceNumber": "00001", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": "8806098286500", "title": "LG 8 kg Inverter Wi-Fi Fully-Automatic Front Loading Washing Machine (FHT1408SWS, STS-VCM, Inbuilt Heater)", "orderedQuantity": { "amount": 1, "unitOfMeasure": "EACH" }, "netPrice": { "currencyCode": "USD", "amount": "500" }, "taxDetails": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "50" }, "type": "TOTAL" } ] }, "buyerCustomizedInfo": { "customizedUrl": "aHR0cHM6Ly8xcC1kZi1wdWJsaWMtZGF0YS5zMy5hbWF6b25hd3MuY29tLzExMS0xMjYwNzQ1LTYyOTE0MTZfNTgzNjIxNTQwMTM1NjEuemlw" } }, { "itemSequenceNumber": "00002", "buyerProductIdentifier": "B07DFYF5AB", "vendorProductIdentifier": "8806098286123", "title": "LG 6.5 kg Inverter Fully-Automatic Front Loading Washing Machine (FHT1065SNW, Blue and White, Inbuilt Heater)", "orderedQuantity": { "amount": 2, "unitOfMeasure": "EACH" }, "netPrice": { "currencyCode": "USD", "amount": "700" }, "taxDetails": { "taxLineItem": [ { "taxRate": "0.1", "taxAmount": { "currencyCode": "USD", "amount": "140" }, "type": "TOTAL" } ] } } ] } }

submitAcknowledgement

The submitAcknowledgement operation allows vendors to accept or reject a purchase order for fulfillment. Amazon expects a complete acknowledgement, including all purchase order line items of the purchase order. If the vendor does not provide all line items of the purchase order in the acknowledgement, Amazon does not accept the partial acknowledgement.

Amazon expects the vendor to submit the acknowledgement as fast as possible, at the latest within 24 hours. The acknowledgement should be an accurate view of the actual shipment quantities and items.

Vérification des accusés de réception de commande soumis avec succès

Vendors can verify the status of the original/updated version of the order acknowledgement using Vendor Central or using the Direct Fulfillment Transaction Management API. Allow the system to take up to 15 minutes to show the original/updated version after submission. If Vendor Central is not showing the correct values for the acknowledgement, open a Contact Us case in Vendor Central.

Le schéma suivant illustre le workflow d'intégration lors de l'accusé de réception d'une commande.

The Direct Fulfillment integration workflow when acknowledging orders.

Exigences commerciales

Can a vendor increase the original quantity submitted in the purchase order using the submitAcknowledgement operation?

Non, Amazon n'autorise pas le fournisseur à envoyer dans l'accusé de réception une quantité supérieure à celle indiquée dans le bon de commande.

Est-il obligatoire d'envoyer un accusé de réception pour chaque bon de commande ?

Oui, pour mettre à jour correctement le statut d'une commande dans le système Amazon, Amazon a besoin d'une confirmation du bon de commande via l'API ou Vendor Central. Si vous n'êtes pas en mesure de répondre à nos exigences en matière d'accusé de réception de commande à l'aide de l'API, vous devez confirmer votre bon de commande à l'aide de Vendor Central. Contactez votre représentant commercial Amazon si vous ne possédez pas de compte Vendor Central.

Est-il obligatoire de fournir chaque élément de la ligne de commande dans l'accusé de réception de commande correspondant ?

Oui, Amazon pourra ainsi mettre à jour correctement le statut de la commande.

How should invalid items or details on an order be reported using the order acknowledgement?

Do not process or ship an item that arrived with an invalid item number on the order. Please return the invalid item number on the acknowledgement and acknowledge it with one of the following codes.

The following list is an example of the codes that can be used in the document. Amazon and the vendor will mutually agree upon a list of codes that will be appropriate for their relationship.

Code & Description

  • "00" Shipping 100 percent of ordered product
  • "02" Canceled due to missing/invalid SKU
  • "03" Canceled out of stock
  • "04" Canceled due to duplicate Amazon Ship ID
  • "05" Canceled due to missing/invalid Bill To Location Code
  • "06" Canceled due to missing/invalid Ship From Location Code
  • "07" Canceled due to missing/invalid Customer Ship to Name
  • "08" Canceled due to missing/invalid Customer Ship to Address Line 1
  • "09" Canceled due to missing/invalid Customer Ship to City
  • "10" Canceled due to missing/invalid Customer Ship to State
  • "11" Canceled due to missing/invalid Customer Ship to Postal Code
  • "12" Canceled due to missing/invalid Customer Ship to Country Code
  • "13" Canceled due to missing/invalid Shipping Carrier/Shipping Method
  • "20" Canceled due to missing/invalid Unit Price
  • "21" Canceled due to missing/invalid Ship to Address Line 2
  • "22" Canceled due to missing/invalid Ship to Address Line 3
  • "50" Canceled due to Tax Nexus Issue
  • "51" Canceled due to Restricted SKU/Qty
  • "53" Canceled due to USPS > $400
  • "54" Canceled due to Missing AmazonShipID
  • "55" Canceled due to Missing AmazonOrderID
  • "56" Canceled due to Missing LineItemId
  • "71" Canceled due to discontinued item

📘

Amazon acknowledgement

Amazon expects an acknowledgement even if all the line items on the purchase order were invalid and did not produce an order or invoice.

Dois-je renvoyer le même identifiant de produit dans l'accusé de réception que j'ai reçu lors de la transaction de commande ?

Acknowledgements must return exactly the same product identifier that were sent in the purchase order.

Is it a requirement that I provide an acknowledgement code for all line items regardless of status?

Yes, it is required so we can correctly update the status of the order. If the acknowledgement code is omitted, the acknowledgement will be rejected in our system.

Quelle est la politique en matière d'expéditions partielles sur Amazon.com ? Comment les expéditions partielles doivent-elles être signalées lors de la soumission d'un accusé de réception de commande ?

Partial shipments are not allowed. Vendors need to either confirm or reject the full order (fill or kill model).

Exigences commerciales spécifiques à chaque pays

There are no country specific requirements for order acknowledgements.

submitAcknowledgement Request

To submit order acknowledgements, call the submitAcknowledgement operation and pass the following parameter:

Paramètres du corps :

Nom Description Obligatoire
orderAcknowledgements A list of one or more purchase orders.

Type:< OrderAcknowledgementItem > array

Oui

Exemple de demande :

POST https://sellingpartnerapi-na.amazon.com/vendor/directFulfillment/orders/2021-12-28/acknowledgements { "orderAcknowledgements": [ { "purchaseOrderNumber": "2JK3S9VC", "vendorOrderNumber": "ABC", "acknowledgementDate": "2020-02-20T19:17:34.304Z", "acknowledgementStatus": { "code": "00", "description": "Shipping 100 percent of ordered product" }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "itemAcknowledgements": [ { "itemSequenceNumber": "00001", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": "8806098286500", "acknowledgedQuantity": { "amount": 1, "unitOfMeasure": "Each" } } ] } ] }

submitAcknowledgements Response

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

Nom Description Obligatoire
ID de transaction GUID assigned by Amazon to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction.

Type : chaîne

Oui

Exemple de réponse :

{ "transactionId": "20190827182357-8725bde9-c61c-49f9-86ac-46efd82d4da5" }

Acknowledgement use cases

Article non valide dans le bon de commande

If the vendor receives an invalid product identifier in the purchase order, the vendor should reject the item with an acknowledgement code "02" and the "description" as "Canceled due to missing/invalid SKU".

{ "orderacknowledgements": [ { "purchaseOrderNumber": "2JK3S9VC", "vendorOrderNumber": "ABC", "acknowledgementDate": "2020-02-20T19:17:34.304Z", "acknowledgementStatus": { "code": "02", "description": "Canceled due to missing/invalid SKU" }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "items": [ { "itemSequenceNumber": "1", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": 8806098286500, "acknowledgedQuantity": { "amount": 1, "unitOfMeasure": "Each" } } ] } ] }

Out of stock line item in the purchase order

If the vendor receives a product in the purchase order which is now out of stock, the vendor should reject the item with an acknowledgement code "03" and the "description" as "Canceled out of stock".

{ "orderacknowledgements": [ { "purchaseOrderNumber": "2JK3S9VC", "vendorOrderNumber": "ABC", "acknowledgementDate": "2020-02-20T19:17:34.304Z", "acknowledgementStatus": { "code": "03", "description": "Canceled out of stock" }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "items": [ { "itemSequenceNumber": "1", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": 8806098286500, "acknowledgedQuantity": { "amount": 1, "unitOfMeasure": "Each" } } ] } ] }

Confirm purchase order as accepted

If the vendor receives a product in the purchase order which is available to ship, the vendor should accept the item with an acknowledgement code "00" and the "description" as "Shipping 100 percent of ordered product".

{ "orderacknowledgements": [ { "purchaseOrderNumber": "2JK3S9VC", "vendorOrderNumber": "ABC", "acknowledgementDate": "2020-02-20T19:17:34.304Z", "acknowledgementStatus": { "code": "00", "description": "Shipping 100 percent of ordered product" }, "sellingParty": { "partyId": "999US" }, "shipFromParty": { "partyId": "ABCD" }, "items": [ { "itemSequenceNumber": "1", "buyerProductIdentifier": "B07DFVDRAB", "vendorProductIdentifier": 8806098286500, "acknowledgedQuantity": { "amount": 1, "unitOfMeasure": "Each" } } ] } ] }

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