平台应用类服务配置指南
收藏
我的收藏

1. 功能介绍

1.1 什么是平台应用?

抖音服务市场为技术服务商提供两种接入方案:​
服务接入类型
说明
平台应用(站内提供功能)
指服务商的功能,以 iframe 形式嵌入到服务市场,让购买者订购后直接使用。
优势:这个订购流程自动化实现,减少用户转化路径,并降低服务商的运营成本。
三方应用(站外提供功能)
指服务商需线下提供应用服务,如开发小程序、SaaS 软件、后台网站等,需购买者在其他系统使用服务。
用户订购时仅提供联系方式,由服务商与购买者线下沟通&达成合作,双方线下完成合作。
平台应用接入方案如下:​

PC 端

指在抖音服务市场 PC 端,服务商将自己的网站功能嵌入,让用户在 PC 端使用。​
服务流程:​
    1.用户在服务市场找到服务。​
    2.用户查看服务信息并订购服务。​
    3.用户授权抖音号登录第三方网站服务。​
    4.用户在平台内使用内嵌的第三方服务。​

小程序端

指在抖音服务市场小程序端(抖音 App 内),服务商可选择H5 或小程序为载体提供服务,用户订购后在抖音 App 内使用。​
小程序端入口:​
    抖音 App 内搜索“抖音服务市场”​
    抖音 App - 选择【我】-右上角【更多】中点击【创作者服务中心】-【全部分类】-【进阶服务】-【抖音服务市场】​

1.2 用户如何订购使用​

1.2.1 订购流程

PC 端
在服务市场找到服务。​
    1.查看服务信息并订购服务。​
    2.授权抖音号登录第三方网站服务。​
    3.在平台内使用内嵌的第三方服务。​
小程序端
小程序端入口:​
    抖音 app 内搜索「抖音服务市场」​
    抖音 app 内选择「我」,在右上角「更多」中选择「创作者服务中心」>「全部分类」>「进阶服务」>「抖音服务市场」​

1.2.2 如何使用

1.2.2.1 功能入口
用户订购后,可通过以下途径,进入【应用管理】功能​
    PC端:服务市场首页-我的应用/订单-应用管理
    小程序端:抖音APP-抖音服务市场小程序 - 应用管理​
1.2.2.2 功能介绍
该功能支持用户如下操作:​
    可查看购买的服务版本,及对应的剩余使用周期、使用次数等​
    可点击“去使用”跳转至服务商的功能页面​
    服务到期后,自动屏蔽使用入口,引导用户前往续费​

2. 接入方案概述

2.1 业务流程图

2.2 时序图

3.创建服务流程​

3.1 申请服务

    2.选择「我的服务」>「服务管理」,然后在「服务管理」页签中点击「创建服务」。​
    3.在「选择创建的服务类型」对话框中选择「平台应用类」,点击「确定」。​

3.2 填写服务基础信息

需填写服务基础信息,其中「**服务规格」**填写如下,其他请参见发布服务与接单。​
服务类型​
服务规格​
服务规格 id​
是否设置价格​
购买端-价格显示​
服务周期​
收款方式​
详情页按钮名称
下单环节
平台应用类​
(指下单后直接可用,服务商功能嵌入服务市场)​
体验版​
(只能一个)​
可自定义填写。​
用于唯一标识服务商提供的服务版本。​
否​
免费​
    使用时间维度:天、月、永久。​
    使用次数维度:次数、条数。​
-​
购买前:立即体验​
购买后:立即使用​
(限定仅可购买一次)​
/​
标准版​
(可多个,自定义规格名称&规格描述)​
是​
具体金额数字​
平台收款​
需开通微信支付商户号。​
立即订购​
支持多次购买​
付款​
平台担保支付​
体验版(未修改展示规格 ID)​
标准版(未修改展示规格 ID)​
注意:服务商在更新服务的规格信息时,若对「规格 id」进行更新或删除,需要在代码层面做好适配。​
    若更新了规格信息,如将标准版某一规格的「规格 id」从 id1 变更为 id2,对于购买了 id1 和 id2 规格的用户,在代码层面服务商需要能够根据规格 id 正确映射至服务商提供的对应服务。​
    若删除了规格信息,如将标准版的「规格 id」删除,对于购买了 id1 用户,在代码层面服务商需要能够正确映射至服务商提供的对应服务。​

3.3 填写应用配置信息

第一步:在服务规格信息处可查看「服务 id」(即 service_id)和「服务规格 id」(即 service_mode_id),填写测试的抖音账号。
基于「**服务 id」**和「服务规格 id」,可用于调用查询购买信息接口和扣除用户服务使用次数接口,详情参见服务端校验用户购买信息。​
第二步:填写测试帐号,用于下方配置后的调试。
第三步:配置服务市场 PC 端。
字段说明:
    平台应用url:服务商应用服务的网址,即为iframe嵌入地址。​
    安全通信域:为了保证双方通信的安全性,为了安全考虑,需要指定安全通信域。假如第三方应用已经有了跳转,比如从 www.a.com 跳转到 www.b.com,则收不到容器发送的信息。
    关联应用:该服务关联的抖音开放平台应用,以此证明有相关的开发能力。​
    服务应用截图:服务描述的应用内功能截图。​
