验券准备
接口说明
抖音团购券码的核销, 需要先调用本接口, 查询订单的券列表,选择要验的券,再调用验券接口,核销券码。
- 抖音团购券码的核销,每次都需要先调用本接口,优先查询订单的券列表,选择要验的券,拿到加密券码encrypted_code,再调用验券接口,核销券码,验券准备和验券接口的调用次数需要一一对应,如已经调用验券接口验券成功,则当前二维码会失效,无法继续使用验券准备接口,需要使用刷新的二维码再进行调用。
- 二维码扫出来是一个短链,示例:https://v.douyin.com/eHHc1ft/ (注:短链的长度不固定,不要对长度做限制或截断,结尾不一定是/),扫码后并调用本接口可返回当前订单下可用的全部券码信息,如未返回券码信息,则说明该订单此刻无可用券码。
- 对短链做 HTTP 请求。得到对应的长链接是https://www.iesdouyin.com/share/commerce/coupon/I0ZwZEZpb2U1N0pjQVZxS2NJRTFSQW5WK1c4bmxvbnNWdUQ2Wk85Y1N0eHpRUFpMMmZwNTdFM2NKeWlFNDM2QT0/?schema_type=13&object_id=I0ZwZEZpb2U1N0pjQVZxS2NJRTFSQW5WK1c4bmxvbnNWdUQ2Wk85Y1N0eHpRUFpMMmZwNTdFM2NKeWlFNDM2QT0&utm_campaign=client_scan_share&app=aweme&utm_medium=ios&tt_from=scan_share&iid=&utm_source=scan_share。
- 链接中object_id参数的值即为本接口传入的 encrypted_data 参数 I0ZwZEZpb2U1N0pjQVZxS2NJRTFSQW5WK1c4bmxvbnNWdUQ2Wk85Y1N0eHpRUFpMMmZwNTdFM2NKeWlFNDM2QT0
请仅感知链接中的 object_id 参数。其他的参数、域名、路径等信息请不要感知。以后都有优化和调整的可能。
- 定期清理过期券,在清理前可以获取到已经过期的券,用此券核销会报错。
- 该接口只返回未使用状态的券信息。
- 该接口不返回明文券码,只返回加密券码
基本信息
名称 | 描述 |
---|---|
HTTP URL | https://open.douyin.com/goodlife/v1/fulfilment/certificate/prepare/ |
HTTP Method | GET |
Scope | life.capacity.fulfilment |
权限要求 |
|
请求参数
请求头
access-token必填String
示例:clt.943da17996fb5cebfbc70c044c3fc25a57T54DcjT6HNKGqnUdxzy1KcxFnZ
content-type必填String
固定值"application/json"
Rpc-Transit-Life-AccountString
来客商户根账户ID
Query
account_idString
核销商户根账户ID(云连锁/共管场景下,挂靠商户必传,其余场景可不传)
codeString
券码明文
常见于使用用户提供的券码手动输入商家后台进行验券的场景
encrypted_data和code二选一必传,两个都不传会报错
encrypted_dataString
从二维码解析出来的标识
(传参前需要先进行URL编码,注意不要有空格)
encrypted_data和code二选一必传,两个都不传会报错
poi_idString
操作核销的抖音门店id(必传)
请求示例
curl --location --request GET 'https://open.douyin.com/goodlife/v1/fulfilment/certificate/prepare/?account_id=4yZVoJduEo&encrypted_data=o1jNZVbrNY&code=pg86v8Nj0U&poi_id=kxTiTrGVKj' \ --header 'content-type: application/json' \ --header 'access-token: 0801121846735352506a356a6' \
响应参数
Body展开全部子属性
data必填Struct
展开子属性
extra必填Struct
扩展信息
展开子属性
响应示例
正常响应示例异常响应示例
{ "extra": { "error_code": 0, "description": "", "sub_error_code": 0, "sub_description": "", "logid": "202504171654490AE394FE6043A96DEEAD", "now": 1744880089 }, "data": { "certificates": [ { "start_time": 5185778856151685000, "time_card": { "time_card_type": 1, "times_count": 2946259811281708000, "times_used": 4713923038921773000, "serial_amount_list": [ { "serial_numb": 8604654287140175000, "amount": { "brand_ticket_amount": 6187594186680084000, "payment_discount_amount": 3548017370923369000, "platform_discount_amount": 6591814917216155000, "merchant_ticket_amount": 7183044821700055000, "pay_amount": 6933920948886904000, "origin_list_market_amount": 2074150102241310500, "original_currency": "o1wOP7dVoH", "coupon_pay_amount": 2975673293156127000, "list_market_amount": 2811433081169171500, "original_amount": 871677751482105700 } } ] }, "use_time_info": { "time_period_list": [ { "start_time": "CUE1skXUAm", "end_time": "oWC7g0ETiS", "end_time_is_next_day": false } ], "use_time_type": 1 }, "status": 1, "not_available_poi_list": [ "EF2d5ClthF" ], "encrypted_code": "KhxBWAZnwP", "additional_map": { "1": "RseRmCituP" }, "code": "dJuVWyekfi", "certificate_id": 7580961771972484000, "off_peak_discount_info": { "off_peak_time_range": [ { "daily_time_range_list": [ { "start_time": "aPyvsx4mYu", "end_time": "Vs7rnUEdbN", "end_time_is_next_day": false } ], "week_day_list": [ 1 ], "start_time": 5848335299294749000, "end_time": 5938951606645174000 } ], "idle_time_limit_type": 1, "has_off_peak_discount": false }, "book_info": { "book_poi_id": "pt9lNJRxKa", "book_product_number": 1241613432761489400 }, "reserve_info": { "order_reserve_user_info_list": [ { "phone": "dYAACCTRWG", "credential_numb": "A1jESLiaFx", "credential_type": 1, "name": "vVyzKgNfsm" } ] }, "amount": { "coupon_pay_amount": 4003022944352549400, "list_market_amount": 9016601072747604000, "pay_amount": 233424627274112900, "origin_list_market_amount": 2982595292499897000, "platform_discount_amount": 4604854902613944000, "original_amount": 409507132267342600, "payment_discount_amount": 4072668774695266000, "original_currency": "XThWMRVikR", "brand_ticket_amount": 1942087719655416800, "merchant_ticket_amount": 8346855412255837000 }, "sku": { "sku_id": "3PjuvX8RPf", "product_out_id": "2BXFHqhaHj", "account_id": "M3WFdOBz0c", "voucher_type": 1, "product_id": "B1JF0UduM0", "groupon_type": 1, "market_price": 2890321253536141000, "third_sku_id": "4VfRpDTi0Y", "sku_out_id": "4niaeFHRwh", "suplier_product_out_id": "IiESq73KRU", "title": "QxyPsKAX5L", "sold_start_time": 6162404407969593000 }, "verify_records": [ { "verify_id": "sVR7m1ORen", "certificate_id": "jKjwYcQWvj", "verify_time": 4169881356754547000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "LFjhr57WaZ", "poi_id": 2453924235436651500, "times_card_serial_num": 3392951588821186600 } ], "period_card": { "period_type": 1 }, "expire_time": 5835120991600367000, "used_status_type": 1, "not_available_time_info": { "fulfil_enable": false, "can_no_use_week_day": [ 2631387842165254000 ], "can_no_use_date": [ { "end_time": 4682931792952111000, "start_time": 8455885863293272000 } ] }, "verify": { "certificate_id": "343D4U5MCz", "verify_time": 3278281227660825600, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "yV3RHeFmtF", "poi_id": 2013025904875669000, "times_card_serial_num": 1228797683035363000, "verify_id": "9I46IdsaCD" } } ], "order_id": "ONQQyluJik", "certificates_v2": [ { "amount": { "origin_list_market_amount": 2323736673067885000, "brand_ticket_amount": 3526579863853161500, "pay_amount": 5155719078037614000, "original_currency": "1mMWUoDReE", "list_market_amount": 154556561394674140, "coupon_pay_amount": 2484386111603477000, "platform_discount_amount": 302394481858879040, "original_amount": 8880398728276223000, "merchant_ticket_amount": 7386298044156475000, "payment_discount_amount": 3354398639370412000 }, "not_available_poi_list": [ "lgF4k6VxlU" ], "expire_time": 2832788053479515000, "reserve_info": { "order_reserve_user_info_list": [ { "name": "8YF9GkIKq2", "phone": "U5RY7xqgmY", "credential_numb": "wa8EG3f5EB", "credential_type": 1 } ] }, "used_status_type": 1, "encrypted_code": "nTLzbEkEhg", "additional_map": { "1": "4KM7p87S9q" }, "book_info": { "book_poi_id": "axwZLMvgNC", "book_product_number": 8742504083055460000 }, "verify": { "verifier_unique_id": "lZwqXO3kTA", "poi_id": 953513150161810000, "times_card_serial_num": 6451911868358981000, "verify_id": "VKYAHF0PiW", "certificate_id": "lvVsR2hcM5", "verify_time": 6933744693804446000, "can_cancel": false, "verify_type": 1 }, "time_card": { "times_count": 5442634839771754000, "times_used": 699671597727636700, "serial_amount_list": [ { "amount": { "payment_discount_amount": 8994380349226860000, "list_market_amount": 655333005145995300, "brand_ticket_amount": 3644684391600308000, "original_amount": 5275985772023770000, "coupon_pay_amount": 508266051800330100, "pay_amount": 4885555327366850000, "origin_list_market_amount": 8401327459057577000, "merchant_ticket_amount": 495240881099052740, "platform_discount_amount": 8945378443685007000, "original_currency": "J93VOinQYg" }, "serial_numb": 7994337246633588000 } ], "time_card_type": 1 }, "off_peak_discount_info": { "has_off_peak_discount": false, "off_peak_time_range": [ { "daily_time_range_list": [ { "end_time": "WHVWyodqwb", "end_time_is_next_day": false, "start_time": "qZkSAhUCaM" } ], "week_day_list": [ 1 ], "start_time": 4488795066178817000, "end_time": 9027309962048198000 } ], "idle_time_limit_type": 1 }, "not_available_time_info": { "fulfil_enable": false, "can_no_use_week_day": [ 3118328841695834000 ], "can_no_use_date": [ { "start_time": 38612626370553980, "end_time": 6562802610789404000 } ] }, "sku": { "sold_start_time": 7906534997693322000, "product_id": "H8F8kKKSm4", "groupon_type": 1, "product_out_id": "KIEoLka0cL", "suplier_product_out_id": "NR3wQUz1D7", "title": "U1vxbCK6D1", "account_id": "EFPXkVKkyt", "third_sku_id": "CR1p9C2nTi", "sku_id": "dKGQbIm3xC", "sku_out_id": "5bHS34dGj7", "market_price": 3028540671716242000, "voucher_type": 1 }, "certificate_id": 6834246958022521000, "period_card": { "period_type": 1 }, "use_time_info": { "use_time_type": 1, "time_period_list": [ { "end_time": "kFfkGz6q9a", "end_time_is_next_day": false, "start_time": "NfLbdizPAr" } ] }, "start_time": 8892700421923218000, "status": 1, "verify_records": [ { "can_cancel": false, "verify_type": 1, "verifier_unique_id": "d50R4joVn9", "poi_id": 7273052331692509000, "times_card_serial_num": 4045015678127723000, "verify_id": "9P2TJja1Ap", "certificate_id": "xUkQ8t7jWJ", "verify_time": 4869821371083749 } ], "code": "MBFnZqhv6A" } ], "verify_token": "2EpszCFkhU", "error_code": 0, "description": "" } }
错误码
HTTP 状态码 | 错误码 | 错误码描述 | 排查建议 |
---|---|---|---|
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 | 3000002 | 核销门店错误 | 检查核销门店重试 |
200 | 2100001 | 未知错误 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
200 | 2100004 | 系统繁忙,此时请开发者稍候再试 | 重试接口,重试3次仍报错联系抖音生活服务技术支持 |
200 | 2100005 | 参数不合法 | 更换参数 |
200 | 3000002 | 以实际错误信息为准 | |
200 | 5000001 | 服务器打瞌睡了,请稍后再试。 | |
200 | 3000001 | 以实际错误信息为准 |