# 素材库
素材库用于管理企微的素材,可以方便的在企微聊天工具栏分发给客户,也可以在渠道码等功能上使用。
# 词汇表
词汇表是统一语言的一部分。英文将用于源代码中。
中文名称 | 英文名称 | 英文缩写 | 值示例 | 描述 |
---|---|---|---|---|
素材 | material | 可用于企微发送的内容资源。参见:概述 - 企业微信素材管理 (qq.com) (opens new window) | ||
企微专属活动素材 | 一种特殊的素材。本质是裂变渠道码。 通过分享此类素材实现对已添加的客户(企微外部联系人)做裂变。 | |||
话术推荐 | 可用于企微用户与客户聊天时,自动推荐相关素材给企微用户 |
# 页面插件接入
移动端全局项目权限配置,默认为有全局项目,如果不需要全局项目需要把 organ_code 给到企微中台开发人员进行配置。
# PC 端
接入方式详见页面插件接入章节
# 素材中心
能力编码:material_center
权限代码 | 权限名称 | 含义 |
---|---|---|
00 | 查看 | 是否可以进入素材库功能 |
01 | 上传素材 | 是否可以创建新的素材 |
02 | 分发素材 | 控制是否可以把素材分发出去 |
03 | 编辑素材 | 是否可以编辑已有的素材 |
04 | 删除素材 | 是否可以将一个素材删除 |
06 | 项目选择-全局 | 选择关联项目时是否可选全局 |
# 素材标签
能力编码:tag_manage
权限代码 | 权限名称 | 含义 |
---|---|---|
00 | 查看列表 | 是否可以查看标签列表 |
01 | 新增标签 | 是否可以添加新的标签 |
02 | 删除标签 | 是否可以删除已有的标签 |
03 | 编辑标签 | 编辑标签 |
05 | 项目选择-全局 | 选择关联项目时是否可选全局 |
# 素材统计
能力编码:material_statistics
权限代码 | 权限名称 | 含义 |
---|---|---|
00 | 查看 | 是否可以进入素材统计功能 |
01 | 员工使用记录 | 是否可以查看员工使用记录 |
02 | 素材热度统计 | 是否可以查看素材热度统计 |
03 | 全局 | 是否有全局权限(此权限体现在"项目下拉框",有则展示,无则隐藏) |
PC 端数据权限
权限代码 | 权限名称 | 含义 |
---|---|---|
hideGlobalproject | 项目选择-全局 | 选择关联项目时是否可选全局 |
# 话术推荐
能力编码:words_recommendation
权限代码 | 权限名称 | 含义 |
---|---|---|
00 | 查看话术推荐功能 | 是否可以进入话术推荐功能 |
01 | 添加推荐规则 | 是否可以添加推荐规则 |
02 | 编辑推荐规则 | 是否可以编辑推荐规则 |
03 | 删除推荐规则 | 是否可以删除推荐规则 |
04 | 添加场景 | 是否可以添加场景 |
05 | 编辑场景 | 是否可以编辑场景 |
06 | 删除场景 | 是否可以删除场景 |
# 移动端
# 素材中心
接入方式详见页面插件接入章节。
# 话术推荐
接入方式详见页面插件接入章节。
⚠️ 仅支持开通了会话存档的员工使用,推荐内容的更新并非实时,更新速度受限于企微产生会话回调事件 (opens new window)的推送机制会有一定时间(30s 内)的延迟。
# 领域模型
# 素材追踪交互序列
# 对外开放 API
API 名称 | 定义 | 说明 |
---|---|---|
创建素材 | 查看 | |
更新素材 | 查看 | |
获取素材详情 | 查看 | |
获取素材列表 | 查看 | |
创建企微专属活动素材 | 查看 | |
删除素材 | 查看 | |
发布素材 | 查看 | |
取消发布素材 | 查看 | |
取消发布素材(根据渠道) | 查看 | |
查询素材追踪配置 | 查看 | |
配置素材追踪 | 查看 | |
检查是否创建过素材 | 查看 | |
获取素材标签列表 | 查看 |
# 创建素材
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/add
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 id |
material_type | 是 | 素材类型:1-图片;2-小程序;3-H5;4-视频;5-文件 |
material_title | 是 | 素材标题 |
img_url | 否 | 图片 url。material_type=1 时必传 |
h5_href | 否 | H5 链接。material_type=3 时必传 |
h5_description | 否 | H5 描述。material_type=3 时必传 |
video_url | 否 | 视频 url。material_type=4 时必传 |
file_url | 否 | 文件 url。material_type=5 时必传 |
miniprogram_appid | 否 | 小程序 app id。material_type=2 时必传 |
miniprogram_url | 否 | 小程序路径。material_type=2 时必传 |
cover_url | 否 | 封面 url。material_type=2|3|4 时必传 |
belong_projects | 是 | 关联项目信息 |
belong_projects.organ_proj_id | 是 | 关联项目的项目 id。关联项目为全局时,传递空字符串 |
belong_projects.organ_proj_name | 是 | 关联项目的项目名称。关联项目为全局时,传递『全局』 |
belong_tags | 否 | 素材标签列表 |
belong_tags.tag_id | 是 | 素材标签 id |
belong_tags.tag_name | 是 | 素材标签名称 |
has_published | 否 | 是否立即发布,默认为 false |
share_tip | 否 | 分享话术 |
channel_id | 是 | 裂变渠道 id |
creator_id | 是 | 创建者 id |
creator_name | 是 | 创建者名称 |
remark | 否 | 备注 |
请求示例:
{
"app_id": "39febb6a-81f3-0b9a-5698-79041b85d947",
"material_type": 1,
"material_title": "素材标题",
"share_tip": "",
"belong_projects": [
{
"organ_proj_id": "",
"organ_proj_name": "全局"
}
],
"belong_tags": [
{
"tag_id": "1111",
"tag_name": "tag_name"
}
],
"img_url": "http://xxx",
"has_published": true,
"channel_id": "",
"creator_id": "miax",
"creator_name": "管理员",
"remark": "sn20230411"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回参数说明:
参数 | 说明 |
---|---|
material_id | 对应素材 id |
# 更新素材
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/update
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
material_id | 是 | 素材 id |
material_type | 是 | 素材类型:1-图片;2-小程序;3-H5;4-视频;5-文件 |
material_title | 是 | 素材标题 |
img_url | 否 | 图片 url。material_type=1 时必传 |
h5_href | 否 | H5 链接。material_type=3 时必传 |
h5_description | 否 | H5 描述。material_type=3 时必传 |
video_url | 否 | 视频 url。material_type=4 时必传 |
file_url | 否 | 文件 url。material_type=5 时必传 |
miniprogram_appid | 否 | 小程序 app id。material_type=2 时必传 |
miniprogram_url | 否 | 小程序路径。material_type=2 时必传 |
cover_url | 否 | 封面 url。material_type=2|3|4 时必传 |
belong_projects | 是 | 关联项目信息 |
belong_projects.organ_proj_id | 是 | 关联项目的项目 id。关联项目为全局时,传递空字符串 |
belong_projects.organ_proj_name | 是 | 关联项目的项目名称。关联项目为全局时,传递『全局』 |
belong_tags | 否 | 素材标签列表 |
belong_tags.tag_id | 是 | 素材标签 id |
belong_tags.tag_name | 是 | 素材标签名称 |
has_published | 否 | 是否立即发布,默认为 false |
share_tip | 否 | 分享话术 |
channel_id | 是 | 裂变渠道 id |
remark | 否 | 备注 |
请求示例:
{
"errcode": 0,
"errmsg": "ok",
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f",
"material_type": 1,
"material_title": "素材标题",
"share_tip": "",
"belong_projects": [
{
"organ_proj_id": "",
"organ_proj_name": "全局"
}
],
"belong_tags": [
{
"tag_id": "1111",
"tag_name": "tag_name"
}
],
"img_url": "http://xxx2",
"has_published": true,
"channel_id": "",
"remark": "sn20230411-11"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok"
}
返回参数说明:
无
# 获取素材详情
请求方式: GET(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/get
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
material_id | 是 | 素材 id |
请求示例:
https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/get?material_id=xxxxx
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"belong_projects": [
{
"organ_proj_id": "",
"organ_proj_name": "全局"
}
],
"belong_tags": [
{
"tag_id": "39ff7f86-b00d-10d4-b915-b0362e09cb24",
"tag_name": "cs1",
"organ_proj_id": "",
"organ_proj_name": "全局"
}
],
"material_id": "39ff7f87-4c2d-0de0-5ffc-942c959201f2",
"app_id": "39fdf97b-2bc3-010d-82cd-e12d78b15714",
"material_title": "cs1",
"material_type": 1,
"img_url": "https://yunke-oss.oss-cn-hangzhou.aliyuncs.com/nbd/bff-nbd-qw-bg/files/2021/10/11/FB4O3ziw4b-1633922201075.jpg",
"h5_href": "",
"h5_description": "",
"video_url": "",
"file_url": "",
"miniprogram_appid": "",
"miniprogram_url": "",
"cover_url": "",
"creator_id": "39cb41a0-718f-4743-79d1-9e9332dd4e9a",
"creator_name": "400",
"has_published": true,
"channel_id": "",
"share_tip": "222",
"remark": "sn20230411-11"
}
返回参数说明:
参数 | 说明 |
---|---|
app_id | 企微中台应用 id |
material_id | 素材 id |
material_type | 素材类型:1-图片;2-小程序;3-H5;4-视频;5-文件 |
material_title | 素材标题 |
img_url | 图片 url |
h5_href | H5 链接 |
h5_description | H5 描述 |
video_url | 视频 url |
file_url | 文件 url |
miniprogram_appid | H5 描述 |
miniprogram_url | H5 描述。material_type=3 时必传 |
cover_url | 封面 url |
belong_projects | 关联项目信息 |
belong_projects.organ_proj_id | 关联项目的项目 id。关联项目为全局时为空字符串 |
belong_projects.organ_proj_name | 关联项目的项目名称 |
belong_tags | 素材标签列表 |
belong_tags.tag_id | 素材标签 id |
belong_tags.tag_name | 素材标签名称 |
has_published | 是否已发布 |
share_tip | 分享话术 |
channel_id | 裂变渠道 id |
creator_id | 创建者 id |
creator_name | 创建者名称 |
remark | 备注 |
# 获取素材列表
请求方式: GET(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/list
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 id |
project_id | 否 | 项目 id |
material_type | 否 | 素材类型 |
material_name | 否 | 素材名称 |
publish_status | 否 | 发布状态。0-全部(默认),1-已发布,2-未发布 |
tag_ids | 否 | 素材标签 id 列表 |
is_filter_channel | 否 | 是否过滤渠道活动素材。默认为 false |
show_channel_material | 否 | 查询渠道活动素材。1-不包含渠道活动素材,2-只查询渠道活动素材 |
is_page | 否 | 是否分页。默认为 false |
pager.page | 否 | 页数 |
pager.page_size | 否 | 分页行数 |
请求示例:
https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/list?app_id=xxxx&project_id=xxxx&material_type=1&material_name=xxxx&publish_status=0&tag_ids[]=xxxx1&tag_ids[]=xxxx2&is_filter_channel=false&show_channel_material=1&is_page=true&pager.page=1&pager.page_size=10
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"data": [
{
"material_id": "39ff3e09-2610-0e44-5ffc-942c959201f2",
"material_type": 2,
"material_title": "活动未开始样式",
"img_url": "",
"miniprogram_appid": "wxb988caa4c33af7b6",
"miniprogram_url": "page/mainPage/pages/entry/main?scene=1ba6aa76a1e7f55d2d023108f51a1f46",
"h5_href": "",
"h5_description": "",
"video_url": "",
"file_url": "",
"cover_url": "https://yunke-oss.oss-cn-hangzhou.aliyuncs.com/yued/qiwei/qw_middle_applet_default_img.png",
"tag_num": 0,
"has_published": true,
"channel_id": "39ff3e08-c2fc-05b7-4bdf-baa0b6f64582",
"creator_name": "自动创建",
"created_at": "2021-09-28 18:03:51",
"share_tip": "",
"remark": "sn20230411-11"
}
],
"pager": {
"page": "1",
"page_size": "10",
"total_rows": "44"
}
}
返回参数说明:
参数 | 说明 |
---|---|
data.material_id | 素材 id |
data.material_type | 素材类型:1-图片;2-小程序;3-H5;4-视频;5-文件 |
data.material_title | 素材标题 |
data.img_url | 图片 url |
data.h5_href | H5 链接 |
data.h5_description | H5 描述 |
data.video_url | 视频 url |
data.file_url | 文件 url |
data.miniprogram_appid | H5 描述 |
data.miniprogram_url | H5 描述。material_type=3 时必传 |
data.cover_url | 封面 url |
data.tag_num | 标签数 |
data.has_published | 是否已发布 |
data.created_at | 上传时间。格式为 yyyy-mm-dd hh:ii:ss |
data.share_tip | 分享话术 |
data.channel_id | 裂变渠道 id |
data.creator_id | 创建者 id |
data.creator_name | 创建者名称 |
data.remark | 备注 |
pager | 分页参数 |
pager.page | 页码 |
pager.page_size | 分页行数 |
pager.total_rows | 总记录数 |
# 创建企微专属活动素材
通过传递 裂变渠道码 信息创建一个企微专属活动素材。此 API 支持幂等调用
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/qw-exclusive-activity-material/add
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
channel_id | 是 | 裂变渠道 id |
creator_id | 是 | 创建者 id |
creator_name | 是 | 创建者名称 |
请求示例:
{
"app_id": "39fdda6e-a341-5e67-e243-d4ec9da063b8",
"channel_id": "073a2dc6-0138-a5c4-94ba-0a5094aae622",
"creator_id": "39fd9c9c-d28b-6a13-362f-ed64be12f18b",
"creator_name": "喵大壮"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回参数说明:
参数 | 说明 |
---|---|
errcode | 返回码。0 表示成功 |
errmsg | 对返回码的文本描述内容 |
material_id | 对应素材 id。(如果已有对应的,将使用渠道码信息刷新素材信息;否则创建新) |
# 删除素材
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/delete
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
material_id | 是 | 素材 id |
请求示例:
{
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok"
}
返回参数说明:
无
# 发布素材
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/publish
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
material_id | 是 | 素材 id |
请求示例:
{
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok"
}
返回参数说明:
无
# 取消发布素材
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/cancel_publish
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
material_id | 是 | 素材 id |
请求示例:
{
"app_id": "39fdda6e-a341-5e67-e243-d4ec9da063b8",
"material_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回数据:
{
"errcode": 0,
"errmsg": "ok"
}
返回参数说明:
参数 | 说明 |
---|---|
errcode | 返回码。0 表示成功 |
errmsg | 对返回码的文本描述内容 |
# 取消发布素材(根据渠道)
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/material/cancel_publish_channel
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
channel_id | 是 | 渠道 id |
请求示例:
{
"app_id" : "39fdda6e-a341-5e67-e243-d4ec9da063b8",
"channel_id": "39fe74fb-2f63-1e04-a968-2c01ad9f7f7f"
}
返回数据:
{
"errcode" : 0,
"errmsg" : "ok"
}
返回参数说明:
参数 | 说明 |
---|---|
errcode | 返回码。0 表示成功 |
errmsg | 对返回码的文本描述内容 |
# 查询素材追踪配置
请求方式: GET(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/track-config/get
请求参数说明:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
app_id | string | 是 | 企微中台应用 ID |
请求示例:
https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/track-config/get?app_id=string
返回数据:
{
"errcode" : 0,
"errmsg" : "ok",
"is_enabled": true
}
返回参数说明:
参数 | 说明 |
---|---|
is_enabled | 是否启用素材追踪 |
# 配置素材追踪
请求方式: POST(HTTPS)
请求地址: https://nbd-api.myscrm.cn/open-nbd-qw-material/v1/track-config/set
请求参数说明:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
app_id | string | 是 | 企微中台应用 ID |
is_enabled | bool | 是 | 是否启用素材追踪 |
请求示例:
{
"app_id" : "39fdda6e-a341-5e67-e243-d4ec9da063b8",
"is_enabled": true
}
返回数据:
{
"errcode" : 0,
"errmsg" : "ok"
}
返回参数说明:
暂无
# 接入方需提供的 API
# 获取接入方自定义的素材库
企微中台支持接入方将自定义的素材纳入一起管理、分发给客户。此接口用于接入方告诉中台有哪些自定义的素材库。
⚠️ 该概念目前体现在群发新建/编辑添加附件,如无需求则不必实现。
企微中台 API 代码: ListOrganMaterialLibrary
请求方式: GET(HTTPS)
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
请求示例:
https://xxxx.com/xxxx?app_id=xxxx
返回数据:
{
"errcode": 0,
"errmsg": "OK",
"library": [
{
"name": "云店素材",
"code": "ai_card",
"enable_overall": true
}
]
}
返回参数说明:
参数 | 说明 |
---|---|
library.name | 素材库名称 |
library.code | 素材库唯一标识 |
library.enable_overall | 是否支持全局 |
# 获取接入方自定义的素材类型列表
企微中台支持接入方将自定义的素材纳入一起管理、分发给客户。此接口用于接入方告诉中台有哪些自定义的素材类型。
企微中台 API 代码: GetOrganMaterialTypes
请求方式: GET(HTTPS)
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
project_id | 否 | 接入方项目 id。用于接入方控制数据权限,空表示全局 |
library_code | 否 | 素材库 id,中台聊天素材移动端会传递为空值,接入方务必实现默认的素材库 |
请求示例:
https://xxxx.com/xxxx?app_id=xxxx&project_id=xxxx&library_code=xxxx
返回数据:
{
"errcode": 0,
"errmsg": "OK",
"material_types": [
{
"name": "云店活动",
"icon_url": "https://123457.png",
"code": "ai_card_activity",
"open_type": 0,
"h5_url": "https://123457.png",
"miniprogram_appid": "123456789",
"miniprogram_url": "/path/index.html"
}
]
}
返回参数说明:
参数 | 说明 |
---|---|
material_types.name | 素材类型名称 |
material_types.icon_url | 素材类型对应图标 url |
material_types.code | 接入方自定义分类下素材列表入参 |
material_types.open_type | 打开方式:0-中台页面(默认),1-自定义小程序,2-自定义 h5 页面。 |
material_types.h5_url | 自定义 h5 页面地址,以 2-自定义 h5 页面 打开时必传 |
material_types.miniprogram_appid | 自定义小程序 app_id,以 1-自定义小程序 打开时必传 |
material_types.miniprogram_url | 自定义小程序路径,以 1-自定义小程序 打开时必传 |
# 获取接入方自定义分类下素材列表
企微中台支持接入方将自定义的素材纳入一起管理、分发给客户。此接口用于接入方告诉中台分类下的素材素材。
注意:
- 所有文件 size 必须大于 5 个字节
- 图片(image):10MB,支持 JPG,PNG 格式
- 语音(voice) :2MB,播放长度不超过 60s,仅支持AMR 格式
- 视频(video) :10MB,支持 MP4 格式
- 普通文件(file):20MB
- 小程序需要主体一致,否则会导致发送失败
企微中台 API 代码: GetOrganMaterials
请求方式: GET(HTTPS)
请求参数说明:
参数 | 必须 | 说明 |
---|---|---|
app_id | 是 | 企微中台应用 ID |
user_id | 否 | 接入方用户 ID。用于接入方控制数据权限,此值是在嵌入页面插件时获取登录 Ticket 时传给企微中台 |
code | 是 | 接入方自定义的素材类型列表参数 code |
project_id | 否 | 接入方项目 id。用于接入方控制数据权限,空表示全局 |
pager.page | 否 | 页数 |
pager.page_size | 否 | 分页行数 |
请求示例:
https://xxxx.com/xxxx?app_id=xxxx&user_id=xxxx&code=xxxx&project_id=xxxx&pager.page=1&pager.page_size=10
返回数据:
{
"errcode": 0,
"errmsg": "OK",
"material_list": [
{
"material_type": 1,
"material_title": "推广好友",
"text_content": "",
"img_url": "https://123457.png",
"h5_href": "",
"h5_description": "",
"video_url": "",
"file_url": "",
"miniprogram_appid": "",
"miniprogram_url": "",
"cover_url": "",
"share_tip": "欢迎扫码添加好友",
"has_published":true,
"organ_track_id": ""
},
],
"pager": {
"page": "1",
"page_size": "10",
"total_rows": "10"
}
}
返回参数说明:
参数 | 说明 |
---|---|
errcode | 返回码。0 表示成功 |
errmsg | 对返回码的文本描述内容 |
material_list.material_type | 1. 图片;2. 小程序;3. H5;4:视频;5. 文件;7. 文本; |
material_list.material_title | 素材标题 |
material_list.text_content | 文本 |
material_list.img_url | 图片 URL |
material_list.h5_href | H5 链接 |
material_list.h5_description | H5 描述 |
material_list.video_url | 视频 url |
material_list.file_url | 文件 url |
material_list.miniprogram_appid | 小程序 id |
material_list.miniprogram_url | 小程序 url |
material_list.cover_url | 封面。(小程序、H5、视频有封面) |
material_list.share_tip | 默认分享话术 |
material_list.has_published | 是否发布 |
material_list.organ_track_id | 接入方自定义跟踪 id |
pager | 分页参数 |
pager.page | 页码 |
pager.page_size | 分页行数 |
pager.total_rows | 总记录数 |
# 获取项目列表
# 包装素材
中台在发送素材前会调用此接口获得接入方附着好追踪参数的素材信息,再进行发送,以满足接入方类似素材追踪的需求。
⚠️ 如无包装素材的需求,此接口无需实现。
⚠️ 目前支持群发企微中台、接入方自定义分类下的素材。
⚠️ 支持包裹的企微中台素材类型有:图片、视频、图文、H5。
⚠️ 拼接小程序 path 需要将 materials.pack.landing_page_url 进行编码(参考下方案例中的 url 参数)
案例:page/mainPage/pages/entry/main?isShare=1&page_type=webview¶m_type=3&url=https%3A%2F%2F 素材域名%2Fmaterial-preview%2F3a00b467-4705-12e6-dd-55ca956bf573%3Fapp_id%3D3a00a104-95dc-bb-c866-0e324dd337f0%26shared_user_id%3D091ff2%26track_id%3D3a0661af-8ad4-236d-13f2-9db7c5e0f7ae
企微中台 API 代码: PackMaterial
请求方式: POST(HTTPS)
请求参数说明:
参数 | 类型 | 必须 | 说明 |
---|---|---|---|
app_id | string | 是 | 企微中台应用 id |
qw_user_id | string | 是 | 发送人,企微成员 id |
qw_external_userid | string | 否 | 接收人,企微成员的外部联系人 id |
project_ids | array | 否 | 项目 id 列表 |
ext_param | string | 否 | 接入方选择素材时的透传参数,如身份等。接入方可依此处理包装逻辑 |
scene | int | 否 | 发送场景:0-无(默认),1-渠道码,2-欢迎语,3-聊天素材,4-群发客户 |
materials.material_id | string | 是 | 素材 id,接入方自定义素材则为接入方自定义素材 id |
materials.organ_material_type | string | 否 | 接入方自定义素材类型 code,非接入方自定义素材时为空 |
materials.organ_material_library | string | 否 | 接入方自定义素材库 code,非接入方自定义素材时为空 |
materials.type | string | 是 | 素材类型:1-图片,2-小程序,3-H5,4-视频,5-文件 |
materials.img_url | string | 否 | 图片 url。type=1 时必传 |
materials.h5_href | string | 否 | H5 链接。type=3 时必传 |
materials.h5_title | string | 否 | H5 标题。type=3 时必传 |
materials.h5_description | string | 否 | H5 描述 |
materials.video_url | string | 否 | 视频 url。type=4 时必传 |
materials.file_url | string | 否 | 文件 url。type=5 时必传 |
materials.miniprogram_title | string | 否 | 小程序标题。type=2 时必传 |
materials.miniprogram_appid | string | 否 | 小程序 appid。type=2 时必传 |
materials.miniprogram_url | string | 否 | 小程序路径。type=2 时必传 |
materials.cover_url | string | 否 | 封面 url。type=2 时必传 |
materials.pack.pack_payload | int | 否 | 包装载体:1-小程序 |
materials.pack.track_id | string | 否 | 分享链路 id |
materials.pack.landing_page_url | string | 否 | 落地页 url,待包裹的素材详情 h5 地址 (格式如:https://素材对应的域名/material-preview/3a042615-33fb-1e06-5ffc-942c959201dd?&app_id=3a041664-9f6e-1993-b915-bb&shared_user_id=qwuserid) |
请求示例:
{
"app_id": "39fdda6e-a341-5e67-e243-d4ec9da063b8",
"qw_user_id": "zhangsan",
"qw_external_userid": "woAJ2GCAAAXtWyujaWJHDDGi0mAAAA",
"scene": 1,
"project_ids": ["xxx", "bbb"],
"ext_param": "置业顾问",
"materials": [
{
"material_id": "xxxxxxxxxxxxxxxxxxxx",
"organ_material_type": "",
"organ_material_library": "",
"type": 2,
"img_url": "",
"h5_href": "",
"h5_title": "",
"h5_description": "",
"video_url": "",
"file_url": "",
"miniprogram_title": "消息标题",
"miniprogram_appid": "wx8bd80126147dfAAA",
"miniprogram_url": "/path/index.html",
"cover_url": "https://example.pic.com/path.jpg",
"pack": {
"pack_payload": 1,
"track_id": "分享链路id",
"landing_page_url": "待包裹的素材详情h5地址"
}
}
]
}
返回数据:
{
"errcode": 0,
"errmsg": "ok",
"materials": [
{
"material_id": "xxxxxxxxxxxxxxxxxxxx",
"organ_material_type": "",
"organ_material_library": "",
"type": 2,
"img_url": "",
"h5_href": "",
"h5_title": "",
"h5_description": "",
"video_url": "",
"file_url": "",
"miniprogram_title": "消息标题",
"miniprogram_appid": "wx8bd80126147dfAAA",
"miniprogram_url": "/path/index.html",
"cover_url": "https://example.pic.com/path.jpg",
"pack": {
"pack_payload": 1,
"miniprogram_title": "消息标题",
"miniprogram_appid": "wx8bd80126147dfAAA",
"miniprogram_url": "/path/index.html",
"cover_url": "https://example.pic.com/path.jpg"
}
}
]
}
返回参数说明:
参数 | 说明 |
---|---|
materials.material_id | 素材 id |
materials.organ_material_type | 接入方自定义素材类型 code,非接入方自定义素材时为空 |
materials.organ_material_library | 接入方自定义素材库 code,非接入方自定义素材时为空 |
materials.type | 素材类型:1-图片,2-小程序,3-H5,4-视频,5-文件 |
materials.img_url | 图片 url。type=1 时必传 |
materials.h5_href | H5 链接。type=3 时必传 |
materials.h5_title | H5 标题。type=3 时必传 |
materials.h5_description | H5 描述 |
materials.video_url | 视频 url。type=4 时必传 |
materials.file_url | 文件 url。type=5 时必传 |
materials.miniprogram_title | 小程序标题。type=2 时必传 |
materials.miniprogram_appid | 小程序 appid。type=2 时必传 |
materials.miniprogram_url | 小程序路径。type=2 时必传 |
materials.cover_url | 封面 url。type=2 时必传 |
materials.pack | 包裹载体信息 |
materials.pack.pack_payload | 包装载体:1-小程序 |
materials.pack.miniprogram_title | 小程序标题 |
materials.pack.miniprogram_appid | 小程序 app_id |
materials.pack.miniprogram_url | 小程序路径 (需要加上.html 后缀,比如:"/index/page.html" ,如果不加在微信端打开会提示找不到页面) |
materials.pack.cover_url | 小程序封面图 |
# 接入方需调用的 API
# 生成 sso-ticket
请求方式: POST(HTTPS)
请求地址: https://gateway-inner.myscrm.cn/pbc-sso-ticket/v1/sso-ticket/produce
请求参数说明:
名称 | 类型 | 必须 | 备注 |
---|---|---|---|
user_id | string | 是 | 用户 ID |
user_name | string | 是 | 用户姓名 |
ext_info | string | 否 | 用户的扩展信息。json 格式。{"union_id":"xxx","nickname":"xxx","gender":1,"avatar":"xxx","app_id":"xxx"} |
ext_info 字段 json 说明:
名称 | 类型 | 必须 | 备注 |
---|---|---|---|
union_id | string | 是 | 打开小程序页面的用户 union_id |
nickname | string | 是 | 用户昵称 |
gender | string | 否 | 用户性别:0-未知,1-男,2-女 |
avatar | string | 否 | 用户头像图片 url |
app_id | string | 是 | 企微应用 id |
请求参数:
{
"user_id": "string",
"user_name": "string",
"ext_info": "{\"union_id\":\"xxx\",\"nickname\":\"xxx\",\"gender\":1,\"avatar\":\"xxx\",\"app_id\":\"xxx\"}"
}
返回参数:
{
"ticket": "string",
"expires_in": 0
}
返回参数说明:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
ticket | string | 是 | 票据 |
expires_in | int32 | 否 | 票据的有效时间,单位/秒 |