主页文档代码示例API 参考公告模型发行说明常见问题GitHub视频
开发者中心API 状态支持
文档
开发者中心API 状态支持

受监管订单

Work with regulated orders using the Orders API.

Amazon classifies some products as regulated to comply with local regulations and to support providing a broader selection of regulated items to customers. Because orders that contain regulated items must be validated by skilled professionals before shipment, customers are required to provide additional information to complete the purchase (for example, upload a prescription). Regulated items include pet pharmacy, eye contact lenses, and prescription glasses.

You can use the getOrderRegulatedInfo and updateVerificationStatus operations in the Orders API to programmatically integrate this validation process into your applications.

术语

  • Regulated product. A product that is sold on Amazon that requires additional information, provided at the time of purchase, to comply with local regulations.

  • Regulated information. Additional information that a customer must include when they purchase a regulated product.

  • Regulated order. A customer order that contains a regulated product, and the associated regulated information.

  • 受限数据令牌 (RDT)。一种短期访问令牌,用于授权调用受限操作。RDT 的有效期为一小时。

  • 验证状态。受监管订单的状态,表明它是否已被熟练的专业人员批准或拒绝。

  • Verification detail. Additional information about the verification of a regulated order. Supported details differ depending on the product. Some products might not support additional details. Only prescription-related details are currently supported in the US.

教程:了解订单是否包含受监管信息

Learn how to determine if an order is a regulated order.

After you identify a regulated order, you can make a separate API request to get the status and regulated information. For more information, refer to How to retrieve an order's regulated information.

先决条件

要完成本教程,您需要:

  • Authorization from the seller for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
  • 批准开发者资料中的“直接配送至买家(受限)”职权。
  • The Direct-to-Consumer Delivery (Restricted) role selected on the App registration page for your application.

Find out if an order contains regulated information

Call the getOrder operation and pass the following query parameter:

参数描述必填项
orderIdAn Amazon-defined order identifier, in 3-7-7 format.
Type: string
有帮助

请求示例

GET https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/

响应

A successful response includes the payload object, which contains the information for an order. This includes HasRegulatedItems. When true, the order has regulated items that might require additional approval steps before being filled.

For information about the possible objects and properties in an order, refer to Order in the API reference.

响应示例

This example is for an order that contains regulated information:

{ "payload": { "BuyerInfo": {}, "AmazonOrderId": "026-1520163-6049104", "EarliestShipDate": "2022-03-10T00:00:00Z", "SalesChannel": "Amazon.co.uk", "AutomatedShippingSettings": { "HasAutomatedShippingSettings": false }, "OrderStatus": "Canceled", "NumberOfItemsShipped": 0, "OrderType": "StandardOrder", "IsPremiumOrder": false, "IsPrime": false, "FulfillmentChannel": "MFN", "NumberOfItemsUnshipped": 0, "HasRegulatedItems": true, "IsReplacementOrder": false, "IsSoldByAB": false, "LatestShipDate": "2022-03-10T23:59:59Z", "ShipServiceLevel": "Std UK Dom_1", "IsISPU": false, "MarketplaceId": "A1F83G8C2ARO7P", "PurchaseDate": "2022-03-09T22:03:02Z", "IsAccessPointOrder": false, "IsBusinessOrder": false, "OrderTotal": { "CurrencyCode": "GBP", "Amount": "20.00" }, "PaymentMethodDetails": [ "Standard" ], "IsGlobalExpressEnabled": false, "LastUpdateDate": "2022-03-14T22:05:14Z", "ShipmentServiceLevelCategory": "Standard" } }

This example is for an order that doesn't contain regulated information:

{ "payload": { "BuyerInfo": {}, "AmazonOrderId": "026-1520163-6049104", "EarliestShipDate": "2022-03-10T00:00:00Z", "SalesChannel": "Amazon.co.uk", "AutomatedShippingSettings": { "HasAutomatedShippingSettings": false }, "OrderStatus": "Canceled", "NumberOfItemsShipped": 0, "OrderType": "StandardOrder", "IsPremiumOrder": false, "IsPrime": false, "FulfillmentChannel": "MFN", "NumberOfItemsUnshipped": 0, "HasRegulatedItems": false, "IsReplacementOrder": false, "IsSoldByAB": false, "LatestShipDate": "2022-03-10T23:59:59Z", "ShipServiceLevel": "Std UK Dom_1", "IsISPU": false, "MarketplaceId": "A1F83G8C2ARO7P", "PurchaseDate": "2022-03-09T22:03:02Z", "IsAccessPointOrder": false, "IsBusinessOrder": false, "OrderTotal": { "CurrencyCode": "GBP", "Amount": "20.00" }, "PaymentMethodDetails": [ "Standard" ], "IsGlobalExpressEnabled": false, "LastUpdateDate": "2022-03-14T22:05:14Z", "ShipmentServiceLevelCategory": "Standard" } }

