订单准备
如果您使用API-Key令牌,调用该方法时需要具备列表中可用权限之一
- inventory-and-order-processing — 订单处理和商品核算
- all-methods — 全面管理账户
它也适用于 DBS
该查询旨在处理FBS订单,但如果方便,您可以使用它来处理DBS订单。
允许您执行三个操作:
- 向市场发送有关按箱配送货物的信息;
- 将产品的标签代码发送到市场;
- 从订单中删除一个项目,如果它没有库存.
如果您需要纠正传输数据中的某些内容,只需重复请求即可。 在订单状态更改之前,您可以根据需要多次执行此操作。 准备装运. 如果您在打印和粘贴标签后更改布局,请不要忘记重新打印并再次粘贴。
如何发送有关货物分发的信息
在此请求中,您需要向市场发送一个盒子列表,并指定每个盒子中的产品。 有两种类型的盒子:
-
含整个产品。 这样的盒子可以包含任何种类的任何数量的物品。
-
含产物的一部分。 这种盒子包含每种产品的一部分。 例如,一个包含外部空调器单元,而另一个包含内部单元。
一个盒子不能同时包含整个货物和部分货物。
如何转移标记代码
系统中货物的标签 «Честный ЗНАК» 个人订单可选
对于业务订单,您仍然需要发送标签代码。
如果订单中包含有标签的产品,则必须在请求中提供相应的唯一代码。 什么是标签?
接受以下类型的代码:
- 系统中的代码 «Честный ЗНАК» 或 «ASL BELGISI» (对于卖家 Market Yandex Go).
- 赢得珠宝。
- 进口可追溯货物的RNPT和GTD.
对于需要标签的顺序中的每个项目,您需要发送一个代码列表,每个项目一个。 例如,如果订单中有两双拖鞋和一双鞋子,您将获得第一个位置的两个代码列表和第二个位置的一个代码列表。
如果产品在多个盒子中旅行,则必须为每个盒子传输标签代码。
对于包含珠宝的订单
订单状态将更改为 READY_TO_SHIP
,只有当:
- 你会给商店的订单中的每一件珠宝的责任。
- 所有插件将被成功验证。 如何获取登录验证状态
如何从订单中删除商品
从订单中删除商品:
- 添加到请求中
允许爱情:真的
. - 将分发转移到没有要删除的项目的框中.
删除无法撤消
此操作不可逆转:买方将立即收到通知,订单组成将发生变化。
要删除整个位置,请不要传递相应的 OrderBoxLayoutItemDTO
. 要减少产品的数量,请在字段中传递减少的值 fullCount
.
您不能删除或减少项目的数量,如果它:
- 特别优惠增加;
- 相当于订单价值的99%;
- 订单中唯一的产品。
如果您无法运送此类物品,请取消订单。 为此,请使用以下方法发送请求 PUT v2/campaigns/{campaignId}/orders/{orderId}/status 并发送订单状态 CANCELLED
与取消的原因 SHOP_FAILED
.
你不能增加订单
您不能使用查询来增加相同物料的数量、向订单添加新物料或将一个物料替换为另一个物料。
例子:
产品放在盒子里
如果他们在同一个盒子里旅行,这就是请求的样子:
- 需要贴标签的同一产品的三个单元;
- 不需要标签的另一个产品的一个单元。
{
"boxes": [
{
"items": [
{
"id": 123456,
"fullCount": 3,
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
},
{
"cis": "010304109478gftJ14545762!\u001dhGt264"
},
{
"cis": "010304109478fRs28323ks23!\u001dhet201"
}
]
},
{
"id": 654321,
"fullCount": 1
}
]
}
]
}
货物在不同的箱子里旅行
如果产品有两个盒子,这就是请求的样子:
{
"boxes": [
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 1,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
},
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 2,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
}
]
}
相同的商品,每个人都在几个盒子里旅行
如果两个相同的产品中的每一个都装在两个盒子里,这就是请求的样子:
{
"boxes": [
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 1,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
},
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 2,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
},
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 1,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
},
{
"items": [
{
"id": 123456,
"partialCount": {
"current": 2,
"total": 2
},
"instances": [
{
"cis": "01030410947874432155Qbag!\u001d93Zjqw"
}
]
}
]
}
]
}
**⚙️ 限制:**每小时100,000次请求 |
---|
Request
PUT
https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/orders/{orderId}/boxes
Path parameters
Name |
Description |
campaignId* |
Type: integer<int64> 活动ID。 您可以使用查询找到它 :no-translate[GET v2/campaigns] 或者在市场上的卖家办公室找到它-点击您的企业名称并转到页面:
,不要发送商店的ID,而不是,这是在卖方的帐户在市场上的商店名称旁边和一些报告。
Min value: |
orderId* |
Type: integer<int64> 的订单ID。 |
Body
application/json
{
"boxes": [
{
"items": [
{
"id": 0,
"fullCount": 0,
"partialCount": {
"current": 0,
"total": 0
},
"instances": [
{
"cis": "string",
"uin": "string",
"rnpt": "string",
"gtd": "string",
"countryCode": "RU"
}
]
}
]
}
],
"allowRemove": false
}
Name |
Description |
boxes* |
Type: OrderBoxLayoutDTO[] 框的列表。 Min items: |
allowRemove |
Type: boolean 传下去 Default: |
OrderBoxLayoutDTO
箱的信息。
Name |
Description |
items* |
Type: OrderBoxLayoutItemDTO[] 箱中的产品列表。 如果盒子里有一个大的产品的一部分,列表中只能有一个项目。
Min items: |
OrderBoxLayoutItemDTO
盒中的产品的信息。
Name |
Description |
id* |
Type: integer<int64> 订单中的产品ID。 它是为了响应一个请求 GET v2/campaigns/{campaignId}/orders/{orderId} -参数 |
fullCount |
Type: integer<int32> 一个盒子里的项目数。 如果框中有未分成部分的整个项目,请使用此字段。 不要在同一时间使用此字段 Min value: |
instances |
Type: BriefOrderItemInstanceDTO[] 您提供的标记代码。 只填写一个字段,具体取决于产品标记在哪个系统中。 提供了有关使用标签商品的详细信息 在市场对卖家的帮助. Min items: |
partialCount |
Type: OrderBoxLayoutPartialCountDTO Часть товара в коробке. Используйте это поле, если в коробке поедет часть большого товара. Не используйте это поле одновременно с |
BriefOrderItemInstanceDTO
产品单元ID。
只填写一个字段,具体取决于产品标记在哪个系统中。
提供了有关使用标签商品的详细信息 在市场对卖家的帮助.
Name |
Description |
cis |
Type: string 识别码 系统中的产品单元 "诚实的标志" 或 "ASL BELGISI" (对于Yandex Go市场的卖家)。 不要转义分隔符代码中的斜杠。 ✅ ❌ 根据JSON规则在其他地方转义斜杠和引号。: |
countryCode |
Type: string 生产国采用ISO3166-1alpha-2格式。 如何获得 Example: Min length: Max length: Pattern: |
gtd |
Type: string 货物报关。 它是由斜杠分隔的三个数字组成的字符串:XXXXXXX/XXXXXXXXX/XXXXXXXXXXX。 第一部分是登记进口货物申报的海关编码。 接下来是声明的日期和编号。 |
rnpt |
Type: string 品批次的注册号。 它是由斜杠分隔的四个数字组成的字符串:XXXXXXX/XXXXXXX/XXXXXXXXX/XXX。 第一部分是注册货物申报的海关办公室的代码。 接下来是日期、声明编号以及声明中标记产品的编号。 |
uin |
Type: string 珠宝的唯一标识号。 这是一个16位数字。 |
OrderBoxLayoutPartialCountDTO
盒中的产品的部分的信息。
Name |
Description |
current* |
Type: integer<int32> 零件编号,从1开始。 Min value: |
total* |
Type: integer<int32> 产品分成的总份数。 Min value: |
Responses
200 OK
作为响应,您将收到带有框Id的传输布局。 您将需要他们请求标签。
Body
application/json
{
"status": "OK",
"result": {
"boxes": [
{
"items": [
{
"id": 0,
"fullCount": 0,
"partialCount": {
"current": 0,
"total": 0
},
"instances": [
{
"cis": "string",
"uin": "string",
"rnpt": "string",
"gtd": "string",
"countryCode": "RU"
}
]
}
],
"boxId": 0
}
]
}
}
Name |
Description |
status* |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
result |
Type: OrderBoxesLayoutDTO 分箱配送货物。 |
ApiResponseStatusType
响应的类型。 可能的值:
OK
-没有错误。ERROR
-处理请求时发生错误。
Type |
Description |
Enum: |
OrderBoxesLayoutDTO
分箱配送货物。
Name |
Description |
boxes* |
Type: EnrichedOrderBoxLayoutDTO[] 框的列表。 |
EnrichedOrderBoxLayoutDTO
箱的信息。
Name |
Description |
items* |
Type: OrderBoxLayoutItemDTO[] 箱中的产品列表。 如果盒子里有一个大的产品的一部分,列表中只能有一个项目。
Min items: |
boxId |
Type: integer<int64> 箱的ID。 |
400 Bad Request
请求包含不正确的数据。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
ApiErrorDTO
一般错误格式。
Name |
Description |
code* |
Type: string 的错误代码。 |
message |
Type: string 错误的描述。 |
401 Unauthorized
请求中未指定授权数据。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
403 Forbidden
授权数据不正确或禁止访问资源。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
404 Not Found
找不到请求的资源。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
420 Method Failure
已超出资源访问限制。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
500 Internal Server Error
Yandex的内部错误。 市场。 有关错误的更多信息
Body
application/json
{
"status": "OK",
"errors": [
{
"code": "string",
"message": "string"
}
]
}
Name |
Description |
errors |
Type: ApiErrorDTO[] 错误列表。 Min items: |
status |
Type: ApiResponseStatusType 响应的类型。 可能的值:
Enum: |
No longer supported, please use an alternative and newer version.
Значение cis
должно соответствовать регулярному выражению ^(?=.{1,256}$)\u001D?(\(?01\)?\d{14}\(?21\)?([!-~]{6,8}|[!-~]{13}|[!-~]{20})(\u001D\(?240\)?.{1,30})?\u001D\(?9[1,3]\)?.+)$
.
Без криптохвоста — ^(?=[!-~]{1,256}$)(\(?01\)?\d{14}\(?21\)?(.{6,8}|.{13}|.{20}))$
.