创建/更新预售券
接口说明
保存或更新预售券信息
基本信息
| 名称 | 描述 |
|---|---|
| HTTP URL | https://open.douyin.com/goodlife/v1/trip/hotel/savepresale/ |
| HTTP Method | POST |
| Scope | life.capacity.trip_presale_push |
| 权限要求 | 酒店新预售券解决方案-住宿预售券创建和更新 |
请求 参数
请求头
access-token必填String
示例:clt.943da17996fb5cebfbc70c044c3fc25a57T54DcjT6HNKGqnUdxzy1KcxFnZ
content-type必填String
固定值"application/json"
Rpc-Transit-Life-AccountString
来客商户根账户ID
Body展开全部子属性
account_id必填String
商家账户id
需要传总户id,否则会导致匹配失败
presale_info必填Struct
预售详细信息
展开子属性
abilityStruct
商品保存能力开关
展开子属性
请求示例
curl --location --request POST 'https://open.douyin.com/goodlife/v1/trip/hotel/savepresale/' \ --header 'content-type: application/json' \ --header 'access-token: 0801121846735352506a356a6' \ --data '{"presale_info":{"category_id":"Qtwh0QzDvn","pre_sale_coupon_info":{"apply_nights":5969187010533836904,"actual_amount":5542200748929245598,"apply_room_number":2777468353682448554,"sales_type":1,"bind_rate_plans":["5VEBZoXEBS"],"original_amount":5814852096462177490,"appointment_award":{"date_range":{"start":"JH9kM9lMou","end":"uD1VkToqfo"},"after_pay_days":8141380659553562880,"is_award":false,"award_type":1,"content":"vcS8YJISDE","is_award_display":false,"time_type":1},"markup_info":[{"markup_holidays":[1],"holidays_year":{"1":"ZvA1Ynwgik"},"markup_days_of_week":[1],"markup_date_type":1,"markup_effect_scope":[{"effect_type":1,"effect_id_list":["bqYLUBK6jS"],"is_full_effect":false}],"markup_days":{"to":"DZLbYFKmtN","from":"yA273qaUec"},"markup_amount":1530361853537542567,"markup_time":[{"markup_days":{"from":"P8o0fu0ftZ","to":"svKqAKJmeW"},"holidays_year":{"1":"I10omDArno"},"markup_date_type":1,"markup_days_of_week":[1],"markup_holidays":[1]}]}],"usage_duration":868464852388133708,"coupon_name":"enFxwgEI2L","imange_list":[{"image_type":1,"image_url":"XbQgIpkyxv"}],"apply_to_order":false,"coupon_separate":false,"commodity":[{"commodity_type":1,"group_name":"KX3eGQ0kQG","total_count":6642877870146245349,"optional_count":7755722979234878822,"item_info":[{"product_info":{"unit":"k7bep5kNLe","image_url":"ZyrzwrWe5j","name":"brCU85Lu8P","price":4491328938430729186,"count":7934461524619596515}}],"effect_scope":[{"effect_type":1,"effect_id_list":["iolANZpWKu"]}]}],"markup_type":3585735048571712276,"is_test_data":false,"hotel_customer_reserved_info":{"by_merchant_custom_config":false,"require_booking_info":{"enable":false,"identity_type_with_content_list":[{"contact_identity_content_list":[1],"need_consistency_purchase_and_booking":{"1":false},"contact_identity_type_enum":1}]},"require_purchase_contact_info":{"enable":false,"identity_type_with_content_list":[{"contact_identity_type_enum":1,"contact_identity_content_list":[1],"need_consistency_purchase_and_booking":{"1":false}}]}}},"meals":[{"type":1,"num":7432736162467515993}],"member_required":4460072480935492068,"pre_sale_coupon_id":"86vRFszIlx","note_info":{"check_time_range":{"to":"VnjOWM0PIM","from":"NNtgCQ0xr1"},"other_remark_info":["3nUuh2uujJ"],"service_for_foreign":false,"superimposed_discounts":false,"long_term_charge_policy":[{"standard_guest_num":994456969711515615,"is_free":false,"unit":1,"fee_refund_time":4007857223036062110,"frequency":1539785632491708998,"is_provided":false,"item_type":1,"amount":3889965587637797917,"max_add_guest_num":2500672478850978076}],"exclusive_fee":[{"name":"HwqN3NsmIG","price":5532597705953645775,"count":833561436041057529,"unit":"5YveR8SaiY","image_url":"GdPkvJnmaX"}]},"out_id":"ErEIRwxQTW","currency":"MvaDkTAf4x","settle_type":1,"sale_info":{"sale_date":{"from":"L809DYeEwj","to":"xAQy4spGc0"},"book_date":{"from":"5MAkkF3s9A","to":"uKgb1OoQOv"},"is_auto_extension":false,"show_channel":1,"inventory_info":{"num":6224488832139306271,"is_limit":false}},"trade_info":{"book_rule":{"earliest_book_day":8395285470658228932,"time_unit":1,"time_pre_book":3704788370424523999},"cancel_booking_rule":{"cancel_type":1,"cancel_time_type":1,"cancel_offset":[{"time_offset":{"minute":5524810627737435442,"second":2479980322751500227,"day":330853110282780032,"hour":4216489495038493210},"cut_type":1,"cut_value":6841642603072296475}]},"limt_buy_rule":{"each_person_each_order_max":7242076669940670412,"each_person_max":7405457690814049986,"each_order_can_use_max":6030307120770354163},"customer_can_use_time":{"use_time_type":1,"use_time_list":[{"is_time_nextday":false,"time_span":{"from":"eWA8Xkk4Ab","to":"GZ6ekcIVRB"}}]},"customer_can_no_use_date":{"holidays_year":{"1":"p5rwrMAxmk"},"cannot_use_days_of_week":[1],"cannot_use_holidays":[1],"cannot_use_date":["c3l96eOPDe"]},"cancel_booking_rule_list":[{"cancel_type":1,"cancel_time_type":1,"cancel_offset":[{"cut_value":382346051707955836,"time_offset":{"second":4819593164624709718,"day":3674857799784222953,"hour":2513778849597614295,"minute":2313950434441570564},"cut_type":1}]}],"customer_can_use_date":{"use_date":{"from":"si0sKwDHgi","to":"SxrxTlensu"},"use_date_type":1,"day_duration":17634377938974031},"invoic_info":{"subject":"g6b839T4oG","provider":1,"invoice_types":[1]},"partly_reserve_refund_rule":1}},"ability":{"ignore_inapplicable_poi":false},"base":{"caller":"WLxGNaXjrB","addr":"4RI11uMIs1","client":"JJVaHv50np","traffic_env":{"open":false,"env":"g8Yp5ddxXe"},"extra":{"GA7Jh3pkBJ":"psBu2uRFjg"},"log_i_d":"MgFQ0HiReP"},"account_id":"uIwasrRkHj"}'
响应参数
Body展开全部子属性
extra必填Struct
扩展信息
展开子属性
dataStruct
展开子属性
响应示例
正常响应示例异常响应示例
{ "base_resp": { "status_message": "dk4dDzBNPt", "status_code": 460304615991551400, "extra": { "Q4TAdJZTVc": "1HUgeWJ9z4" } }, "data": { "pre_sale_coupon_id": "CkH34inA7R", "out_id": "8pCKJdDQif", "error_code": 0, "description": "" }, "extra": { "error_code": 0, "description": "", "sub_error_code": 0, "sub_description": "", "logid": "2026011917344415ACB292614C8BF26015", "now": 1768815287 } }
错误码
| HTTP 状态码 | 错误码 | 错误码描述 | 排查建议 |
|---|---|---|---|
| 200 | 2100001 | 未知错误 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
| 200 | 2100004 | 系统繁忙,此时请开发者稍候再试 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
| 200 | 2100005 | 参数不合法 | 更换参数 |
| 200 | 2190002 | access_token无效 | 调用接口重新生成access_token |
| 200 | 2190004 | 应用未获得该能力, 请去https://open.douyin.com/申请 | 应用申请接口权限 |
| 200 | 2190008 | access_token过期,请刷新或重新授权 | 规范token刷新机制,检查是否有测试环境在同步刷新token |
| 200 | 2119001 | 参数不合法 | 更换参数 |
| 200 | 2119002 | 系统繁忙,请稍候再试 | 重试 |
| 200 | 2119003 | 请求太过频繁,请稍后再试 | 重试 |
| 200 | 2119005 | 应用未获商家授权 | 联系合作商家在商家后台发起授权,并在服务商后台同意授权 |
| 200 | 3000001 | 根据实际业务错误返回 | 对照接口文档规范参数并重试 |
| 200 | 4000001 | 根据实际业务错误返回 | 补充参数 |
| 200 | 4000002 | 根据实际业务错误返回 | 对照接口文档规范参数并重试 |
| 200 | 5000001 | 根据实际业务错误返回 | 联系抖音处理 |
| 200 | 5000001 | 服务器打瞌睡了,请稍后再试。 | |
| 200 | 3000001 | 以实际错误信息为准 |