**调试说明:**完成以上信息填写后,请点击「开始调试」,进行页面跳转,查看是否可正常跳转。​
第四步:配置服务市场移动端。
    1.可选择 H5 接入或小程序接入,填写对应的字段信息。​
    2.信息填写完成后,生成调试二维码,用测试抖音号扫码查看。​
H5 接入
小程序接入

3.4 提交申请,等待审核

完成上述信息填写后,平台将于 2 个工作日完成审核,审核通过后将自动上架服务。​
若审核驳回,将通过短信或站内信形式通知。​

4. 平台应用类授权说明​

4.1 PC 端​

第一步:请求 code。
不同于普通网站的授权流程,平台应用类需要用过 postMessage 与容器进行通信来获取 code,好在抖音开放平台已经开放了 SDK 以供第三方开发者方便的调起授权流程。​
js
复制
注意:请下载最新版的 douyin-isv 包(v0.1.5,截止 2021.7.13
https://www.npmjs.com/package/douyin-isv
Bash:​
js
复制
npm install douyin-isv
JavaScript:​
js
复制
import DouyinISV from "douyin-isv";
const douyinISV = new DouyinISV(); // DouyinISV({ debug: true }) 打印日志
// scope 为用户授权的作用域,以,分隔
douyinISV
.getAuth({
scope: "user_info,video.list,mobile_alert",
})
.then((code) => {
console.log("success: ", code);
})
.catch((err) => {
console.error("error: ", err);
});
第二步:通过 code 获取 access_token。
和普通的网站授权流程一样,请参见获取 access_token。​
**注意:**因为容器(创作者平台)退出登录之后,并不会告知平台应用。为了确保里外是同一个用户身份,还设计了一个接口用来检查是否为同一个用户身份。建议在已授权的情况下,每次打开页面,调用 checkLogin 保证用户还是上次授权的用户。​
JavaScript:​
js
复制
import DouyinISV from "douyin-isv";
const douyinISV = new DouyinISV();
// openId 授权用户的唯一标识id
douyinISV
.checkLogin({
openId: "xxxxx",
})
.then(({ isPass }) => {
console.log("success: ", isPass);
})
.catch((err) => {
console.error("error: ", err);
});
常见接入问题:
1、问:创作服务平台有授权弹窗,企业号平台没有授权弹窗。​
答:优先检查 douyin-isv 包版本是否 ≥ 0.1.5。v0.1.1 --> v0.1.5 授权函数没有变化,可以直接升级。​
2、问:测试页面为何没有展示授权弹窗,就可以拿到 code?​
答:服务端判断之前授权过,会直接返回 code,走免授权流程。​
3、问:douyin-isv 包支持打印调试日志吗?​
答:支持。在初始化时传入 debug 参数。new douyinISV({ debug: true })

4.2 移动端 H5 应用​

如果需要使用抖音的开放能力,一般需要完成授权,H5 应用可以接入 Web 授权或者 JS 授权。​

4.3 移动端小程序​

小程序端进行用户授权可参考 tt.showDouyinOpenAuth。​

5.服务端校验用户购买信息​

5.1 使用场景​

当有用户授权打开应用 URL,服务商需拿用户的抖音 open_id,查询该用户具体购买信息,提供对应版本的服务,并防止用户绕开服务市场付费流程,自行打开应用,给服务商带来损失。​

5.2 接入指南

第一步:权限申请。
    scope:market.service.user。​
    申请路径:抖音开发者平台 > 管理中心 > 应用详情 > 特殊权限,​
第二步:查询用户购买信息。
开发者在自己的服务端,通过用户授权获取用户的 open_id,按照查询用户购买服务信息接口文档指引,获取用户购买的服务规格信息,提供相应服务。​
第三步:提供对应版本功能。
    若用户已购买服务且服务仍在有效期内,即可向用户正常展示服务。​
    若用户没有付费或付费已到期,可提示用户到「抖音服务市场」购买服务后再访问。​
第四步:同步扣减使用次数。
若服务商提供的服务为次数类型:​
    在用户使用服务后,服务商需调用扣除用户服务的剩余使用次数/条数与抖音开放平台同步用户的服务剩余使用次数信息,规格id和剩余使用次数信息可从上一步的接口调用中获得。​
    若用户次数扣减完成,可以提示用户到「抖音服务市场」购买服务后再访问。​

6. 可导入外部订购信息

6.1 功能介绍​

服务商可使用该接口,将用户的订购数据导入服务市场平台侧,从而延长用户的使用周期 or 使用次数,支持用户可在服务市场内继续使用相关功能。​

6.2 使用场景​

服务商可根据自己业务情况,评估将内部订购数据同步至服务市场。​
场景举例:​
    服务商有合作的代理商,用户通过代理商购买了服务后,可通过该接口同步至服务市场,指引用户可在服务市场管理、使用服务。​
    服务商有营销活动,为用户多赠送了使用周期、使用次数,则可通过该接口同步至服务市场。​

6.3 接入指南​

6.3.1 导入外部订购数据​

服务商可调用「导入外部订购数据」,导入用户的订购数据。​

6.3.2 删除导入的外部订购数据​

服务商可调用「删除导入的外部订购数据」,删除历史导入的订购数据。​