Tutorial: Recognize which orders contain regulated information

Learn how to recognize which orders in a list contain regulated information.

After you identify a regulated order, you can get more information about the status and regulated information. For more information, refer to How to retrieve an order's regulated information.

先决条件

要完成本教程,您需要:

  • Authorization from the seller for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
  • 批准开发者资料中的“直接配送至买家(受限)”职权。
  • The Direct-to-Consumer Delivery (Restricted) role selected on the App registration page for your application.

Recognize which orders contain regulated information

Call the getOrders operation and pass the parameters you want to use to filter the result.

请求示例

GET https://sellingpartnerapi-eu.amazon.com/orders/v0/orders?MarketplaceIds=A1F83G8C2ARO7P&CreatedAfter=1985-04-12T23:20:50.52Z

响应

A successful response includes a payload object. This object contains an Orders array of one or more orders, and (optionally) additional properties (for more informartion, refer to OrderList). Each order in the array includes HasRegulatedItems; when true, the order contains regulated items that might require additional approval steps.

For details about the possible objects and properties in an order, refer to Order in the API reference.

响应示例

In this example, the first order in the Orders array has regulated items. The second order in the Orders array does not have regulated items.

{ "payload": { "Orders": [ { "BuyerInfo": {}, "AmazonOrderId": "026-1520163-6049104", "EarliestShipDate": "2022-03-10T00:00:00Z", "SalesChannel": "Amazon.co.uk", "AutomatedShippingSettings": { "HasAutomatedShippingSettings": false }, "OrderStatus": "Canceled", "NumberOfItemsShipped": 0, "OrderType": "StandardOrder", "IsPremiumOrder": false, "IsPrime": false, "FulfillmentChannel": "MFN", "NumberOfItemsUnshipped": 0, "HasRegulatedItems": true, "IsReplacementOrder": false, "IsSoldByAB": false, "LatestShipDate": "2022-03-10T23:59:59Z", "ShipServiceLevel": "Std UK Dom_1", "IsISPU": false, "MarketplaceId": "A1F83G8C2ARO7P", "PurchaseDate": "2022-03-09T22:03:02Z", "IsAccessPointOrder": false, "IsBusinessOrder": false, "OrderTotal": { "CurrencyCode": "GBP", "Amount": "20.00" }, "PaymentMethodDetails": [ "Standard" ], "IsGlobalExpressEnabled": false, "LastUpdateDate": "2022-03-14T22:05:14Z", "ShipmentServiceLevelCategory": "Standard" }, { "BuyerInfo": {}, "AmazonOrderId": "203-1028129-8694751", "EarliestShipDate": "2022-03-17T00:00:00Z", "SalesChannel": "Amazon.co.uk", "AutomatedShippingSettings": { "HasAutomatedShippingSettings": false }, "OrderStatus": "Canceled", "NumberOfItemsShipped": 0, "OrderType": "StandardOrder", "IsPremiumOrder": false, "IsPrime": false, "FulfillmentChannel": "MFN", "NumberOfItemsUnshipped": 0, "HasRegulatedItems": false, "IsReplacementOrder": "false", "IsSoldByAB": false, "LatestShipDate": "2022-03-17T23:59:59Z", "ShipServiceLevel": "Std UK Dom_1", "IsISPU": false, "MarketplaceId": "A1F83G8C2ARO7P", "PurchaseDate": "2022-03-15T16:45:35Z", "IsAccessPointOrder": false, "IsBusinessOrder": false, "OrderTotal": { "CurrencyCode": "GBP", "Amount": "20.00" }, "PaymentMethodDetails": [ "Standard" ], "IsGlobalExpressEnabled": false, "LastUpdateDate": "2022-03-29T01:55:37Z", "ShipmentServiceLevelCategory": "Standard" } ], "CreatedBefore": "2022-04-22T07:23:40Z" } }

