受监管的订单

亚马逊SPAPI

# 什么是受监管的订单?

亚马逊将一些产品归类为受监管的产品,以符合当地的法规,并支持向客户提供更广泛的受监管物品的选择.因为包含受监管物品的订单在发货前必须由熟练的专业人士进行验证,客户在完成购买时需要提供额外的信息或上传处方.受监管物品的例子包括宠物药房、眼部隐形眼镜和处方眼镜.

Orders API中的getOrderRegulatedInfoupdateVerificationStatus操作可以帮助你以编程方式将这个验证过程整合到你的应用程序中.

术语

  • 监管产品. 在亚马逊上销售的产品,需要在购买时提供额外的信息以符合当地法规.

  • 监管信息. 客户在购买监管产品时输入的额外信息.*

  • 受监管的订单. 包含受监管产品和相关受监管信息的客户订单.

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

  • 验证状态. 一个受管制的订单的状态,表明它是被熟练的专业人士批准还是拒绝.

# Tutorial: 找出一个订单是否包含被监管的信息

本教程告诉您如何确定一个订单是否是受监管的订单.一旦确定,可以检索有关该订单的进一步监管信息和状态(参见教程如何检索一个订单的监管信息.

先决条件

要完成本教程,你需要

1.来自你为之打电话的卖家的授权.参见销售伙伴API开发者指南了解更多信息.

1.在你的开发者档案中批准直接-to-Consumer Delivery (Restricted)的角色.

1.在应用程序注册页面中为您的应用程序选择了直接-to-Consumer Delivery (Restricted)的角色.

# 步骤1.找出一个订单是否包含受管制的信息

调用getOrder操作,传递以下查询参数

参数 描述要求
orderId 一个亚马逊-定义的订单标识符,以3-7-7的格式.

类型: string

是的

请求的例子

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

响应

一个成功的响应包括payload'对象,它包含了一个订单的信息.包括一个HasRegulatedItems'布尔属性.当为真时,该订单有规范的项目,可能需要额外的批准步骤才能完成.

关于订单中可能存在的对象和属性的详细信息,请参见API参考中的Order (opens new window).

响应示例 (对于一个包含监管信息的订单)

{
  "payload": {
    "BuyerInfo": {},
    "AmazonOrderId": "026-1520163-6049104",
    "EarliestShipDate": "2022-03-10T00:00:00Z",
    "SalesChannel": "Amazon.co.uk",
    "AutomatedShippingSettings": {
      "HasAutomatedShippingSettings": false
    },
    "OrderStatus": "已取消",
    "NumberOfItemsShipped": 0,
    "订单类型": "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",
      "金额": "20.00"
    },
    "PaymentMethodDetails": [
      "标准"
    ],
    "IsGlobalExpressEnabled": false,
    "LastUpdateDate": "2022-03-14T22:05:14Z",
    "ShipmentServiceLevelCategory": "标准"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

响应示例 (对于一个不包含监管信息的订单):

{
  "payload": {
    "BuyerInfo": {},
    "AmazonOrderId": "026-1520163-6049104",
    "EarliestShipDate": "2022-03-10T00:00:00Z",
    "SalesChannel": "Amazon.co.uk",
    "AutomatedShippingSettings": {
      "HasAutomatedShippingSettings": false
    },
    "OrderStatus": "已取消",
    "NumberOfItemsShipped": 0,
    "订单类型": "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",
      "金额": "20.00"
    },
    "PaymentMethodDetails": [
      "标准"
    ],
    "IsGlobalExpressEnabled": false,
    "LastUpdateDate": "2022-03-14T22:05:14Z",
    "ShipmentServiceLevelCategory": "标准"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# Tutorial: 如何识别列表中的订单包含监管信息

本教程告诉您如何识别列表中哪些订单包含监管信息.一旦识别,就可以检索每个订单的进一步监管信息和状态(参见教程如何检索一个订单的监管信息).

先决条件

要完成本教程,你需要

1.来自你为之打电话的卖家的授权.参见销售伙伴API开发者指南了解更多信息.

1.在你的开发者资料中批准直接-to-Consumer Delivery (Restricted)的角色.

1.在应用程序注册页面中为您的应用程序选择了直接-to-Consumer Delivery (Restricted)的角色.

# 步骤1.从列表中识别哪些订单包含受管制信息

调用getOrders操作,传递你想用来过滤结果的parameters

请求的例子

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

响应

一个成功的响应包括一个payload'对象,其中包含一个或多个订单的Orders'数组,以及可选的附加属性(see [OrderList](doc orders-api-v0-reference#orderslist)以了解关于附加属性的信息).数组中的每个订单都包括一个`HasRegulatedItems'布尔属性.当为真时,订单包含受管制的项目,在执行前可能需要额外的审批步骤.

关于订单中可能存在的对象和属性的详细信息,请参见API参考中的Order (opens new window).

响应的例子
在这个例子中,订单数组中的第一个订单有规范的项目,而订单数组中的第二个订单没有规范的项目.

{
  "payload": {
    "Orders": [
      {
        "BuyerInfo": {},
        "AmazonOrderId": "026-1520163-6049104",
        "EarliestShipDate": "2022-03-10T00:00:00Z",
        "SalesChannel": "Amazon.co.uk",
        "AutomatedShippingSettings": {
          "HasAutomatedShippingSettings": false
        },
        "OrderStatus": "已取消",
        "NumberOfItemsShipped": 0,
        "订单类型": "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",
          "金额": "20.00"
        },
        "PaymentMethodDetails": [
          "标准"
        ],
        "IsGlobalExpressEnabled": false,
        "LastUpdateDate": "2022-03-14T22:05:14Z",
        "ShipmentServiceLevelCategory": "标准"
      }, 
      {
        "BuyerInfo": {},
        "AmazonOrderId": "203-1028129-8694751",
        "EarliestShipDate": "2022-03-17T00:00:00Z",
        "SalesChannel": "Amazon.co.uk",
        "AutomatedShippingSettings": {
          "HasAutomatedShippingSettings": false
        },
        "OrderStatus": "已取消",
        "NumberOfItemsShipped": 0,
        "订单类型": "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",
          "金额": "20.00"
        },
        "PaymentMethodDetails": [
          "标准"
        ],
        "IsGlobalExpressEnabled": false,
        "LastUpdateDate": "2022-03-29T01:55:37Z",
        "ShipmentServiceLevelCategory": "标准"
      }
    ],
    "CreatedBefore": "2022-04-22T07:23:40Z"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

# Tutorial: 如何检索一个订单的监管信息

本教程告诉您如何检索与订单相关的监管信息.

先决条件

要完成本教程,您需要

1.来自您为之打电话的卖家的授权.参见销售伙伴API开发者指南了解更多信息.

1.在你的开发者档案中批准直接-to-Consumer Delivery (Restricted)的角色.

1.在应用程序注册页面中为您的应用程序选择了直接-to-Consumer Delivery (Restricted)的角色.

# 步骤1.检索访问受监管信息所需的受限数据令牌

在本教程的第2步中,您将需要一个RDT来检索订单的监管信息.本步骤向您展示如何检索第2步所需的RDT.

1.调用createRestrictedDataToken操作,传递以下参数

参数 描述要求
受限制的资源 限制性资源的列表.

Type: array<RestrictedResource>

是的

请求的例子

POST https://sellingpartnerapi-eu.amazon.com/tokens/2021-03-01/restrictedDataToken
{
  "restrictedResources": [
    {
      "方法": "GET",
      "path": "/orders/v0/orders/{orderId}/regulatedInfo"
    }
  ]
}
1
2
3
4
5
6
7
8
9

Response
请看CreateRestrictedDataTokenResponse中关于响应属性的其它细节.

响应的例子

{
  "expiresIn": 3600,
  "restrictedDataToken": "Atz..."
}
1
2
3
4

2.保存 "restrictedDataToken "值(RDT)用于步骤2.检索与订单相关的监管信息.

# 步骤2.检索与一个订单相关的监管信息

调用[getOrderRegulatedInfo](doc orders-api-v0-reference#get-ordersv0ordersorderidregulatedinfo)操作,传入订单的orderId,该订单有你想要检索的监管信息.确保在调用getOrderRegulatedInfox-amz-access-token头中包含前一步的RDT.

路径参数

参数 描述要求
orderId 一个亚马逊-定义的订单标识符,以3-7-7的格式.

类型: string

是的

请求的例子

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

响应

一个成功的响应包括关于订单的信息,是否需要剂量标签,订单的验证状态,以及要求的监管信息,取决于订单的状态.关于成功响应中可能包括的对象和属性的详细信息,见API参考中的OrderRegulatedInfo

响应的例子 (pending order):

{
  "payload": {
    "AmazonOrderId": "205-1725759-9209952",
    "RequiresDosageLabel": true,
    "RegulatedInformation": {
      "字段": [
        {
          "FieldLabel": "物种"
          "FieldId": "petsSpecies"
          "FieldValue": "猫"
          "FieldType": "文本"
        }, {
          "FieldLabel": "宠物名称"
          "FieldId": "petsName"
          "字段值": "Snowy"
          "FieldType": "文本"
        }, {
          "FieldLabel": "出生日期"
          "FieldId": "petsDateOfBirth"
          "字段值": "2021年8月15日"
          "字段类型": "文本"
        }, {
          "FieldLabel": "重量"
          "FieldId": "petsWeight"
          "字段值": "1公斤"
          "字段类型": "文本"
        }, {
          "FieldLabel": "性别"
          "FieldId": "petsGender"
          "字段值": "女性"
          "字段类型": "文本"
        }, {
          "FieldLabel": "你的宠物是否在哺乳?"
          "FieldId": "petsLactating"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否怀孕?"
          "FieldId": "petsPregnant"
          "字段值": "是"
          "字段类型": "文本"
        }, {
          "FieldLabel": "怀孕阶段"
          "FieldId": "petsPregnancyStage"
          "字段值": "第二个三个月"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否有过敏症?"
          "FieldId": "petsAllergies"
          "字段值": "是"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否已经绝育?"
          "FieldId": "petsNeutered"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否服用其他药物?"
          "FieldId": "petsAdditionalMedicationRadio"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "snowy prescription 1",
          "FieldId": "雪亮的处方1"
          "FieldValue": "https://...",
          "FieldType": "FileAttachment"
        }
      ]
    },
    "RegulatedOrderVerificationStatus": {
      "状态": "Pending",
      "RequiresMerchantAction": true,
      "ValidRejectionReasons": [
        {
          "RejectionReasonId": "shield_pom_v_reject_pregnant_only",
          "RejectionReasonDescription": "不适合怀孕的宠物"
        }, {
          "RejectionReasonId": "shield_pom_v_reject_product",
          "RejectionReasonDescription": "该产品不适合"
        }, {
          "RejectionReasonId": "shield_pom_v_reject_reject_age",
          "RejectionReasonDescription": "你的宠物太年轻了,不适合吃这种药."
        }
      ]
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87

响应的例子 (approved order):

{
  "payload": {
    "AmazonOrderId": "205-1725759-9209952",
    "RequiresDosageLabel": true,
    "RegulatedInformation": {
      "字段": [
        {
          "FieldLabel": "物种"
          "FieldId": "petsSpecies"
          "FieldValue": "猫"
          "FieldType": "文本"
        }
      ]
    },
    "RegulatedOrderVerificationStatus": {
      "状态": "批准"
      "RequiresMerchantAction": false,
      "ExternalReviewerId": "externalId",
      "ReviewDate": "1970-01-19T03:59:27Z",
      "ValidRejectionReasons": []
    }
  }
}


**响应示例** (rejected order):

```json
{
  "payload": {
    "AmazonOrderId": "205-1725759-9209952",
    "RequiresDosageLabel": true,
    "RegulatedInformation": {
      "字段": [
        {
          "FieldLabel": "物种"
          "FieldId": "petsSpecies"
          "FieldValue": "猫"
          "FieldType": "文本"
        }
      ]
    },
    "RegulatedOrderVerificationStatus": {
      "状态": "已拒绝"
      "RequiresMerchantAction": false,
      "ExternalReviewerId": "externalId",
      "ReviewDate": "1970-01-19T03:59:27Z",
      "RejectionReason": {
        "RejectionReasonId": "shield_pom_vps_reject_species",
        "RejectionReasonDescription": "这种药不适合这个宠物的物种"
      }
      "ValidRejectionReasons": []
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

响应的例子 (cancelled order)

{
  "payload": {
    "AmazonOrderId": "202-5156092-2672318",
    "RequiresDosageLabel": false,
    "RegulatedInformation": {
      "字段": [
        {
          "FieldLabel": "物种"
          "FieldId": "petsSpecies"
          "FieldValue": "狗"
          "FieldType": "文本"
        }, {
          "FieldLabel": "出生日期"
          "FieldId": "petsDateOfBirth"
          "字段值": "2019年3月8日"
          "字段类型": "文本"
        }, {
          "FieldLabel": "重量"
          "FieldId": "petsWeight"
          "字段值": "44公斤"
          "字段类型": "文本"
        }, {
          "FieldLabel": "性别"
          "FieldId": "petsGender"
          "字段值": "男性"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否有过敏症?"
          "FieldId": "petsAllergies"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否已经绝育?"
          "FieldId": "petsNeutered"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否服用其他药物?"
          "FieldId": "petsAdditionalMedicationRadio"
          "字段值": "没有"
          "字段类型": "文本"
        }
      ]
    },
    "RegulatedOrderVerificationStatus": {
      "状态": "取消了"
      "RequiresMerchantAction": false,
      "ValidRejectionReasons": []
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

响应的例子 (expired order)

{
  "payload": {
    "AmazonOrderId": "205-2554781-3212354",
    "RequiresDosageLabel": true,
    "RegulatedInformation": {
      "字段": [
        {
          "FieldLabel": "物种"
          "FieldId": "petsSpecies"
          "FieldValue": "猫"
          "FieldType": "文本"
        }, {
          "FieldLabel": "出生日期"
          "FieldId": "petsDateOfBirth"
          "字段值": "2020年1月25日"
          "字段类型": "文本"
        }, {
          "FieldLabel": "重量"
          "FieldId": "petsWeight"
          "字段值": "2公斤"
          "字段类型": "文本"
        }, {
          "FieldLabel": "性别"
          "FieldId": "petsGender"
          "字段值": "男性"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否有过敏症?"
          "FieldId": "petsAllergies"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否已经绝育?"
          "FieldId": "petsNeutered"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "您的宠物是否服用其他药物?"
          "FieldId": "petsAdditionalMedicationRadio"
          "字段值": "没有"
          "字段类型": "文本"
        }, {
          "FieldLabel": "JPEG 2 prescription 1",
          "FieldId": "JPEG 2处方1"
          "FieldValue": "https://...",
          "FieldType": "FileAttachment"
        }
      ]
    },
    "RegulatedOrderVerificationStatus": {
      "状态": "过期"
      "RequiresMerchantAction": false,
      "ValidRejectionReasons": []
    }
  }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

# Tutorial: 如何批准或拒绝一个受监管的订单

本教程告诉您如何批准或拒绝包含受监管信息的订单.

先决条件

要完成本教程,您需要

1.来自您为之打电话的卖家的授权.参见销售伙伴API开发者指南了解更多信息.

1.在你的开发者档案中批准直接-to-Consumer Delivery (Restricted)的角色.

1.在应用程序注册页面中为您的应用程序选择了直接-to-Consumer Delivery (Restricted)的角色.

# 步骤1.批准或拒绝一个受管制的订单

调用updateVerificationStatus操作,传递以下参数

路径参数

参数 描述要求
订单编号 一个亚马逊-定义的订单标识符,以3-7-7的格式.

类型: string

是的

身体的参数

参数 描述要求
受监管的订单验证状态(regulatedOrderVerificationStatus 更新的验证状态属性.

类型UpdateVerificationStatusRequestBody

是的

请求示例 (Approved):

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo
{
  "regulatedOrderVerificationStatus": {
    "状态": "批准"
    "externalReviewerId": "reviewer1234"
  }
}
1
2
3
4
5
6
7

请求示例 (Rejected):

PATCH https://sellingpartnerapi-eu.amazon.com/orders/v0/orders/205-1725759-9209952/regulatedInfo
{
  "regulatedOrderVerificationStatus": {
    "状态": "Rejected"(拒绝)
    "externalReviewerId": "reviewer1234",
    "rejectionReasonId": "shield_pom_vps_reject_incorrect_weight"
  }
}
1
2
3
4
5
6
7
8

响应

注意:该操作的响应为空