验券准备
接口说明
抖音团购券码的核销, 需要先调用本接口, 查询订单的券列表,选择要验的券,再调用验券接口,核销券码。
- 抖音团购券码的核销,每次都需要先调用本接口,优先查询订单的券列表,选择要验的券,拿到加密券码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 参数。其他的参数、域名、路径等信息请不要感知。以后都有优化和调整的可能。
- 定期清理过期券,在清理前可以获取到已经过期的券,用此券核销会报错。
- 该接口只返回未使用状态的券信息。
- 该接口不返回明文券码,只返回加密券码
使用限制
SLA:支持的最大QPS:200;
基本信息
名称 | 描述 |
---|---|
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/?code=6VC4yDfKBg&poi_id=6gOD3iQ5Zn&account_id=fYTd439cLM&encrypted_data=AiFz8uOSKC' \ --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": "20250911152441CE11D65444ABB3015A78", "now": 1757575489 }, "data": { "verify_token": "Zmv8shEKdo", "certificates": [ { "benefit_card_info": { "left_amount": { "benefit_amount": 3989495489372806000, "total_amount": 6444413005183798000, "principal_amount": 7318707611000582000 }, "total_amount": { "benefit_amount": 4418841769268025000, "total_amount": 8917882378789195000, "principal_amount": 3637196585769397000 } }, "deduction_info_list": [ { "source_amount": 9133693860834777000, "source_order_id": "LMNV3hyVTj", "groupon_type": 1, "voucher_type": 1, "source_certificate_id": "VPsQt1pFku" } ], "use_time_info": { "time_period_list": [ { "start_time": "dASGbu4z8g", "end_time": "h7CV9GvmDk", "end_time_is_next_day": false } ], "use_time_type": 1 }, "off_peak_discount_info": { "off_peak_time_range": [ { "daily_time_range_list": [ { "end_time": "gh3RpwE2vI", "end_time_is_next_day": false, "start_time": "Z2A7IEcNti" } ], "week_day_list": [ 1 ], "start_time": 5938915267538694000, "end_time": 3894832053960904000 } ], "idle_time_limit_type": 1, "has_off_peak_discount": false }, "period_card": { "period_type": 1 }, "pay_bill_info": { "bill_total_amount": 1441614694114156500, "bill_amount": 6944389263181290000 }, "time_card": { "serial_amount_list": [ { "amount": { "merchant_ticket_amount": 2684801890341052000, "brand_ticket_amount": 687674451922551300, "platform_discount_amount": 2244116601693621500, "list_market_amount": 3647972491717698000, "pay_amount": 3185227945392121300, "original_amount": 1783654745732851700, "origin_list_market_amount": 196982341745324000, "coupon_pay_amount": 6542002268197076000, "original_currency": "w970CTVavB", "payment_discount_amount": 8654824644320876000 }, "serial_numb": 3280060701016635400 } ], "time_card_type": 1, "times_count": 1705970435327830800, "times_used": 6852956622176398000 }, "buyer_reserve_info": { "name": "QkTGowAOyA", "credential_numb": "LVjDDppiqj", "credential_type": 8251066939572096000 }, "status": 1, "advance_purchase_struct": { "purchase_type": 1, "time_detail": [ { "time_type": 1, "time": 9005358447576544000 } ] }, "code": "Mx8RLiorQR", "expire_time": 5868808291952093000, "certificate_id": 1544794579766165000, "additional_map": { "1": "5WMyEmbM6K" }, "verify_records": [ { "certificate_id": "WvqP9BpRVy", "verify_time": 4981913620760733000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "1PEU8HcksO", "poi_id": 7890364876466126000, "times_card_serial_num": 956322193796941200, "verify_id": "zI4JKNcxld" } ], "not_available_poi_list": [ "JkENsb7WyO" ], "verify": { "times_card_serial_num": 6095141514088864000, "verify_id": "o9Pl3vVXVT", "certificate_id": "Ba8Vpp8Mzu", "verify_time": 5782172592035303000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "nmhHjlOca8", "poi_id": 6314484102715676000 }, "amount": { "original_amount": 2130246493206167600, "merchant_ticket_amount": 8340833482707312000, "coupon_pay_amount": 5474154917356340000, "list_market_amount": 2323273648089167400, "original_currency": "EHjDuJvJDZ", "pay_amount": 3057817685717907000, "platform_discount_amount": 4277031323012845000, "origin_list_market_amount": 3782030290961093000, "payment_discount_amount": 6075448549502226000, "brand_ticket_amount": 669738921012203300 }, "sku": { "market_price": 2707724276505078000, "product_out_id": "tPMjnhh3aJ", "title": "5g04OJrQL0", "groupon_type": 1, "voucher_type": 1, "sold_start_time": 8562163896466318000, "product_id": "jZW5HMsXJ8", "suplier_product_out_id": "o5xxYov8xm", "sku_id": "8mtsIkxvum", "account_id": "7yjcWVoS6J", "third_sku_id": "vVy3mAGx9r", "sku_out_id": "yXlHy84Abq" }, "book_info": { "verify_amount": 6135815067571652000, "book_poi_id": "jaapqNFIqb", "book_product_number": 6733236966701885000 }, "reserve_info": { "order_reserve_user_info_list": [ { "credential_numb": "L2L7K25eFU", "credential_type": 1, "name": "lsWQ2aicY3", "phone": "mMGhTkW0Vq" } ] }, "start_time": 8064004691617747000, "used_status_type": 1, "not_available_time_info": { "fulfil_enable": false, "can_no_use_week_day": [ 803242305425671600 ], "can_no_use_date": [ { "start_time": 2181960248989521700, "end_time": 3398103070387489300 } ] }, "encrypted_code": "GzvCMezHPs" } ], "order_id": "a7WBHiNLTE", "certificates_v2": [ { "use_time_info": { "use_time_type": 1, "time_period_list": [ { "start_time": "JhtFilWQyv", "end_time": "vxHt4XTZVi", "end_time_is_next_day": false } ] }, "not_available_time_info": { "fulfil_enable": false, "can_no_use_week_day": [ 8869984635515543000 ], "can_no_use_date": [ { "end_time": 4069623539159372300, "start_time": 2198373339811524400 } ] }, "sku": { "sold_start_time": 2346704231062481400, "market_price": 2758137462450509300, "product_out_id": "rdS0YWc6kS", "suplier_product_out_id": "KDh8QQhQLF", "sku_id": "OSMJDmjKa5", "title": "MjDKOdXE18", "third_sku_id": "ctkqUb3aj9", "voucher_type": 1, "account_id": "1SE1GwhxxB", "product_id": "l0rnxwDFj5", "sku_out_id": "5WUYwYAnBs", "groupon_type": 1 }, "deduction_info_list": [ { "groupon_type": 1, "voucher_type": 1, "source_certificate_id": "3dZmp3ao8Q", "source_amount": 6848038521353960000, "source_order_id": "5Bj6VEuWs9" } ], "amount": { "origin_list_market_amount": 4064083956215446500, "payment_discount_amount": 743967660594656300, "brand_ticket_amount": 9051731398973041000, "pay_amount": 7437303072983765000, "list_market_amount": 5974922342269388000, "original_amount": 3067491485798344000, "merchant_ticket_amount": 5007585634233714000, "original_currency": "ThTt4vhCsb", "coupon_pay_amount": 2871983719957145600, "platform_discount_amount": 4870023400535498000 }, "status": 1, "off_peak_discount_info": { "has_off_peak_discount": false, "off_peak_time_range": [ { "daily_time_range_list": [ { "end_time_is_next_day": false, "start_time": "KbBkwEGXR0", "end_time": "1je9XQEAiB" } ], "week_day_list": [ 1 ], "start_time": 1602923326352142800, "end_time": 1158792906908288300 } ], "idle_time_limit_type": 1 }, "time_card": { "times_count": 8464941128380169000, "times_used": 8563910108688460000, "serial_amount_list": [ { "amount": { "original_amount": 1948203039173207300, "merchant_ticket_amount": 7534955023412283000, "coupon_pay_amount": 1844015940055187200, "payment_discount_amount": 3641557680481943000, "original_currency": "EdNxMIpGWy", "list_market_amount": 4042030888971931000, "pay_amount": 2811382824153367600, "platform_discount_amount": 3590936347494535700, "brand_ticket_amount": 7077975959604792000, "origin_list_market_amount": 8017817882240630000 }, "serial_numb": 4842043067343392000 } ], "time_card_type": 1 }, "advance_purchase_struct": { "purchase_type": 1, "time_detail": [ { "time": 3074464329007487000, "time_type": 1 } ] }, "period_card": { "period_type": 1 }, "certificate_id": 7899184718007773000, "used_status_type": 1, "benefit_card_info": { "total_amount": { "benefit_amount": 7111721391997243000, "total_amount": 5219422070848069000, "principal_amount": 7897927807564050000 }, "left_amount": { "total_amount": 3299902590718997000, "principal_amount": 7925861482148985000, "benefit_amount": 4334512054245026000 } }, "verify_records": [ { "can_cancel": false, "verify_type": 1, "verifier_unique_id": "HNQHTDgFMc", "poi_id": 6122059434474173000, "times_card_serial_num": 5318246459210220000, "verify_id": "CsfOFbmoXG", "certificate_id": "EI0essp3Ar", "verify_time": 4102765538601244000 } ], "encrypted_code": "pGJQUXVvvt", "additional_map": { "1": "H2jkrkTxdz" }, "book_info": { "book_product_number": 1828151377817765000, "verify_amount": 7629290508961158000, "book_poi_id": "zzht82JAbC" }, "buyer_reserve_info": { "credential_numb": "jBRpLnBEtk", "credential_type": 4868501999321535000, "name": "H4oQRSj3lw" }, "not_available_poi_list": [ "DrojoVnnK9" ], "start_time": 8696563013905953000, "verify": { "can_cancel": false, "verify_type": 1, "verifier_unique_id": "G34NzNSTOz", "poi_id": 3181468708073496600, "times_card_serial_num": 2865546678407038500, "verify_id": "BdjbKU4bRX", "certificate_id": "5YOFrsPPez", "verify_time": 7510700378194355000 }, "expire_time": 1375428834026308900, "code": "GGaql78U8T", "pay_bill_info": { "bill_total_amount": 8485570880999413000, "bill_amount": 360649724349132500 }, "reserve_info": { "order_reserve_user_info_list": [ { "credential_type": 1, "name": "aRLBJYc2pb", "phone": "YOygG4wLj1", "credential_numb": "VDqheJKxg9" } ] } } ], "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 | 5000009 | 实名信息查询失败,请重试查询 | |
200 | 3000002 | 以实际错误信息为准 | |
200 | 5000001 | 服务器打瞌睡了,请稍后再试。 | |
200 | 3000001 | 以实际错误信息为准 |