教程:如何检索订单的受监管信息

Learn how to retrieve the regulated information associated with an order.

先决条件

要完成本教程,您需要:

  • Authorization from the seller for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
  • 批准开发者资料中的“直接配送至买家(受限)”职权。
  • The Direct-to-Consumer Delivery (Restricted) role selected on the App registration page for your application.

Step 1. Retrieve the Restricted Data Token

To access regulated information, you require a Restricted Data Token (RDT). To get this token:

  1. Call the createRestrictedDataToken operation and pass these parameters:

    参数描述必填项
    restrictedResourcesA list of restricted resources.
    Type: array < RestrictedResource >
    有帮助

    请求示例

    POST https://sellingpartnerapi-eu.amazon.com/tokens/2021-03-01/restrictedDataToken { "restrictedResources": [ { "method": "GET", "path": "/orders/v0/orders/{orderId}/regulatedInfo" } ] }

    响应

    For additional details about the response properties, refer to CreateRestrictedDataTokenResponse in the Tokens API reference.

    响应示例

    { "expiresIn": 3600, "restrictedDataToken": "Atz..." }
  2. Save the restrictedDataToken value (which is the RDT). You'll need this in Step 2.

Step 2. Retrieve regulated information associated with an order

Call the getOrderRegulatedInfo operation and pass the orderId of the order with the regulated information you want. Include the RDT from Step 1 in the x-amz-access-token header of your call.

路径参数

参数描述Required:
orderIdAn Amazon-defined order identifier, in 3-7-7 format.
Type: string
有帮助

请求示例

GET https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo

响应

A successful response includes information about the order, whether a dosage label is required, the verification status of the order, and the requested regulated information. Some types of regulated orders support additional details about the verification of the order. Information about the supported detail types are returned as part of this response. For detailed information about the objects and properties that might be present in a successful response, refer to OrderRegulatedInfo.

响应示例

This example is for a pending order:

