Easy Ship API v2022-03-23 用例指南

亚马逊SPAPI

# 什么是Easy Ship API?

Easy Ship的销售伙伴API让你为卖家建立应用程序,以管理和运送亚马逊Easy Ship订单的包裹.

主要特点 获得可用的时间段. 为Easy Ship订单安排和重新安排Easy Ship包裹的时间. 打印运输标签、发票和保修文件.

# Tutorial: 安排一个易发货包

本教程将指导您如何使用Easy Ship API为Easy Ship订单安排包裹.

# 步骤1.获取可用时间段

调用listHandoverSlots操作来获取未安排的Easy Ship订单的可用时间段列表.确保以下内容

  • 指定的亚马逊订单ID应该是一个Easy Ship订单,并且处于未发货状态.
  • 该请求应包括所需的包装重量和尺寸.

非易发货订单和处于待发货状态的订单将返回一个错误响应.

请求

Call the listHandoverSlots operation.

请求示例

POST https://sellingpartnerapi-eu.amazon.com/easyShip/2022-03-23/timeSlot
{
  "amazonOrderId": "933-1443575-9112638",
  "marketplaceId": "a21tjruun4kgv",
  "packageDimensions": {
    "长度": 20.0,
    "宽度": 10.0,
    "高度": 12.0,
    "单位": "Cm",
    "标识符": "测试"
  },
  "packageWeight": {
    "值": 100.0,
    "单位": "G"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

响应

一个成功的响应包括可用的时间段列表.每个时间段将指定卖家需要将包裹移交给亚马逊承运人的方法.参见支持的移交方法了解更多细节.请确保保存所需时间段的slotIdstartTimeendTime以便下一步操作.

响应示例

{
  "amazonOrderId": "933-1443575-9112638",
  "timeSlots": [
    {
      "handoverMethod": "Pickup",
      "slotId": "AQc48yxSAAAAADZG0qQAAAAA6kkAAAA=",
      "startTime": "2022-03-09T23:30:00Z",
      "endTime": "2022-03-10T02:00:00Z"
    },
    {
      "handoverMethod": "Pickup",
      "slotId": "AQef4K2CAAAAAGdIAEAAAAAA6kkAAAA=",
      "startTime": "2022-03-10T02:00:00Z",
      "endTime": "2022-03-10T04:30:00Z"
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Step 2.创建一个Easy Ship包

调用createScheduledPackage操作,为一个未排期的Easy Ship订单创建一个包.确保以下几点

  • 指定的亚马逊订单ID应该是一个Easy Ship订单,并且处于未发货状态.
  • 该请求应包括所需的包装重量和尺寸.

非易发货订单和处于待发货状态的订单将返回一个错误响应.

请求

Call the createScheduledPackage operation.

请求示例

POST https://sellingpartnerapi-eu.amazon.com/easyShip/2022-03-23/package
{
  "amazonOrderId": "933-1443575-9112638",
  "marketplaceId": "a21tjruun4kgv",
  "packageDetails": {
    "packageTimeSlot": {
      "slotId": "AQc48yxSAAAAADZG0qQAAAAA6kkAAAA=",
      "startTime": "2022-03-09T23:30:00Z",
      "endTime": "2022-03-10T02:00:00Z"
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12

响应

一个成功的响应包括包裹的重量和尺寸、发票细节(如果有的话)、选择的时间段和包裹的状态.

响应的例子

{
  "packageDimensions": {
    "标识符": "test",
    "单位": "Cm",
    "长度": 20,
    "宽度": 10,
    "高度": 12
  },
  "packageWeight": {
    "单位": "G",
    "值": 50
  },
  "发票": {
    "invoiceNumber": "IN-456",
    "InvoiceDate": "1.636404098172E9"
  },
  "scheduledPackageId": {
    "amazonOrderId": "933-1443575-9112638",
    "packageId": "b4be5116-98b1-6f20-a47b-03de178cfb4f"
  },
  "packageStatus": "ReadyForPickup",
  "packageTimeSlot": {
    "slotId": "AQc48yxSAAAAADZG0qQAAAAA6kkAAAA=",
    "startTime": "2022-03-09T23:30:00Z",
    "endTime": "2022-03-10T02:00:00Z"
  },
  "trackingDetails": {
    "trackingId": "2045079155"
  }
}
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

# Tutorial: 重新安排一个Easy Ship包裹的时间

本教程指导如何使用Easy Ship API为Easy Ship订单重新安排包裹时间.我们目前只允许卖家更新Easy Ship包裹的选定时间段.对于本教程中的两项操作,指定的亚马逊订单ID必须已经被安排,并且Easy Ship包裹必须处于有效状态.参见教程检查Easy Ship包裹的状态了解更多细节.

# 步骤1.获取可供重新安排的时间段

调用 "listHandoverSlots "操作来获取已安排的Easy Ship订单的可用时间段列表.

请求

Call the listHandoverSlots operation.

请求示例

POST https://sellingpartnerapi-eu.amazon.com/easyShip/2022-03-23/timeSlot
{
  "amazonOrderId": "933-1443575-9112638",
  "marketplaceId": "a21tjruun4kgv",
  "packageDimensions": {
    "长度": 20.0,
    "宽度": 10.0,
    "高度": 12.0,
    "单位": "Cm",
    "标识符": "测试"
  },
  "packageWeight": {
    "值": 100.0,
    "单位": "G"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

响应

一个成功的响应包括可用的时间段列表. 确保为下一步保存所需时间段的slotId',startTime', 和`endTime'.

响应示例

{
  "amazonOrderId": "933-1443575-9112638",
  "timeSlots": [
    {
      "handoverMethod": "Pickup",
      "slotId": "AQc48yxSAAAAADZG0qQAAAAA6kkAAAA=",
      "startTime": "2022-03-09T23:30:00Z",
      "endTime": "2022-03-10T02:00:00Z"
    },
    {
      "handoverMethod": "Pickup",
      "slotId": "AQef4K2CAAAAAGdIAEAAAAAA6kkAAAA=",
      "startTime": "2022-03-10T02:00:00Z",
      "endTime": "2022-03-10T04:30:00Z"
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# Step 2.更新一个Easy Ship包

调用updateScheduledPackages操作来更新一个Easy Ship包的时间段.

请求

Call the updateScheduledPackages operation.

请求示例

PATCH https://sellingpartnerapi-eu.amazon.com/easyShip/2022-03-23/package { "marketplaceId": "A21TJRUUN4KGV", "updatePackageDetailsList":[ { "schedulePackageId":{ "amazonOrderId":"933-1443575-9112638", "packageId":"b4be5116-98b1-6f20-a47b-03de178cfb4f" }, "packageTimeSlot":{ "slotId": "AQef4K2CAAAAAGdIAEAAAAAA6kkAAAA=", "startTime": "2022-03-10T02:00:00Z", "endTime": "2022-03-10T04:30:00Z" } } ] }


**响应**

一个成功的响应包括包的详细信息和更新的时间段.

响应的例子

```json
{
  "packages": [
    {
      "packageDimensions": {
        "标识符": "test",
        "单位": "Cm",
        "长度": 20,
        "宽度": 10,
        "高度": 12
      },
      "packageWeight": {
        "单位": "G",
        "值": 50
      },
      "发票": {
        "invoiceNumber": "IN-456",
        "InvoiceDate": "1.636404098172E9"
      },
      "scheduledPackageId": {
        "amazonOrderId": "933-1443575-9112638",
        "packageId": "b4be5116-98b1-6f20-a47b-03de178cfb4f"
      },
      "packageStatus": "ReadyForPickup",
      "packageTimeSlot": {
        "slotId": "AQef4K2CAAAAAGdIAEAAAAAA6kkAAAA=",
        "startTime": "2022-03-10T02:00:00Z",
        "endTime": "2022-03-10T04:30:00Z"
      },
      "trackingDetails": {
        "trackingId": "2045079155"
      }
    }
  ]
}
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

# Tutorial: 检查一个Easy Ship包裹的状态

本教程指导如何使用Easy Ship API来检查Easy Ship包裹的状态.该操作允许卖家查看Easy Ship包裹的指定重量、尺寸、时间段和其他细节.

包裹的状态会随着包裹事件的发生而更新. 一些此类事件的例子包括

  • 一个包裹被移交给了亚马逊的承运人.
  • 一个包裹已经交付给一个买家.
  • 一个包裹被取消了.
  • 一个包裹在运输途中丢失.

在重新安排之前,检查包裹的当前状态是非常有用的,因为包裹被移交给亚马逊承运人之后,就不能再重新安排了.如果在一个处于无效状态的Easy Ship包裹上尝试重新安排操作,将以 "InvalidOrderState "的代码失败.请参见[*packageStatus](doc easyship-api-reference#/definitions/PackageStatus)了解包裹的所有不同状态.

# 步骤1.获得一个易发货包

调用 "getScheduledPackage "操作来获取一个Easy Ship包的详细信息.

请求

Call the getScheduledPackage operation.

请求示例

GET https://sellingpartnerapi-eu.amazon.com/easyShip/2022-03-23/package?marketplaceId=A21TJRUUN4KGV&amazonOrderId=933-6451079-5067861
1

响应

一个成功的响应包括包的详细信息.

响应的例子

{
  "packageDimensions":{
    "单位": "Cm",
    "长度":20
    "宽度":10,
    "高度":12
  },
  "包装重量":{
    "单位": "G"
    "值":50
  },
  "发票":{
    "invoiceNumber":"IN-442"
  },
  "schedulePackageId":{
    "amazonOrderId":"933-6451079-5067861",
    "packageId":"88be1771-923c-d581-5e29-e8a310916185"
  },
  "packageStatus": "ReadyForPickup",
  "packageTimeSlot":{
    "slotId": "AQef4K2CAAAAAGdIAEAAAAAA6kkAAAA="
    "startTime": "2022-03-10T02:00:00Z",
    "endTime": "2022-03-10T04:30:00Z"
  },
  "trackingDetails": {
    "trackingId": "2045079155"
  }
}
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

# 如何处理需要序列号的订单物品

亚马逊易发货订单中的一些商品需要序列号,这样亚马逊才能为它们生成保修文件.使用getOrderItems操作来找出哪些商品需要序列号.

# 步骤1.获得需要序列号的订单列表

调用getOrderItems (opens new window)操作,指定你要为之创建预定包的订单的亚马逊订单ID.

亚马逊按顺序返回商品,用SerialNumberRequired=true.标记需要序列号的商品

# 步骤2.安排有序列号的易发货包裹

调用createScheduledPackage操作,使用PackageItems为步骤1中标有SerialNumberRequired=true的所有物品指定序列号. 不要为标有SerialNumberRequired=false的物品指定序列号

亚马逊会为你指定序列号的商品生成保修文件.关于在你创建预定包裹时获得亚马逊生成的文件的信息,请参阅如何获得发票、运输标签和保修文件.

# 如何获得运输标签、发票和保修文件

当买家在印度下达亚马逊易发货订单时,亚马逊会生成一张发票.当你调用CreateScheduledPackage操作为订单安排一个亚马逊易发货的时间段时,亚马逊会生成一个发货标签.如果你在调用CreateScheduledPackage时,包括你指定的商品的序列号,亚马逊也会为这些商品生成保修文件.本主题解释如何为安排的亚马逊易发货订单获取发票、发货标签和保修单.

# 步骤1.提交一个Easy Ship Feed请求

提交Feed请求,为所需的Easy Ship订单索取文件.一旦Feed请求被成功处理,您可以下载处理报告,以获得报告的参考编号.然后可以在下一步使用,下载所请求的Easy Ship文件.

1.按照教程提交送件 (opens new window),提交Easy Ship送件.该教程解释了从提交送件文件到验证送件请求已成功完成的所有步骤. - FeedContent.使用EasyshipDocuments.xsd (opens new window)来形成feed文件的内容.见下面的例子. - FeedType. Specify POST_EASYSHIP_DOCUMENTS (opens new window) when calling the createFeed (opens new window) operation. - ReportReferenceId.如果Feed处理报告中没有错误,返回的值可以在下一步使用.见下面的例子.

Easy Ship Feed文件的例子:

```xml
  <?xml version="1.0" encoding="utf-8" ?
  <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
    <标题></p><p><p>
      <DocumentVersion>1.01</DocumentVersion>
      <MerchantIdentifier>ABCDEFG007V</MerchantIdentifier>
    </标题></Header>
    <MessageType>EasyShipDocument</MessageType>
    <消息></Message></Message></Message><
      <MessageID>1</MessageID>
      <EasyShipDocument></Message>
        <AmazonOrderID>933-6451079-5067861</AmazonOrderID>
        <DocumentType>ShippingLabel</DocumentType>
        <DocumentType>Invoice</DocumentType>(发票)
        <DocumentType>Warranty</DocumentType>
      </EasyShipDocument>
    </Message>
  </Message> </AmazonEnvelope>
```

** Easy Ship Feed处理报告的例子:**

```xml
  <? xml version="1.0" encoding="UTF-8" standalone="yes"?
  <EasyShipProcessingReport>(易发货处理报告)
    <FeedSubmissionID>98765432100</FeedSubmissionID>
    <MessagesProcessed>1</MessagesProcessed>
    <MessagesSuccessful>1</MessagesSuccessful>
    <信息错误>0</MessagesWithError></MessagesWithError>
    <DocumentReportReferenceID>123456789000</DocumentReportReferenceID>
  </EasyShipProcessingReport></EasyShipProcessingReport>
```

# 第2步.获取PDF文件

获取一个PDF文件,其中包含了亚马逊易发货订单的发票、运输标签和保证书((如果有的话))文件.

1.调用getReport (opens new window)操作.当指定reportId参数时,使用步骤1.提交Easy Ship Feed请求中的ReportReferenceId值.

该操作返回一个reportDocumentId值,你可以在下面的步骤中把这个值传给*getReportDocument (opens new window)操作.

2.调用*getReportDocument (opens new window)操作,指定上一步的reportDocumentId.参见如何检索报告 (opens new window)了解更多细节.

# 市场支持

Easy Ship操作只在特定的市场中可用,每个市场对特定操作的支持都不一样.请看下表,了解各市场支持的操作.

# 市场支持表

市场 地区 支持的交接方法 获取时间段 创建包裹 更新包裹 获取包裹状态 发货标签 发票 保修
墨西哥 NA 仅提货 仅不定期订单 支持 不支持 支持 支持 支持 不支持
India EU Pickup only Scheduled & Unscheduled Orders Supported Supported Supported Supported Supported Supported
土耳其 欧盟 提货和送货 仅有未安排的订单 支持 不支持 支持 支持 支持 不支持
澳大利亚 FE 仅提货 仅不定期订单 支持 不支持 支持 支持 不支持 不支持
新加坡 FE 仅提货 仅未安排的订单 支持 不支持 支持 支持 不支持 不支持