Files
htsy-skill/htsy/references/api-material.md
T

7.8 KiB
Raw Blame History

素材与话术库

阅读本文件处理素材列表、素材增删改查、获取 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}'