- 小程序 OpenAPI SDK 总览
- OpenAPI 简介
- 用户登录态签名
- 签名算法
- 联合授权
- 接口调用凭证
- 登录
- 小程序码与小程序链接
- Web 化接入
- 私信和群聊
- 解决方案
- 线索组件
- 隐私协议
- 视频能力
- 搜索能力
- 任务能力
- 电商
- 生活服务
- 短剧行业
- 用户信息
- 分享
- 客服
- 交易工具
- 小程序券
- 交易系统
- 素材库
- 内容安全
- 泛知识
- 担保支付
- 评价
- 其它
- 订阅消息
- 小程序推广计划
- 挂载
- 分发
- 数据分析
- 服务类目
- 直播间能力
- 抖音开放能力
- 能力申请
- 页面结构自定义
- 普通二维码绑定
- 抖音号绑定
- 流量主
- 抖店绑定
创建预约单
更新时间 2024-07-24 02:58:49
收藏
我的收藏用户购买预售类产品支付成功后,开发者可调用该接口创建预约单。目前只支持同商品 id 合并预约,即 ItemBookInfo 里的 goods_id 需要相同
使用限制
目前仅适用于预售类商品,如门票预售券、日历房预售券等
接口说明
基本信息
名称 | 描述 |
HTTP URL | |
HTTP Method | POST |
Scope | industry_open.trade.book |
权限要求 | 无需用户授权 |
请求头
请求参数
Body
名称 | 类型 | 是否必填 | 描述 |
order_id | string | 是 | 抖音侧订单号 |
out_book_no | string | 是 | 外部预约单号 |
open_id | string | 是 | 用户OpenID |
item_book_info_list | Array<object> | 是 | 每个item的预约信息,详见ItemBookInfo |
markup_info | object | 否 | 加价信息,详见MarkupInfo |
ItemBookInfo 字段说明
名称 | 类型 | 是否必填 | 描述 |
poi_id | string | 是 | 预约门店的poiId,实际存储的是int64类型的值 |
shop_name | string | 是 | |
ext_shop_id | string | 是 | 预约门店的外部店铺id,参考商铺同步接口中的接入方店铺id(supplier_ext_id) |
goods_id | string | 是 | 商品id |
book_start_time | int64 | 是 | 预约的开始时间(ms),13位毫秒时间戳 |
book_end_time | int64 | 是 | 预约的结束时间(ms),13位毫秒时间戳 注意:需满足 当前时间< book_start_time < book_end_time,并且book_end_time必须是180天之内 |
user_info_list | Array<object> | 否 | 用户信息,详见UserInfo |
book_sku_info | object | 否 | 预约的商品SKU信息,需要加价时必填,详见BookSkuInfo
|
item_order_id | string | 否 | 预售单的item_order_id,如果不指定的话,会自动分配。 |
UserInfo 字段说明
名称 | 类型 | 是否必填 | 描述 |
name | string | 否 | 使用人名称 |
phone | string | 否 | 电话号码 |
id_card_no | string | 否 | 身份证号码 |
BookSkuInfo 字段说明
名称 | 类型 | 是否必填 | 描述 |
price | int64 | 否 | sku金额
|
sku_id | string | 是 | 预约的商品sku_id |
sku_id_type | int32 | 是 | sku_id类型 1-商品库skuId 2-非商品库skuId |
MarkupInfo 字段说明
名称 | 类型 | 是否必填 | 描述 |
total_amount | int64 | 是 | 加价单订单总金额 |
pay_notify_url | string | 否 | 支付结果通知地址,必须是https类型。若不填,默认使用在行业模板配置-消息通知页面设置的支付回调地址。加价单支付超时时间是300s。配置地址为:https://developer.open-douyin.com/microapp/${appid}/industry/template,注意将此地址中的${appid}更换为自己的appid |
out_markup_no | string | 是 | 加价单的开发者单号,长度 <= 64 byte |
order_entry_schema | object | 是 | 订单详情页信息,详见 OrderEntrySchema |
OrderEntrySchema 字段说明
名称 | 类型 | 是否必填 | 描述 |
path | string | 是 | 订单详情页跳转路径,没有前导的“/”,长度 <= 512byte |
params | string | 否 | 订单详情页路径参数,自定义的json结构,序列化成字符串存入该字段,平台不限制,但是写入的内容需要能够保证生成访问订单详情的schema能正确跳转到小程序内部的订单详情页,长度 <= 512byte |
请求示例
非加价预约 demo
text复制curl --location --request POST 'https://open.douyin.com/api/apps/trade/v2/create_book \
--header 'Content-Type: application/json' \
--header 'access_token: xxxxxxxxxxxxxxxx'
--data-raw='{
"order_id": "ot7117199930837961004",
"out_book_no": "zxsw4443rette54ert53",
"open_id": "194437895436262"
"item_book_info_list": [
{
"book_end_time": 1657110479000,
"book_start_time": 1657110478000,
"ext_shop_id": "2341",
"goods_id": "7116799885390841900",
"poi_id": "4355",
"shop_name": "345245",
"user_info_list": [
{
"id_card_no": "123456789012345678",
"name": "zxs",
"phone": "12321234322"
}
]
},
{
"book_end_time": 1657110479000,
"book_start_time": 1657110478000,
"ext_shop_id": "2341",
"goods_id": "7116799885390841900",
"poi_id": "4355",
"shop_name": "345245",
"user_info_list": [
{
"id_card_no": "123456789012345678",
"name": "zxs",
"phone": "12321234322"
}
]
}
]
}'
加价预约 demo
text复制curl --location --request POST 'https://open.douyin.com/api/apps/trade/v2/create_book \
--header 'Content-Type: application/json' \
--header 'access_token: xxxxxxxxxxxxxxxx'
--data-raw='{
"order_id": "ot7117199930837961004",
"out_book_no": "zxsw4443rette54ert53",
"open_id": "194437895436262",
"item_book_info_list": [
{
"book_end_time": 1657110479000,
"book_start_time": 1657110478000,
"ext_shop_id": "2341",
"goods_id": "7116799885390841900",
"poi_id": "4355",
"shop_name": "345245",
"user_info_list": [
{
"id_card_no": "123456789012345678",
"name": "zxs",
"phone": "12321234322"
}
],
"book_sku_info": {
"price": 10,
"sku_id": "7216799885390841901",
"sku_id_type": 2
}
},
{
"book_end_time": 1657110479000,
"book_start_time": 1657110478000,
"ext_shop_id": "2341",
"goods_id": "7116799885390841900",
"poi_id": "4355",
"shop_name": "345245",
"user_info_list": [
{
"id_card_no": "123456789012345678",
"name": "zxs",
"phone": "12321234322"
}
],
"book_sku_info": {
"price": 10,
"sku_id": "7216799885390841901",
"sku_id_type": 2
}
}
],
"markup_info": {
"total_amount": 5,
"out_markup_no": "zxsw123512dadqweqe",
"order_entry_schema": {
"path": "page/order"
}
}
}'
响应参数
名称 | 类型 | 是否必填 | 描述 |
data | Json Object | 否 | 返回数据信息 |
extra | object | 是 | 额外信息 |
data 字段说明
名称 | 类型 | 是否必填 | 描述 |
book_id | string | 是 | 预约单id |
markup_order_info | object | 否 | 加价单信息,详见 MarkupOrderInfo |
MarkupOrderInfo 字段说明
名称 | 类型 | 是否必填 | 描述 |
markup_order_id | string | 是 | 加价单id,抖音开平侧生成的订单号 |
pay_order_id | string | 是 | 唤起收银台的支付订单号 |
pay_order_token | string | 是 | 唤起收银台的token |
extra 信息
名称 | 类型 | 是否必填 | 描述 | 示例值 |
error_code | int | 是 | 错误码,0为成功 | 0 |
description | string | 是 | 错误码描述 | success |
sub_error_code | int | 是 | 子错误码 | 0 |
sub_description | string | 是 | 子错误码描述 | success |
logid | string | 是 | 请求id | 2022092115392201020812109511046 |
now | int | 是 | 毫秒级时间戳 | 1663745962686 |
响应示例
非加价预约示例
json复制{
"data": {
"book_id": "ot707233865982238"
},
"extra": {
"sub_error_code": 0,
"sub_description": "success",
"logid": "2022092115392201020812109511046",
"now": 1663745962686,
"error_code": 0,
"description": "success"
}
}
加价预约示例
json复制{
"data": {
"book_id": "ot707233865982238",
"markup_order_info": {
"markup_order_id": "ot717123543556796",
"pay_order_id": "712312312313131238",
"pay_order_token": "xxxxxxxxxxx"
}
},
"extra": {
"sub_error_code": 0,
"sub_description": "success",
"logid": "2022092115392201020812109511046",
"now": 1663745962686,
"error_code": 0,
"description": "success"
}
}
错误码
点击纠错