验券准备
接口说明
抖音团购券码的核销, 需要先调用本接口, 查询订单的券列表,选择要验的券,再调用验券接口,核销券码。
- 抖音团购券码的核销,每次都需要先调用本接口,优先查询订单的券列表,选择要验的券,再调用验券接口,核销券码,验券准备和验券接口的调用次数需要一一对应,如已经调用验券接口验券成功,则当前二维码会失效,无法继续使用验券准备接口,需要使用刷新的二维码再进行调用。
- 二维码扫出来是一个短链,示例: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_dataString
从二维码解析出来的标识
(传参前需要先进行URL编码,注意不要有空格)
poi_idString
操作核销的抖音门店id(必传)
请求示例
curl --location --request GET 'https://open.douyin.com/goodlife/v1/fulfilment/certificate/prepare/?encrypted_data=mrKs9DKlzp&code=Y6PwbXHR7V&poi_id=3MM4LfkWkz&account_id=hpU33OlsX9' \ --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": "2025021315015210A30D9498236C6DD6CE", "now": 1739430113 }, "data": { "order_id": "ctL8dyXyRh", "certificates_v2": [ { "not_available_time_info": { "fulfil_enable": false, "can_no_use_week_day": [ 788146093196029000 ], "can_no_use_date": [ { "start_time": 8208419330059278000, "end_time": 640794460490990000 } ] }, "expire_time": 1327197852886195200, "verify": { "verify_id": "Ss8wtC4HPy", "certificate_id": "0WFhYNrwML", "verify_time": 8300555486267686000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "EzX5p1AKlH", "poi_id": 2444522810942303000, "times_card_serial_num": 2822453887183115300 }, "used_status_type": 1, "additional_map": { "1": "HG8UlFUFrk" }, "amount": { "brand_ticket_amount": 6074337621929474000, "pay_amount": 8809851192393701000, "coupon_pay_amount": 3324230026038961700, "original_amount": 148129211912612640, "payment_discount_amount": 5561321981867158000, "origin_list_market_amount": 3560060717017574400, "original_currency": "15ZFR87hij", "list_market_amount": 7094785178616312000, "platform_discount_amount": 4484018587177139000, "merchant_ticket_amount": 7255483234259737000 }, "use_time_info": { "time_period_list": [ { "start_time": "recrRLnOAa", "end_time": "lr0thdrL2B", "end_time_is_next_day": false } ], "use_time_type": 1 }, "sku": { "sold_start_time": 1040405853429868400, "sku_out_id": "RbZF4n8TgL", "suplier_product_out_id": "kEcjQIyYk9", "third_sku_id": "tXIh8lbnZt", "groupon_type": 1, "title": "G6iWkHvY0t", "sku_id": "XD57oXZV4F", "product_id": "AY8OjYcdPx", "market_price": 7205461042580927000, "account_id": "FExYP6vfty", "product_out_id": "T6eFdjgeDl", "voucher_type": 1 }, "status": 1, "not_available_poi_list": [ "3ntJvMaIKQ" ], "code": "MWERzx7XtW", "certificate_id": 8280206600557507000, "reserve_info": { "order_reserve_user_info_list": [ { "phone": "5MREMZejTR", "credential_numb": "TZum5sPUOC", "credential_type": 1, "name": "UJB4PWpaOL" } ] }, "encrypted_code": "c8W9Dh6cla", "off_peak_discount_info": { "idle_time_limit_type": 1, "has_off_peak_discount": false, "off_peak_time_range": [ { "start_time": 5624121811510939000, "end_time": 1042836690760949900, "daily_time_range_list": [ { "end_time_is_next_day": false, "start_time": "hO4suKtfs7", "end_time": "Fk5z8ZEjMn" } ], "week_day_list": [ 1 ] } ] }, "period_card": { "period_type": 1 }, "start_time": 4807978317314147000, "time_card": { "serial_amount_list": [ { "serial_numb": 5488823664290412000, "amount": { "platform_discount_amount": 5343058670026656000, "pay_amount": 3656099841496141300, "coupon_pay_amount": 553408436826374140, "merchant_ticket_amount": 9082560734901493000, "original_amount": 6230966536697300000, "original_currency": "pewdLYBZVc", "payment_discount_amount": 5145794675003229000, "origin_list_market_amount": 8989660233354092000, "brand_ticket_amount": 3012704775759432700, "list_market_amount": 346251113646560900 } } ], "times_count": 1058465292997636700, "times_used": 8894629025633322000 }, "book_info": { "book_poi_id": "VCez0xCE06", "book_product_number": 2972741079905381400 }, "verify_records": [ { "times_card_serial_num": 1453761346913707000, "verify_id": "S4SgHuuaSi", "certificate_id": "hWLLA6tuXJ", "verify_time": 8054449478469377000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "F5VT3rlkMx", "poi_id": 2050441720308959500 } ] } ], "verify_token": "MAYt0hSoUW", "certificates": [ { "code": "PT3WVHTRtx", "period_card": { "period_type": 1 }, "expire_time": 7556115481069681000, "verify_records": [ { "certificate_id": "Y2EvzLxMi0", "verify_time": 8030378644880070000, "can_cancel": false, "verify_type": 1, "verifier_unique_id": "IuTnOfHHUG", "poi_id": 6038559486323794000, "times_card_serial_num": 4149960985868422000, "verify_id": "3hFCb4b5nz" } ], "off_peak_discount_info": { "has_off_peak_discount": false, "off_peak_time_range": [ { "start_time": 1536004300334937300, "end_time": 1292042538061282600, "daily_time_range_list": [ { "end_time": "7QJ08Q76kR", "end_time_is_next_day": false, "start_time": "tHvi3EXHIU" } ], "week_day_list": [ 1 ] } ], "idle_time_limit_type": 1 }, "amount": { "brand_ticket_amount": 1867339317069998300, "pay_amount": 6190992296014293000, "payment_discount_amount": 4684104057074585000, "original_currency": "xocrZiuixi", "original_amount": 305748605816522430, "coupon_pay_amount": 6175178178527981000, "platform_discount_amount": 974138996013405600, "origin_list_market_amount": 711072048314799100, "merchant_ticket_amount": 4377017961787501600, "list_market_amount": 7845935956653969000 }, "verify": { "verifier_unique_id": "GJutSXgS6K", "poi_id": 5891985005286648000, "times_card_serial_num": 1867492209296683500, "verify_id": "SY7DAg0nM9", "certificate_id": "ih42V12fXG", "verify_time": 1550814192954104000, "can_cancel": false, "verify_type": 1 }, "book_info": { "book_poi_id": "R84UM53Ncj", "book_product_number": 1556197410996275500 }, "time_card": { "serial_amount_list": [ { "serial_numb": 9044568744119886000, "amount": { "brand_ticket_amount": 3257332658243965400, "coupon_pay_amount": 8267006220738001000, "list_market_amount": 260718931421747900, "origin_list_market_amount": 7206089484273248000, "payment_discount_amount": 6800510543386965000, "pay_amount": 7214795507815599000, "original_currency": "YT8CiUP5sa", "original_amount": 1820497555251958800, "merchant_ticket_amount": 8176016751260438000, "platform_discount_amount": 5627395597719562000 } } ], "times_count": 1431807878948982300, "times_used": 8708915361279048000 }, "not_available_time_info": { "can_no_use_date": [ { "start_time": 7788304384180282000, "end_time": 2351776547801646600 } ], "fulfil_enable": false, "can_no_use_week_day": [ 7564285344327643000 ] }, "encrypted_code": "gaSnyWQcJh", "certificate_id": 2097602655251856000, "sku": { "sold_start_time": 1674392066335004700, "third_sku_id": "TIxd9wShcA", "market_price": 1449258394165642500, "sku_out_id": "JH6MsnDOvn", "groupon_type": 1, "suplier_product_out_id": "FZGwxfupaR", "title": "kO079lngkB", "account_id": "KchAczlJb1", "product_id": "6Jsbpsqtcj", "sku_id": "hdkLpjlqCA", "product_out_id": "tTIkhG3LSp", "voucher_type": 1 }, "use_time_info": { "use_time_type": 1, "time_period_list": [ { "end_time_is_next_day": false, "start_time": "cyvjJomVUp", "end_time": "r5MvMX7YXf" } ] }, "reserve_info": { "order_reserve_user_info_list": [ { "phone": "WulDDoJ8BC", "credential_numb": "EqBbUkClQ0", "credential_type": 1, "name": "fIwrGyWwOm" } ] }, "status": 1, "additional_map": { "1": "LA4Ow7Kwhn" }, "used_status_type": 1, "not_available_poi_list": [ "Ee1xeCwo6W" ], "start_time": 5609057100305970000 } ], "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 | 以实际错误信息为准 |