景区团购预下单接口V2
接口说明
抖音侧通知第三方创建景区订单。
1.ClientKey 维度默认配置是 抖音侧支付前 通知第三方创单,不额外通知支付成功。
2.抖音请求第三方超时,默认创单成功,抖音会走后续链路支付订单,并且进行发码操作,此处服务商需要做好幂等处理,处理好发码请求可能先于创单请求的情况;
基本信息
Scope | life.capacity.scenic_promissory_create_order | |||
权限要求 | 景区行业解决方案-景区团购能力V2版本 | |||
回调场景 | 景区团购预下单 | |||
请求头
•Content-Type:
application/json•X-Bytedance-Logid: 请求 logid,用于问题排查
•x-life-clientkey: 服务商应用的 client_key
•X-life-sign: 请求签名,签名规则
请求参数
字段 | 类型 | 名称 | 是否必传 | 说明 |
biz_type | int | 业务类型 | 是 | 1:团购 |
contact | list<UserInfo> | 联系人信息列表 | 否 | |
.name | string | 姓名 | 否 | |
.en_name | string | 英文名 | 否 | |
.first_name | string | 英文名的名 | 否 | |
.last_name | string | 英文名的姓 | 否 | |
.phone | string | 联系电话 | 否 | 加密 |
.email | string | 邮箱 | 否 | 加密 |
.credential_type | int | 证件类型 | 否 | 1 、身份证 2 、港澳通行证 3 、台湾通行证 4 、回乡证 5 、台胞证 6 、护照 7 、外籍护照 |
.credential_no | string | 证件号 | 否 | 加密 |
.credential_validity | string | 证件有效期 | 否 | |
original_amount | long | 订单原价 | 是 | 通常用分表示 |
currency_code | string | 货币类型 | 是 | 默认人民币CNY |
open_id | string | 登录账户抖音 uid | 是 | |
order_id | string | 抖音订单id | 是 | |
create_order_time | long | 订单创建时间 | 是 | 时间戳(秒) |
order_item_list | list<OrderItem> | 订单项列表 | 是 | |
.order_item_id | string | 订单项 ID | 是 | |
.sku_id | string | SkuId(如果是组合品,则是组合品商品的 SkuId) | 是 | |
.sub_sku_id | string | 组合品子商品 ID(可选) | 否 | |
.package_id | string | 组合 ID | 否 | |
sku_info_list | list<SkuInfo> | 商品信息列表 | 是 | |
.sku_id | string | sku_id (Sku) | 是 | |
.sku_out_id | string | 外部sku_id (SkuInfo) | 否 | |
.product_id | string | 商品id | 是 | |
.product_out_id | string | 外部商品ID (可选) | 否 | |
reserve_info_list | list<object> | 留资人信息列表 | 否 | |
.name | string | 姓名 | 否 | |
.en_name | string | 英文名 | 否 | |
.first_name | string | 英文名的名 | 否 | |
.last_name | string | 英文名的姓 | 否 | |
.phone | string | 联系电话 | 否 | 加密 |
.email | string | 邮箱 | 否 | 加密 |
.credential_type | int | 证件类型 | 否 | |
.credential_no | string | 证件号 | 否 | 加密 |
.credential_validity | string | 证件有效期 | 否 | |
.order_item_id | string | 关联order_item_id (券维度留资则赋值) | 否 | |
.sku_id | string | 关联sku_id (商品维度留资则赋值) | 否 | |
.package_id | string | 组合 ID | 否 | |
请求示例
- •普通团购(支持多 SKU 下单)
{ "biz_type": 1, "contact": [ { "phone": "********" } ], "original_amount": 19900, "currency_code": "CNY", "open_id": "douyin_user_openid_abcdef123456", "order_id": "dy_order_789123456001", "create_order_time": 1678886400, "order_item_list": [ { "order_item_id": "item_001", "sku_id": "sku_A123", }, { "order_item_id": "item_002", "sku_id": "sku_B456_sub1", } ], "sku_info_list": [ { "sku_id": "sku_A123", "sku_out_id": "ext_sku_A123_main" }, { "sku_id": "sku_B456", "sku_out_id": "ext_sku_B456_parent" } ], "reserve_info_list": [ { "name": "成人1", "phone": "********", "credential_type": 1, "credential_no": "292943642725389903", "credential_validity": "2126-05-22", "sku_id": "sku_A123" }, { "name": "成人2", "phone": "********", "credential_type": 1, "credential_no": "292943642725389903", "credential_validity": "2126-05-22", "sku_id": "sku_A123" } ] }
- •组合品团购
{ "biz_type": 1, "contact": [ { "phone": "********" } ], "original_amount": 19900, "currency_code": "CNY", "open_id": "douyin_user_openid_abcdef123456", "order_id": "dy_order_789123456001", "create_order_time": 1678886400, "order_item_list": [ { "order_item_id": "item_001", "sku_id": "sku_id_main", "sub_sku_id": "sub_sku_id_1", "package_id": "package_id_1" }, { "order_item_id": "item_002", "sku_id": "sku_id_main", "sub_sku_id": "sub_sku_id_2", "package_id": "package_id_1" } ], "sku_info_list": [ { "sku_id": "sku_id_main", "sku_out_id": "sku_out_id_main", "sub_sku_info_list": [ { "product_id": "product_id_sub1", "sku_id": "sub_sku_id_1", "sku_out_id": "sku_out_id_sub_1" }, { "product_id": "product_id_sub_2", "sku_id": "sub_sku_id_2", "sku_out_id": "sku_out_id_sub_2" } ] } ], "reserve_info_list": [ { "name": "成人1", "phone": "********", "credential_type": 1, "credential_no": "292943642725389903", "credential_validity": "2126-05-22", "pacakage_id": "package_id_1" }, { "name": "成人2", "phone": "********", "credential_type": 1, "credential_no": "292943642725389903", "credential_validity": "2126-05-22", "pacakage_id": "package_id_1" } ] }
响应参数
字段 | 类型 | 名称 | 是否必传 | 说明 |
error_code | int | 错误码 | 是 | 0 表示成功,其他表示错误,错误码见文末列表 |
error_msg | string | 错误信息 | 否 | 错误码非 0 时提供 |
order_id | string | 抖音订单 id | 是 | |
ext_order_id | string | 外部订单号 | 是 | |
fail_sku_id_list | list<string> | 失败的 skuID 列表 | 否 | 因库存或价格创建订单失败时返回,否则默认无失败的 skuId(即 fail_sku_id_list 为空) |
响应示例
{ "data": { "error_code": 20001, "description": "部分商品库存不足或价格已变动", "order_id": "10000000000000000001", "ext_order_id": "ext_order_123456789", "fail_sku_id_list": [ "sku_id_001", "sku_id_002" ] } }
错误码
失败码定义
error_code | 失败原因 | 是否用户感知 |
1 | 库存不足 | 是 |
2 | 商品已下架 | 是 |
3 | 当前出行人已购票 | 是 |
4 | 当前出行日期已购票 | 是 |
5 | 年龄不符合,仅限指定年龄的用户购买 | 是 |
6 | 性别不符合,仅限指定性别的用户购买 | 是 |
7 | 已持有该门票或超出购买限制 | 是 |
10 | 用户地区不符合,仅限特定地区的用户购买 | 是 |
13 | 缺少证件信息 | 是 |
15 | 出行人数和份数不匹配 | 是 |
19 | 手机号格式问题 | 是 |
20 | 证件号格式问题 | 是 |
21 | 姓名格式问题 | 是 |
22 | 商家账户余额不足,无法下单(服务商场景使用) | 是 |
23 | 价格不一致 | 是 |
100 | 商家系统内部异常,需要抖音侧重新尝试调用 | 否 |
999999 | 其他错误,商家自定义 | 否 |
