开放能力配置接口

收藏
我的收藏

1.名词解释​

扩展点、消息通知在本文统称为:开放能力。​
配置扩展点、消息的回调地址统称为:配置实现。​
实现配置界面【抖音开放平台-控制台-开发-解决方案配置】统称为:实现界面。​
实现配置界面如下:​

2.背景说明​

目前各行业对外的开放能力的定义、权限、实现等功能统一收拢到行业运营平台进行管理。​
配置实现的步骤为:1.解决方案实现配置 2.发布上线。​
部分开发者管理着大量的小程序,界面操作配置较为耗时,因此提供 OpenAPI 一键完成开放能力配置。​

3.前置条件​

使用此接口需要满足以下条件:​
    小程序已获取开放能力所属能力包的权限,可联系运营人员配置授权。​
    小程序所属行业的解决方案ID,在上图实现界面的解决方案详情内有展示。​
    小程序获取scope.PermissionKey的授权:open.industry.solution.parent。(小程序入驻完成时会自动授权)。​

4.接口列表​

4.1 配置开放能力实现接口​

该接口用于一键配置解决方案中的扩展点、消息的回调地址,并对小程序进行自动发布。​

4.1.1 基本信息

4.1.2 字段说明​

名称
类型
是否必须
描述
示例值
operator
string​
是​
当次请求操作人​
小王​
release_reason
string​
是​
发布原因​
140字以内​
配置团购行业扩展点实现地址​
industry_impl_list
List<IndustryImpl>​
是​
各行业的实现数据​
[{IndustryImpl1},{IndustryImpl2}]​
不设置时传 [ ]​
app_config_item_list
List<AppConfigItem>​
是​
小程序配置项列表​
[{AppConfigItem1},{AppConfigItem2}]​
不设置时传 [ ]​
IndustryImpl 字段说明
名称
类型
是否必须
描述
示例值
solution_id
string​
是​
解决方案ID​
实现配置界面进入解决方案详情页获取​
7271144788200628539​
open_ability_impl_list
List<OpenAbilityImpl>​
是​
当前解决方案内包含的开放能力的具体实现列表​
[{OpenAbilityImpl1},{OpenAbilityImpl2}]​
OpenAbilityImpl 字段说明
名称
类型
是否必须
描述
示例值
ability_identity
string​
是​
开放能力唯一标识​
获取方式:行业模板详情-选择某个扩展点-点击右上角实现说明文档-唯一标识​
/msg/trade/payment/notify​
is_delete
bool​
是​
是否删除当前生效的实现地址​
false​
test_url
string​
否​
is_delete为false时,必填​
测试地址​
256字符以内​
https协议:​
抖音云协议:​
{"protocol":"douyincloud","env_id":"env-xxxx","service_id":"1ijxxabj","call_back_path":"/api/trade/query_marketing_info_from_merchant"}​
prod_url
string​
否​
is_delete为false时,必填​
正式地址​
256字符以内​
https协议:​
抖音云协议:​
{"protocol":"douyincloud","env_id":"env-xxxx","service_id":"1ijxxabj","call_back_path":"/api/trade/query_marketing_info_from_merchant"}​
ability_type
int64​
是​
开放能力类型:1为扩展点,2为消息​
1​
impl_name
string​
是​
实现名称,随意填写,128字符以内​
预下单扩展点实现配置​
OpenAbilityImpl.AbilityIdentity 部分值
AppConfigItem 字段说明
名称
类型
是否必须
描述
示例值
identity
string​
是​
配置项唯一标识​
AppConfigItem.Identity枚举目前仅支持
/cfg/trade/fulfillment/qrcode_redirect核销组件二维码跳转地址 ​
value
string​
是​
配置项对应值​

4.1.3 请求示例​

4.1.4 响应参数​

4.2 查询生效中配置接口​

该接口用于查询小程序的行业模板配置数据。​

4.2.1 基本信息​

4.2.2 字段说明​

名称
类型
是否必须
描述
示例值
solution_id_list
List<string>​
是​
解决方案ID列表​
["7271144788200628539","7271144788200628249"]​

4.2.3 请求示例​

