7.8 KiB
7.8 KiB
素材与话术库
阅读本文件处理素材列表、素材增删改查、获取 OSS 上传 token、话术库、话术分类、话术标签等操作。素材内容里的消息结构见 api-common.md。
素材与话术接口
| 目标 | 接口 | 请求字段 | 常用返回字段 |
|---|---|---|---|
| 素材上传 | POST /api/material/upload |
type(string, 必填,素材类型);material(bytes, 必填,素材) |
link(string,素材地址) |
| 列表 | POST /api/material/list |
page(int64, 必填,page);pageSize(int64, 必填,pageSize);name(string, 可选,素材名字搜索);type(string, 必填,类型);isQy(bool, 可选,是否属于企业) |
list(repeated MaterialInfo,计划列表);page(int64,page);pageSize(int64,pageSize);total(int64,总数);last(bool,是否最后) |
| 添加 | POST /api/material/add |
id(int64, 可选,素材id);type(string, 必填,素材类型);name(string, 必填,素材名字);text(MessageText, 可选,文本消息 text);image(MessageImage, 可选,图片消息 image);sticker(MessageSticker, 可选,表情消息 sticker);video(MessageVideo, 可选,视频消息 video);miniProgram(MessageMiniProgram, 可选,小程序 miniProgram);link(MessageLink, 可选,链接 link);audio(MessageAudio, 可选,音频 audio);compositeImage(MessageCompositeImage, 可选,合成图 compositeImage);inviteGroup(MessageInviteGroup, 可选,入群邀请 inviteGroup);goods(MessageGoods, 可选,商品 goods);freeVideo(MessageFreeVideo, 可选,视频号 freeVideo);liveBroadcastRoom(MessageLiveBroadcastRoom, 可选,直播间 liveBroadcastRoom);file(MessageFile, 可选,文件 file);note(MessageNote, 可选,笔记 note);collection(repeated Collection, 可选,合集 collection);materialGroup(repeated MaterialDialogueContent, 可选,素材组List);isQy(bool, 可选,是否属于企业);... 另有 1 个字段 |
id(int64) |
| 删除 | POST /api/material/del |
ids(repeated int64, 必填,删除的ids);type(string, 必填,素材类型) |
空对象或无业务数据 |
| 更新 | POST /api/material/update |
id(int64, 可选,素材id);type(string, 必填,素材类型);name(string, 必填,素材名字);text(MessageText, 可选,文本消息 text);image(MessageImage, 可选,图片消息 image);sticker(MessageSticker, 可选,表情消息 sticker);video(MessageVideo, 可选,视频消息 video);miniProgram(MessageMiniProgram, 可选,小程序 miniProgram);link(MessageLink, 可选,链接 link);audio(MessageAudio, 可选,音频 audio);compositeImage(MessageCompositeImage, 可选,合成图 compositeImage);inviteGroup(MessageInviteGroup, 可选,入群邀请 inviteGroup);goods(MessageGoods, 可选,商品 goods);freeVideo(MessageFreeVideo, 可选,视频号 freeVideo);liveBroadcastRoom(MessageLiveBroadcastRoom, 可选,直播间 liveBroadcastRoom);file(MessageFile, 可选,文件 file);note(MessageNote, 可选,笔记 note);collection(repeated Collection, 可选,合集 collection);materialGroup(repeated MaterialDialogueContent, 可选,素材组List);isQy(bool, 可选,是否属于企业);... 另有 1 个字段 |
空对象或无业务数据 |
| 获取发送给机器人自己的素材 | POST /api/material/get/byBotOwn |
botId(int64, 必填,机器人id);msgType(string, 必填,msgType);botType(int32, 必填,类型 1 个微 2企微);friendId(int64, 必填,客户id) |
msgType(string,消息类型);role(string,角色名);delayTime(int64,延迟时间 单位ms如 1000ms);delayType(string,延迟时间单位 s 秒 m 分 h 小时);text(MessageText,文本消息 text);image(MessageImage,图片消息 image);sticker(MessageSticker,表情消息 sticker);video(MessageVideo,视频消息 video);miniProgram(MessageMiniProgram,小程序 miniProgram);link(MessageLink,链接 link);... |
| 获取单个素材信息 | POST /api/material/info |
id(int64, 必填,id);msgType(string, 必填,msgType) |
id(int64,素材id);type(string,素材类型);name(string,素材名字);text(MessageText,文本消息 text);image(MessageImage,图片消息 image);sticker(MessageSticker,表情消息 sticker);video(MessageVideo,视频消息 video);miniProgram(MessageMiniProgram,小程序 miniProgram);link(MessageLink,链接 link);audio(MessageAudio,音频 audio);... |
| 话术库创建 | POST /api/material/dialogue/add |
name(string, 必填,素材名字);content(repeated MaterialDialogueContent, 可选,素材内容);categoryId(int64, 可选,分类id);isQy(bool, 可选,是否属于企业) |
id(int64,id) |
| 话术库列表 | POST /api/material/dialogue/list |
page(int64, 必填,page);pageSize(int64, 必填,pageSize);name(string, 可选,素材名字搜索);categoryId(int64, 可选,按分类搜索);tagIds(repeated int64, 可选,按标签搜索);isQy(bool, 可选,是否属于企业) |
list(repeated MaterialDialogueListItem,话术库列表);page(int64,page);pageSize(int64,pageSize);total(int64,总数);last(bool,是否最后) |
| 话术库删除 | POST /api/material/dialogue/del |
id(int64, 可选,id) |
空对象或无业务数据 |
| 话术库更新 | POST /api/material/dialogue/update |
id(int64, 可选,id);name(string, 必填,素材名字);content(repeated MaterialDialogueContent, 可选,素材内容);categoryId(int64, 可选,分类id);isQy(bool, 可选,是否属于企业) |
空对象或无业务数据 |
| 话术库分类创建 | POST /api/material/dialogue/category/add |
name(string, 可选,类别名);isQy(bool, 可选,是否属于企业) |
id(int64,id) |
| 话术库分类列表 | POST /api/material/dialogue/category/list |
isQy(bool, 可选,是否属于企业) |
list(repeated MaterialDialogueCategoryItem) |
| 话术库分类更新 | POST /api/material/dialogue/category/update |
id(int64, 可选);name(string, 可选) |
空对象或无业务数据 |
| 话术库分类删除 | POST /api/material/dialogue/category/del |
id(int64, 可选) |
空对象或无业务数据 |
| 话术库标签创建 | POST /api/material/dialogue/tag/add |
name(string, 可选,类别名) |
id(int64,id) |
| 话术库标签列表 | POST /api/material/dialogue/tag/list |
{} |
list(repeated MaterialDialogueTagItem) |
| 话术库标签更新 | POST /api/material/dialogue/tag/update |
id(int64, 可选);name(string, 可选) |
空对象或无业务数据 |
| 话术库分类删除 | POST /api/material/dialogue/tag/del |
id(int64, 可选) |
空对象或无业务数据 |
| 为话术库设置分类或者标签 | POST /api/material/dialogue/setCategoryOrTag |
dialogueId(repeated int64, 必填,素材id);categoryId(int64, 可选,类别id);tagIds(repeated int64, 可选,标签id);needDelTagIds(repeated int64, 可选,要删除的标签id) |
空对象或无业务数据 |
| 获取oss上传的token,有效期5分钟 | POST /api/material/getOssToken |
type(string, 必填,素材类型 image video等);original(string, 必填,来源 messagePush material等) |
accessID(string,阿里云accessid);host(string,阿里云host);policy(string,阿里云policy);signature(string,阿里云signature);dir(string,阿里云文件目录);expire(int64,阿里云expire 毫秒);domain(string,阿里云domain) |
常用示例
htsy-cli call /api/material/list -d '{"page":1,"pageSize":20,"type":"image"}'
htsy-cli call /api/material/add -d '{"type":"text","name":"问候语","text":{"content":"你好"}}'
htsy-cli call /api/material/dialogue/list -d '{"page":1,"pageSize":20}'