抖音开放平台Logo
开发者文档
控制台

技术服务商接入指南

收藏
我的收藏

生活服务开放能力简介

抖音生活服务是什么

生活服务是抖音推出适用于所有线下门店的本地生活行业商家的业务。商家可以通过团购优惠套餐或代金券的配置,并且通过短视频、直播、POI 等渠道展现给用户,引导用户线上购买、线下核销、为线下门店引流。

为什么要做生活服务开放能力

现有团购在抖音 app 里,使用手机登录操作,不做打通没办法满足规模以上连锁商家(通常有自己的收银和 Saas 后台管理系统)核销、发券、退款、对账等场景需求。故利用抖音生活服务开放能力 OpenAPI 并承接商家和日常需求对接。

抖音生活服务开放能力概览

名词解释

名词
说明
技术服务商
帮助商家打通 SaaS 能力,实现如商家可通过店内收银系统核销抖音券,查询账单等,但不做运营。
抖音券
抖音平台提供的券码,核销时需向平台请求,回调是否可以核销。
三方券
商家或三方服务商提供券码,下单时商家/服务商回传券码,由抖音发给用户。
生活服务应用
应用是开发功能的载体,生活服务应用专门用于的和抖音来客系统打通的应用载体,接口的权限、调用和授权都基于应用维度作用。
行业解决方案
解决方案是开通接口权限的入口,如餐饮行业解决方案包含核销、查询门店等能力。
接口权限
服务商只有申请某一接口的权限,才可以调接口。
商家授权
服务商访问某个商家的数据需要商家做授权。

整体接入流程

整体接入流程如下:
注意
本流程仅介绍技术服务商如何接入。商家如何入驻抖音来客及如何在抖音来客上经营可以参考抖音来客使用手册
下文将详细介绍技术服务商如何接入。

② 入驻技术服务商平台并完成认证

    未入驻抖音服务商平台已入驻抖音服务商平台但无正式应用的技术服务商,按以下流程直接入驻服务商平台并开展业务。
本文仅介绍大概流程,具体操作请参考平台入驻准备平台入驻流程
第二步:登录服务商平台,进入控制台,在「第三方生活服务商家应用」页面点击认证「生活服务商家应用代开发」能力
第三步:在「认证服务能力-基础信息」页签填写基础信息,然后点击「下一步」。
第四步:在「认证服务能力-经营信息」页签填写经营信息,然后点击「提交审核」。
注意
依据认证不同的服务能力,要求的填写字段存在差异,支持多选,认证「第三方应用代开发」能力,需上传应用工具相关介绍。
第五步:提交审核后,等待平台审核反馈通知。平台一般在 10 个工作日内完成审核。
第六步:平台审核通过后,在「认证服务能力-对公认证」页签完成对公认证。
平台为开发者提供了 5 种对公验证的方式,可依据自身情况选择验证形式。
认证方式
认证步内容和步骤
法定代表人/经营者支付宝人脸识别验证
    1.填写公司名称、资质编号、法定代表人/经营者姓名。
    2.填写法定代表人/经营者的身份证号码,系统校验通过后,需法定代表人/经营者已实名的手机支付宝扫页面二维码,进行人脸识别。
银行账户实名认证
    1.验证类型、公司名称、资质编号、经营者姓名。
    2.填写法定代表人/经营者的身份证号码、法定代表人/经营者个人银行卡号、银行卡预留手机号,短信验证码。
平台向客户打款验证
    1.填写验证类型、公司名称。
    2.开户行:通过关键字搜索,准确填写开户行信息,如“中国工商银行北京海淀支行”,尝试搜索“海淀支行”或“工商 海淀”即可。
    3.银行卡号:请认真填写,切勿多输少输或非该银行卡打款。
    4.平台向客户打款验证有两次打款机会,若平台向客户两次打款失败,则需选择其他方式进行对公验证(系统打款失败不占用两次机会)。
    5.从发起验证之时起,48 小时内,未输入验证金额,会显示超时,本次打款验证失效,需重新验证。
    6.验证类型:企业,填写开户行&银行卡号即可。
