通知外部商家创单
接口说明
抖音侧通知第三方创建点单订单。仅支持 支付前 通知第三方创单。
基本信息
Scope | life.trade.meal_retail_spi_create_order_notify | |||
权限要求 | 在线点单交易能力 | |||
回调场景 | 抖音侧调第三方创建点单订单 |
请求头
- •Content-Type:
application/json
- •X-Bytedance-Logid: 请求 logid, 用于问题排查用
- •x-life-clientkey: 服务商应用的 client_key
- •X-life-sign: 请求签名,签名规则
请求参数
名称 | 类型 | 是否必填 | 描述 | 示例值 | 备注 |
order_id | string | 是 | 抖音侧订单 ID(可作幂等键) | 100001 | |
open_id | string | 是 | 经过网关加密的用户ID,购买人 | | |
account_id | string | 是 | 商家ID | | |
poi_id | string | 是 | 抖音POI_ID(即门店id) | | |
sku_list | list | 是 | | | 点单商品信息 |
- sku_id | string | 是 | 抖音侧规格 ID | | |
- sku_name | string | 是 | 抖音侧规格 名称 | | |
- product_id | string | 是 | 抖音侧商品 ID | 1773200310436864 | |
- product_name | string | 是 | 抖音侧商品 名称 | | |
- sku_out_id | string | 否 | 第三方规格 ID | | |
- product_out_id | string | 否 | 第三方商品 ID | 1773200310436864 | |
- count | int | 是 | 购买份数 | 3 | |
- unit_amount | int | 是 | 商品单价 | 10000 | |
- item_orders | list | 是 | | | |
-- item_order_id | string | 是 | Item单ID | | |
--commodity_weight | object | 否 | 份量 | | |
---count | int | 否 | 份数 | 1 | |
---unit | string | 否 | 单位 | 杯、份 | |
-- sku_specs | list | 是 | 糖度/温度/大中小杯 | | |
--- attr_key | string | 是 | 规格属性名 | cup | |
--- item_key | string | 是 | 规格属性值-英文 | mid_cup | |
--- item_name | string | 是 | 规格属性值-中文 | 中杯 | |
-- item_relations | list | | Item 层关联关系 | | |
--- relate_to_level | Int | 是 | 关联层级,点单为Item
| | |
--- relate_to_id | string | 是 | 关联ID,点单为ItemID | | |
--- relate_id_type | int | 是 | 关联ID类型
| | |
--- relate_reason_type | int | 是 | 关联原因类型
| | |
--- relate_outer_item_order_id | string | 否 | 暂未透出(3月初上线) | | |
--- relate_serial_num | string | 否 | 暂未透出(3月初上线) | | |
--- relate_outer_shop_order_id | string | 否 | 仅 relate_reason_type = 3 设置,表示点单品订单 关联的 第一笔团购券订单ID;三方码商家需关注 | | |
--- relate_third_part_code | string | 否 | 该字段当且仅当Item单锁定的券码为三方码且是点单订单且relate_reason_type=3时才有值,对应的值即为点单item对应锁定的三方券码;三方码商家需关注 | | |
amount | struct | 是 | 金额信息,订单金额结构 | | |
- origin_amount | int | 是 | 订单原价=商品售卖价*购买数量 | 30000 | 第二单(点单订单) |
- discount_amount | int | 是 | 订单总优惠金额 | | 第二单(点单订单) |
- pay_amount | int | 是 | 订单总支付金额 | | 第二单(点单订单) |
- deduction_info_list | struct | 是 | 金额抵扣信息 | | |
-- source_certificate_id | string | 是 | 第一单券id | | |
-- source_sku_id | int | 否 | 第一单sku_id | | |
-- source_sku_name | string | 否 | 第一单sku_name | | |
-- source_product_id | int | 否 | 第一单商品id | | |
-- source_product_name | string | 否 | 第一单商品名 | | |
-- source_sku_out_id | string | 否 | 第一单外部sku_id | | |
-- source_product_out_id | string | 否 | 第一单外部商品id | | |
-- groupon_type | int | 是 | 第一单券类型 枚举 1 团购 2次卡 | | |
-- serial_num | int | 否 | 次卡序号 当且仅当次卡时返回 | | |
-- original_amount | int | 否 | 售价 | | |
-- merchant_discount_amount | int | 否 | 商家优惠金额 | | 第一单(团购券、次卡) |
-- deduction_relation_list | struct | 否 | 抵扣关系 | | |
--- item_order_id | string | 是 | 第二单的item单id | | |
--- deduction_amount | int | 否 | 点单品被第一单券抵扣的金额 | | |
remark | string | 否 | 用户备注 | | |
order_type | int | 是 | 订单类型:
| 1 | |
contact 3.20 新增 | | | | | |
- phone 3.20 新增 | string | 否 | 联系人电话(脱敏只留后四位) | | |
请求示例
{ "amount": { "pay_amount": 400, "origin_amount": 3700, "discount_amount": 3300 }, "poi_id": "7309443067524679724", "open_id": "abcde", "order_id": "1000041821083847671", "order_type": 1, "sku_list": [ { "count": 3, "sku_id": "1804571675007028", "product_id": "1804571674557450", "sku_out_id": "123412345", "item_orders": [ { "sku_specs": [ { "attr_key": "cup", "item_key": "mid_cup", "item_name": "中杯" }, { "attr_key": "sugar", "item_key": "seven", "item_name": "七分糖" }, { "attr_key": "temperature", "item_key": "cold", "item_name": "冷" } ], "item_order_id": "800000084000368998413497671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000368896013817671", "relate_id_type": 1, "relate_to_level": 4, "relate_reason_type": 3 // 关联到团购券Item单 } ] }, { "sku_specs": [ { "attr_key": "cup", "item_key": "mid_cup", "item_name": "中杯" }, { "attr_key": "sugar", "item_key": "seven", "item_name": "七分糖" }, { "attr_key": "temperature", "item_key": "warm", "item_name": "温" } ], "item_order_id": "800000084000369024013007671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000369075213057671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 2 // 关联到小料品Item单 }, { "relate_to_id": "800000083617023385613887671", "relate_id_type": 1, "relate_to_level": 4, "relate_reason_type": 3 // 关联到团购券Item单 } ] }, { "sku_specs": [ { "attr_key": "cup", "item_key": "mid_cup", "item_name": "中杯" }, { "attr_key": "sugar", "item_key": "seven", "item_name": "七分糖" }, { "attr_key": "temperature", "item_key": "hot", "item_name": "热" } ], "item_order_id": "800000084000369049613577671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000369126413317671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 2 // 关联到小料品Item单 }, { "relate_to_id": "800000084000369100813097671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 2 // 关联到小料品Item单 }, { "relate_to_id": "800000083617021977613377671", "relate_id_type": 1, "relate_to_level": 4, "relate_reason_type": 3 // 关联到团购券Item单 } ] } ], "unit_amount": 1100, "product_out_id": "zhizhiputao" }, { "count": 2, "sku_id": "1804571674714202", "product_id": "1804571674714202", "sku_out_id": null, "item_orders": [ { "sku_specs": [], "item_order_id": "800000084000369075213057671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000369024013007671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 1 // 关联到点单品Item单 } ] }, { "sku_specs": [], "item_order_id": "800000084000369100813097671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000369049613577671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 1 // 关联到点单品Item单 } ] } ], "unit_amount": 100, "product_out_id": "zzxTest09" }, { "count": 1, "sku_id": "1805349780050954", "product_id": "1805349780050954", "sku_out_id": null, "item_orders": [ { "sku_specs": [], "item_order_id": "800000084000369126413317671", "commodity_weight":{ "count":1, "unit":"份", }, "item_relations": [ { "relate_to_id": "800000084000369049613577671", "relate_id_type": 2, "relate_to_level": 4, "relate_reason_type": 1 // 关联到点单品Item单 } ] } ], "unit_amount": 200, "product_out_id": "zzx_31" } ], "account_id": "7267130009242847276", "source_order_ids": [ "1000041818479367671", "1000041710358407671", "1000041706797447671" ] }
响应参数
名称 | 类型 | 是否必填 | 描述 | 示例值 |
data | struct | 是 | | |
- error_code | int | 是 | 错误码,合法范围为 [0,999999]
| 0 |
- description | string | 是 | 错误信息 | |
- order_id | string | 是 | 抖音订单ID | "10011123" |
- order_out_id | string | 否 | 外部订单ID;创单成功时,需要返回 | "1233" |
响应示例
错误码
- •重试-最多12次
- ◦创建订单失败时,若请求未触达商家(如网络错误)或商家返回明确错误码(error_code=100)抖音会进行重试
- ◦重试策略:采用退避策略第一次间隔 5s,之后每次之间间隔 10s, 20s, 40, 60s, 60s, 60s 最多重试12次
- •幂等
- ◦为防止重试导致的重复下单,服务商可根据抖音订单 ID 做幂等处理