{ "payload": { "AmazonOrderId": "205-1725759-9209952", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" }, { "FieldLabel": "Pet name", "FieldId": "petsName", "FieldValue": "Snowy", "FieldType": "Text" }, { "FieldLabel": "Birth date", "FieldId": "petsDateOfBirth", "FieldValue": "15 August 2021", "FieldType": "Text" }, { "FieldLabel": "Weight", "FieldId": "petsWeight", "FieldValue": "1 kg", "FieldType": "Text" }, { "FieldLabel": "Gender", "FieldId": "petsGender", "FieldValue": "Female", "FieldType": "Text" }, { "FieldLabel": "Is your pet lactating?", "FieldId": "petsLactating", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet pregnant?", "FieldId": "petsPregnant", "FieldValue": "Yes", "FieldType": "Text" }, { "FieldLabel": "Pregnancy stage", "FieldId": "petsPregnancyStage", "FieldValue": "Second trimester", "FieldType": "Text" }, { "FieldLabel": "Does your pet have allergies?", "FieldId": "petsAllergies", "FieldValue": "Yes", "FieldType": "Text" }, { "FieldLabel": "Is your pet neutered?", "FieldId": "petsNeutered", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet on any other medication?", "FieldId": "petsAdditionalMedicationRadio", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "snowy prescription 1", "FieldId": "snowy prescription 1", "FieldValue": "https://...", "FieldType": "FileAttachment" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Pending", "RequiresMerchantAction": true, "ValidRejectionReasons": [ { "RejectionReasonId": "shield_pom_v_reject_pregnant_only", "RejectionReasonDescription": "Not suitable for pregnant pet" }, { "RejectionReasonId": "shield_pom_v_reject_product", "RejectionReasonDescription": "This product is not suitable" }, { "RejectionReasonId": "shield_pom_v_reject_reject_age", "RejectionReasonDescription": "Your pet is too young for this medicine." } ] } } }

This example is for an approved order:

{ "payload": { "AmazonOrderId": "205-1725759-9209952", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Approved", "RequiresMerchantAction": false, "ExternalReviewerId": "externalId", "ReviewDate": "1970-01-19T03:59:27Z", "ValidRejectionReasons": [] } } }

This example is for a rejected order:

{ "payload": { "AmazonOrderId": "205-1725759-9209952", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Rejected", "RequiresMerchantAction": false, "ExternalReviewerId": "externalId", "ReviewDate": "1970-01-19T03:59:27Z", "RejectionReason": { "RejectionReasonId": "shield_pom_vps_reject_species", "RejectionReasonDescription": "This medicine is not suitable for this pet’s species" } "ValidRejectionReasons": [] } } }

This example is for a cancelled order:

{ "payload": { "AmazonOrderId": "202-5156092-2672318", "RequiresDosageLabel": false, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Dog", "FieldType": "Text" }, { "FieldLabel": "Birth date", "FieldId": "petsDateOfBirth", "FieldValue": "8 March 2019", "FieldType": "Text" }, { "FieldLabel": "Weight", "FieldId": "petsWeight", "FieldValue": "44 kg", "FieldType": "Text" }, { "FieldLabel": "Gender", "FieldId": "petsGender", "FieldValue": "Male", "FieldType": "Text" }, { "FieldLabel": "Does your pet have allergies?", "FieldId": "petsAllergies", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet neutered?", "FieldId": "petsNeutered", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet on any other medication?", "FieldId": "petsAdditionalMedicationRadio", "FieldValue": "No", "FieldType": "Text" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Cancelled", "RequiresMerchantAction": false, "ValidRejectionReasons": [] } } }

This example is for an expired order:

{ "payload": { "AmazonOrderId": "205-2554781-3212354", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" }, { "FieldLabel": "Birth date", "FieldId": "petsDateOfBirth", "FieldValue": "25 January 2020", "FieldType": "Text" }, { "FieldLabel": "Weight", "FieldId": "petsWeight", "FieldValue": "2 kg", "FieldType": "Text" }, { "FieldLabel": "Gender", "FieldId": "petsGender", "FieldValue": "Male", "FieldType": "Text" }, { "FieldLabel": "Does your pet have allergies?", "FieldId": "petsAllergies", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet neutered?", "FieldId": "petsNeutered", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "Is your pet on any other medication?", "FieldId": "petsAdditionalMedicationRadio", "FieldValue": "No", "FieldType": "Text" }, { "FieldLabel": "JPEG 2 prescription 1", "FieldId": "JPEG 2 prescription 1", "FieldValue": "https://...", "FieldType": "FileAttachment" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Expired", "RequiresMerchantAction": false, "ValidRejectionReasons": [] } } }

This example is for a pending order that supports additional details:

The order in this example supports one additional detail type: prescriptionDetail. You can only provide this information when RegulatedOrderVerificationStatus.Status is Approved. For more supported detail types, refer to List of all supported verificationDetails.

{ "payload": { "AmazonOrderId": "205-2554781-3212354", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Pending", "RequiresMerchantAction": true, "ValidRejectionReasons": [ { "RejectionReasonId": "shield_pom_v_reject_pregnant_only", "RejectionReasonDescription": "Not suitable for pregnant pet" } ], "ValidVerificationDetails": [ { "VerificationDetailType": "prescriptionDetail", "ValidVerificationStatuses": [ "Approved" ] } ] } } }

教程:如何批准或拒绝受监管订单

本教程向您展示如何批准或拒绝包含受监管信息的订单。

先决条件

要完成本教程,您需要:

  • Authorization from the seller for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
  • 批准开发者资料中的“直接配送至买家(受限)”职权。
  • The Direct-to-Consumer Delivery (Restricted) role selected on the App registration page for your application.

Approve or reject a regulated order

Call the updateVerificationStatus operation and pass these parameters:

路径参数

参数描述必填项
orderIdAn Amazon-defined order identifier, in 3-7-7 format.
Type: string
有帮助

主体参数

参数描述必填项
regulatedOrderVerificationStatusThe updated verification status properties.
Type: UpdateVerificationStatusRequestBody
有帮助

请求示例

This example is for approving an order:

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo { "regulatedOrderVerificationStatus": { "status": "Approved", "externalReviewerId": "reviewer1234" } }

This example is for rejecting an order:

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo { "regulatedOrderVerificationStatus": { "status": "Rejected", "externalReviewerId": "reviewer1234", "rejectionReasonId": "shield_pom_vps_reject_incorrect_weight" } }

响应

The response is empty for this operation.

Tutorial: Provide additional details about the verification of a regulated order

Learn how to provide additional details about the verification of an order that contains regulated information.

You can only provide additional verification details when the verification status is in a specific state. Some verification details are only supported for certain types of regulated products. To determine which verification details are supported for your order, reference the ValidVerificationDetails value that is returned from your getOrderRegulatedInfo call. If ValidVerificationDetails is not returned, no additional verification details are supported.

先决条件

要完成本教程,您需要:

  • Authorization from the seller for whom you are making calls. For more information, refer to Authorizing Selling Partner API applications.
  • 批准开发者资料中的“直接配送至买家(受限)”职权。
  • The Direct-to-Consumer Delivery (Restricted) role selected on the App registration page for your application.

Step 1. Check the verification detail is supported and order is in a valid status

Call the getOrderRegulatedInfo operation and verify that:

  • The detail type you want to provide is listed in ValidVerificationDetails
  • The RegulatedOrderVerificationStatus.Status value is listed in the corresponding ValidVerificationStatuses for that detail type

响应示例

In this example, one type of verification detail (prescriptionDetail) is supported for this order.

{ "payload": { "AmazonOrderId": "205-2554781-3212354", "RequiresDosageLabel": true, "RegulatedInformation": { "Fields": [ { "FieldLabel": "Species", "FieldId": "petsSpecies", "FieldValue": "Cat", "FieldType": "Text" } ] }, "RegulatedOrderVerificationStatus": { "Status": "Approved", "RequiresMerchantAction": false, "ValidRejectionReasons": [ { "RejectionReasonId": "shield_pom_v_reject_pregnant_only", "RejectionReasonDescription": "Not suitable for pregnant pet" } ], "ValidVerificationDetails": [ { "VerificationDetailType": "prescriptionDetail", "ValidVerificationStatuses": [ "Approved" ] } ] } } }

ValidVerificationDetails lists all supported verificationDetails for the order and when you can provide them.

In the preceding example, you can include prescriptionDetail in your call because the following conditions are met:

  • RegulatedOrderVerificationStatus contains Status as Approved.
  • ValidVerificationDetails includes prescriptionDetail as the VerificationDetailType and the corresponding ValidVerificationStatuses is Approved.

If RegulatedOrderVerificationStatus is Pending or Rejected, calls to set prescriptionDetail will fail.

Refer to Step 2 for more information on the call to set prescriptionDetail.

Step 2. Provide additional details regarding the verification of a regulated order

Call the updateVerificationStatus operation and pass these parameters:

路径参数

参数描述必填项
orderIdAn Amazon-defined order identifier, in 3-7-7 format.
Type: string
有帮助

主体参数

参数描述必填项
regulatedOrderVerificationStatusThe updated verification status properties.
Type: UpdateVerificationStatusRequestBody
有帮助

请求示例

This example shows updates to only verificationDetails:

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo { "regulatedOrderVerificationStatus": { "externalReviewerId": "reviewer1234", "verificationDetails": { "prescriptionDetail": { "prescriptionId": "Rx-1234", "expirationDate": "2024-01-01T00:00:00Z", "writtenQuantity": 2, "totalRefillsAuthorized": 10, "usageInstructions": "Take one per day by mouth with food", "refillsRemaining": 10, "clinicId": "ABC-1234" } } } }

This example shows updates to verificationDetails and status:

You can alter the status and the details in a single call. Updates to statuses are applied first, so the status in your request payload must be one of the supported statuses for the detail. If the following example had a status of Rejected, the call would fail.

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo { "regulatedOrderVerificationStatus": { "status": "Approved", "externalReviewerId": "reviewer1234", "verificationDetails": { "prescriptionDetail": { "prescriptionId": "Rx-1234", "expirationDate": "2024-01-01T00:00:00Z", "writtenQuantity": 2, "totalRefillsAuthorized": 10, "usageInstructions": "Take one per day by mouth with food", "refillsRemaining": 10, "clinicId": "ABC-1234" } } } }

响应

The response is empty for this operation.

List of all supported verificationDetails

prescriptionDetails

This is supported for US regulated products and must include information pertaining to the prescription provided by the customer's clinic. This information is only available if the order is approved. Attempts to provide this information for a rejected order will fail.


此页面对您有帮助吗?