客户向平台打款验证
    1.填写验证类型、公司名称。
    2.银行卡号:请认真填写,切勿多输少输或非该银行卡打款。
    3.若客户向头条打款验证失败,可重新验证,无次数限制。
    4.从发起验证之时起,48 小时内头条没有收到打款,本次验证失效,需要客户重新验证。
申请验证授权
    1.被授权账户在可授权列表中找到授权账户。
    2.发起授权申请。
    3.授权账户收到对公认证授权确认信息。
    4.授权账户确认后成功授权。

③ 创建生活服务应用

第一步:进入服务商平台控制台,在「第三方应用」区域点击「创建三方应用」。
第二步:在「选择创建的应用类型」对话框中选择「第三方生活服务商家应用」,点击「确定」。
第三步:在「创建生活服务商家应用」页面填写「应用名称」、上传「应用图标」,勾选「我已同意并阅读《生活服务技术服务商合作协议》」,然后点击「提交」。
创建成功后,即可进入应用详情页。
    APPID = ClientKey
    AppSecret = ClientSecret
第四步:等待审核完成。审核时效 1 个工作日。

④ 申请解决方案及接口权限

申请所需的行业解决方案及能力。
第一步:在服务商平台控制台点击进入目标生活服务商家应用。
第二步:在左侧导航栏选择「解决方案」,在「解决方案」页面根据实际经营场景,在对应的解决方案「操作」列点击「申请开通」。
第三步:申请提交后,等待审核完成。审核时效 3 个工作日。

⑤ 完成商家对服务商授权

解决方案及能力审核通过后,需让商家完成对服务商应用的授权,才能调通接口,进行联调。

目前商户授权有2种方案如下,推荐使用方案一。

方案一:商家在SaaS收银系统授权服务商应用

推荐指数:⭐️⭐️⭐️⭐️⭐️,有开发成本,但商家在服务商SaaS系统内即可完成授权操作,服务商也无需登录抖音开放平台操作,耗时短、授权操作简便。
注意:目前到店餐饮解决方案、团购配送解决方案、到综行业解决方案可使用,酒店和景区等行业解决方案暂不可使用敬请期待。

方案二:商家在抖音来客授权服务商应用

推荐指数:⭐️⭐️⭐️,无开发成本,需商家登录抖音来客PC端发起授权,需服务商登录抖音开放平台操作,耗时长、授权操作较繁琐。
第一步:商家登录抖音来客
第二步:在左侧导航栏选择「店铺管理」>「服务方应用授权」,在「服务方应用授权」页面的「服务商代理」页签点击「新增授权」。
第三步:在「新增第三方应用所有权」页面搜索选择服务商、应用、授权行业和授权范围,然后点击「提交」。
第四步:服务商确认与抖音来客商户的授权关系
步骤一:服务商登录抖音开放平台服务商平台控制台,点击进入目标生活服务商家应用。
步骤二:在左侧导航栏点击「授权管理」,在「授权管理」页面查询并操作抖音来客商户的授权。

⑥ 开发、测试、验收、上线

若您在开发中遇到任何技术问题,请通过页面右下角“开发者助手”,提交技术工单;或联系您的BD获取更多技术支持。

功能开发

接口文档

接口调用注意事项

域名路径:
    1.接口访问域名统一为https://open.douyin.com,务必使用 HTTPS 请求。
    2.接口路径详见各接口,注意路径均以/结尾,/不可省略。
公共请求头:
每个接口都需要,不再每个接口中再单独提及。
参数
描述
必须
content-type
application/json
调用路径为服务商 调用 抖音的接口,会传递该请求头
参数
描述
必须
access-token
根据生成 client_token 获取的 token
log_id
抖音侧的问题排查标示
调用所有接口请求头中均需传 access-tokenaccess-token 的值需调用 /oauth/client_token/ 生成,取响应体 data.access_token,详情请参见生成 Client_token
调用 POST 接口,请求头需传 content-type: application/json

服务商侧签名规则