curl --location --request POST 'https://open.douyin.com/api/industry/v1/solution/query_impl' \ --header 'Content-Type: application/json' --header 'access-token:clt.0f51f1a0011058c85760f19ef19b9920iBDHujfbsmHrAmsHlAMkhLxGCCpM' --data-raw='{ "solution_id_list":["7271144788200628539","7271144788200628249"] }'

4.2.4 响应参数​

请求结构体字段说明
名称
类型
是否必须
描述
示例值
solution_eff_ability_impl_list
List<SolutionEffAbilityImpl> ​
是​
解决方案生效的实现数据列表​
[{SolutionEffAbilityImpl1},{SolutionEffAbilityImpl2}]​
app_config_item_list
List<AppConfigitem>​
是​
小程序配置项列表​
[{AppConfigItem1},{AppConfigItem2}]​
extra
ExtraBody​
是​
参见通用参数​
SolutionEffAbilityImpl 字段说明
名称
类型
是否必须
描述
示例值
solution_id
string​
是​
解决方案生效的实现数据列表​
7271144788200628539​
extension_ability_impl_list
List<EffAbilityimpl>​
是​
指定模板内扩展点生效数据​
[{EffAbilityImpl1},{EffAbilityImpl2}]​
message_ability_impl_list
List<EffAbilityimpl>​
是​
指定模板内消息配置数据​
[{EffAbilityImpl1},{EffAbilityImpl2}]​
EffAbilityImpl 字段说明
名称
类型
是否必须
描述
示例值
ability_identity
string​
是​
开放能力唯一标识​
/msg/trade/payment/notify​
protocol_type
int64​
是​
通信协议类型:HTTP=1 RPC=2​
(该字段已废弃,目前支持测试与生产地址使用不同的协议类型)​
1​
name
string​
是​
实现名称​
这是实现名称哟​
test_url
string​
是​
测试地址​
https协议:​
抖音云协议:​
{"protocol":"douyincloud","env_id":"env-xxxx","service_id":"1ijxxabj","call_back_path":"/api/trade/query_marketing_info_from_merchant"}​
prod_url
string​
是​
正式地址​
https协议:​
抖音云协议:​
{"protocol":"douyincloud","env_id":"env-xxxx","service_id":"1ijxxabj","call_back_path":"/api/trade/query_marketing_info_from_merchant"}​
app_id
string​
是​
小程序ID​
ttcfdbb96650e33355​
industry_code
string​
否​
行业编码​
general_industry​
AppConfigItem 字段说明
名称
类型
是否必须
描述
示例值
identity
string​
是​
配置项唯一标识​
AppConfigItem.Identity枚举目前仅支持
/cfg/trade/fulfillment/qrcode_redirect核销组件二维码跳转地址 ​
value
string​
是​
配置项对应值​
响应示例:
{ "extra": { "error_code": 0, "description": "", "sub_error_code": 0, "sub_description": "success", "logid": "02168674325065300000000000000000000ffff0a9a6263be866c", "now": 1686743253 }, "solution_eff_ability_impl_list": [ { "extension_ability_impl_list": [ { "ability_identity": "/ext/common/test/runtime_field_test", "app_id": "tt0feb7956908c100401", "industry_code": "test-stress", "name": "Tesla自动化_solution_open_api扩展点", "prod_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/custom_debug", "protocol_type": 1, "test_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/dev/custom_debug" }, { "app_id": "tt0feb7956908c100401", "industry_code": "test-stress", "name": "压测扩展点", "prod_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/custom_debug", "protocol_type": 1, "test_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/dev/custom_debug", "ability_identity": "/ext/common/test/stress" } ], "message_ability_impl_list": [ { "protocol_type": 1, "test_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/dev/custom_debug", "ability_identity": "/msg/common/test/runtime_field_test", "app_id": "tt0feb7956908c100401", "industry_code": "test-stress", "name": "Tesla自动化_solution_open_api消息", "prod_url": "https://open-platform-qa-boe.byted.org/api/trade/common/v2/custom_debug" } ], "solution_id": "7271144788200628249" } ], "app_config_item_list": [ { "identity": "/cfg/trade/fulfillment/qrcode_redirect", "value": "https://ss.com/app/open/delivery_qrcode_redirect" } ], "data": { "error_code": 0, "description": "" } }