详细签名规则参考 SPI 签名机制说明
url 中的参数:
参数名称
参数类型
参数描述
必需
client_key
string
服务商的 client_key
timestamp
string
时间戳, 单位毫秒
sign
string
生成签名时无视该字段
header 中的 sign 参数:
调用路径为抖音调用服务商的接口,会传递以下内容在 header 中。
参数名称
参数类型
参数描述
必需
x-life-clientkey
string
服务商的 client_key
无用处 仅作应用标识用
x-life-sign
string
新签名
验签用
该 sign 的生成方式:
    1.以三方服务商的 client_secret 开头;
    2.将除 sign 之外的 URL 参数以 key=value 的形式按 key 的字典升序排列;
    若为 POST 请求,还需要加上 HTTP 的 BODY,key 固定为 http_body(http_body 的内容不参与排序,加到最后)。
    3.所有的这些项以字符 &串联起来即为待签名内容 str1
发码接口的示例如下(假设 client_secretyyyyyy):
str1 的内容是 yyyyyy&client_key=xxxxxx&timetamp=1624293280123&http_body=zzzzzz
然后将待签名内容 str1 计算 sha256 的值,得到的结果即为 sign。
注意
抖音将用于签名生成的 httpBody 以 []byte 类型请求服务商,服务商请不要将 []byte 反序列化成 object 再序列化 string 用于签名校验。这样会导致 json 中的字段顺序与抖音不符,同时若抖音侧将 httpBody 进行改动,也会导致签名校验不通过。

验收与上线

请重点关注以下几项:
    1.验券接口针对返回验券结果 result 字段,必须要做业务匹配。
    说明:result 结果非 0,不表示技术侧异常,而是业务提示,当 result 返回非 0 时,需做必要的业务处理。
    2.抖音侧接口返回失败,三方系统需有重试机制。
    针对服务抖动造成的接口异常,一般重试即可解决。
    3.建议三方系统做核销结果判断时,需预校验抖音返回结果,避免双方订单信息状态不一致。
    4.信息同步接口必接,避免抖音客服强制退款,服务商无感知。

FAQ

开放平台入驻常见问题

开放平台创建应用选择哪种类型?

答:生活服务商家应用。

开放平台创建应用选择行业?

答:根据客户的实际经营场景进行选择。

开放平台的申请,提交后一直是审核中怎么办?

答:开放平台的审核在 1 个工作日处理完成。如果一直没有审核,可以反馈到对应的 BD 同学。

资质准备有什么注意事项?

答:
    1.入驻营业执照图片清晰,营业执照主体与入驻机构名称保持一致。
    2.入驻函需签字并盖章,盖章主体与入驻机构名称保持一致。
    3.服务描述需涵盖具体业务及服务场景。

Client token 怎么获取,是否需要过期刷新?

答:生成 Client_token ,需要每 2 小时获取一次。

对接常见问题

如何生成 client_token?

答:grant_type 对应参数值就是"client_credential"字符串。

核销抖音券码时,获取到的短链接如何转换成长链接短链接?

答:GET 请求获取转发的长链接地址。

biz_msg 返回无权限执行该操作?

答:需要提供企业号 uid 即 client_key,报给对接销售反馈进行接口授权。

响应参数 biz_code 除了成功 0,其他错误码是否有枚举定义,还是说服务商自己定义?

答:
    1.其他非零的没有特殊定义,服务商自定义就行。
    2.需要注意的是:接口请求成功的情况下 biz_code 应该返回 0,不允许下单/发码失败/拒绝退款等业务上的返回都应该通过 data.result 来标识。
    3.biz_code 非零表示接口请求失败,会忽略 data 中的业务字段。

确认下接口安全是否只有签名,报文不需要加密?

答:不用。

服务商侧的接口地址 URL,我们必须要按照文档中的定义是吗?

答:不用,文档中的路径只是示例,服务商可以自定义,但请求与响应必须按照文档来。

抖音来客常见问题

历史已经在企业号对接的技术服务商迁移到抖音来客后是否需要重新对接?

答:历史对接的服务商不影响,但随着生活服务对外新能力的完善,建议历史服务商可重新接一套接口,方便后续的迁移。

商家是否可以继续留在企业号?

答:商家需要迁移到抖音来客,如果需要使用新接口能力,建议商家迁移,如果需要迁移,可联系对接的 BD,提前做迁移。