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

167 lines
44 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 自动化、群发、关键词、SOP 与营销计划
阅读本文件处理关键词、订阅、群发、快速推送、SOP、朋友圈、社群氛围、监听、中控群、淘客等运营自动化能力。消息体结构见 [api-common.md](api-common.md)。群公告、群欢迎语、群守卫、群查重、群转播、批量入群和批量邀请见 [api-group.md](api-group.md)。
## 目录
- [关键词](#关键词)
- [SOP](#sop)
- [群发与快速推送](#群发与快速推送)
- [运营计划](#运营计划)
- [淘客](#淘客)
- [工具](#工具)
- [常用示例](#常用示例)
## 关键词
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 列表 | `POST /api/keyword/list` | `ids`(repeated int64, 可选,ids)`page`(int64, 必填,分页page)`pageSize`(int64, 必填,分页pagesize)`userId`(int64, 可选,userid)`name`(string, 可选,名称搜索)`botType`(int32, 可选,类型 1 个微 2企微) | `list`(repeated HttpListItem,方案列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 详情 | `POST /api/keyword/info` | `id`(int64, 必填,id) | `id`(int64id,更新必带)`name`(string,计划名字)`textRules`(repeated TextRule,文本规则列表)`eventRules`(repeated EventRule,事件规则列表)`imageRules`(repeated ImageRule,图片规则列表)`executors`(repeated Executor,适用的机器人)`otherMsgRules`(repeated OtherMsgRuleList,其他消息规则)`defaultReply`(DefaultReply,默认回复)`useBlacklist`(bool,是否开启黑名单)`type`(stringfriend group)... |
| 添加 | `POST /api/keyword/add` | `id`(int64, 可选,id,更新必带)`name`(string, 必填,计划名字)`textRules`(repeated TextRule, 必填,规则列表)`eventRules`(repeated EventRule, 必填,事件规则列表);`imageRules`(repeated ImageRule, 必填,图片规则列表);`executors`(repeated Executor, 必填,适用的机器人);`otherMsgRules`(repeated OtherMsgRuleList, 必填,其他消息规则);`defaultReply`(DefaultReply, 必填,默认回复)`useBlacklist`(bool, 可选,是否开启黑名单)`type`(string, 可选,friend group)`groupIds`(repeated int64, 可选,群Ids)`triggerTimeInterval`(int32, 可选,触发时间间隔 单位秒);`autoConfirmAddMember`(bool, 可选,自动群邀请确认)`triggerTimeCondition`(repeated TriggerTimeCondition, 可选,触发时间段 整体);`botType`(int32, 可选,类型 1 个微 2企微) | `id`(int64id) |
| 更新 | `POST /api/keyword/update` | `id`(int64, 可选,id,更新必带)`name`(string, 必填,计划名字)`textRules`(repeated TextRule, 必填,规则列表)`eventRules`(repeated EventRule, 必填,事件规则列表);`imageRules`(repeated ImageRule, 必填,图片规则列表);`executors`(repeated Executor, 必填,适用的机器人);`otherMsgRules`(repeated OtherMsgRuleList, 必填,其他消息规则);`defaultReply`(DefaultReply, 必填,默认回复)`useBlacklist`(bool, 可选,是否开启黑名单)`type`(string, 可选,friend group)`groupIds`(repeated int64, 可选,群Ids)`triggerTimeInterval`(int32, 可选,触发时间间隔 单位秒);`autoConfirmAddMember`(bool, 可选,自动群邀请确认)`triggerTimeCondition`(repeated TriggerTimeCondition, 可选,触发时间段 整体);`botType`(int32, 可选,类型 1 个微 2企微) | 空对象或无业务数据 |
| 删除 | `POST /api/keyword/del` | `ids`(repeated int64, 必填,要删除的ids) | 空对象或无业务数据 |
| 关键词事件触发 | `POST /api/keyword/event/trigger` | `accountId`(int64, 必填,账号id)`exid`(string, 必填,客户的exid)`consumerBehavior`(string, 必填,消费行为)`kv`(map<string, string>, 可选,自定义type和value)`keywordId`(int64, 可选,关键词方案id) | 空对象或无业务数据 |
| 关键词记录 | `POST /api/keyword/record` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`kid`(int64, 必填,id)`startTime`(int64, 必填,startTime)`endTime`(int64, 必填,endTime)`triggerType`(string, 必填,触发类型 关键词 keyword 事件 event 图片 image 默认 default) | `list`(repeated KeywordRecordItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64total)`last`(boollast) |
## SOP
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| sop-列表 | `POST /api/sop/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`sopType`(string, 必填,sop类型:标签模版 tag) | `list`(repeated SopItemsop列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| sop-新增 | `POST /api/sop/add` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`sopTag`(SopTagAddOrUpdate, 可选,sop-标签)`sopNewFriend`(SopNewFriendAddOrUpdate, 可选,sop-新客模版) | `id`(int64id) |
| sop-详情 | `POST /api/sop/info` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`id`(int64, 必填,id) | `sopType`(stringsop类型:标签模版 tag 新客模版 newFriend)`sopTag`(SopTag)`sopNewFriend`(SopNewFriend) |
| sop-更新 | `POST /api/sop/update` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`sopTag`(SopTagAddOrUpdate, 可选,sop-标签)`sopNewFriend`(SopNewFriendAddOrUpdate, 可选,sop-新客模版) | 空对象或无业务数据 |
| sop-删除 | `POST /api/sop/del` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`id`(int64, 必填,id) | 空对象或无业务数据 |
| sop-客户记录 | `POST /api/sop/friendRecord` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`id`(int64, 必填,id)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`sopBotId`(int64, 必填,应用微号的方案id) | `list`(repeated SopFriendRecordItem,客户列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| sop-记录 | `POST /api/sop/record` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`id`(int64, 必填,id)`itemId`(int64, 必填,itemId)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`startTime`(int64, 必填,开始时间)`endTime`(int64, 必填,结束时间)`sopBotId`(int64, 必填,应用微号的方案id) | `list`(repeated SopRecordItem,客户列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后)`pushMode`(string,推送模式 极速群发 fastPush 正常模式 common) |
| sop-应用列表 | `POST /api/sop/apply/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize) | `list`(repeated SopApplyInfoItem,应用列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| sop-应用微号 | `POST /api/sop/apply/bot` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend)`id`(int64, 必填,id)`applyType`(string, 必填,应用类型 所有微号 all 单号模式-指定 specify)`botIds`(repeated int64, 必填,botIds)`sopId`(int64, 必填,sopId)`qwTag`(QwTagCondition, 可选,企微标签列表);`name`(string, 必填,名称)`pushMode`(string, 必填,推送模式 极速群发 fastPush 正常模式 common)`stopSopQwTag`(QwTagCondition, 可选,停止sop任务的标签);`condition`(repeated Condition, 可选,条件)`isNoTriggerByCondition`(bool, 可选,true 满足条件不触发 false 满足条件触发);`isStopByNoMeetCondition`(bool, 可选,不符合条件停止)`conditionTriggerMode`(string, 可选,触发条件模式 and 满足所有条件 or 满足任意条件) | `sopType`(stringsop类型:标签模版 tag 新客模版 newFriend)`id`(int64id) |
| sop-应用Sop的详情 | `POST /api/sop/apply/info` | `id`(int64, 必填,id) | `id`(int64id)`sopId`(int64sopId)`sopType`(stringsop类型:标签模版 tag 新客模版 newFriend)`applyType`(string,应用类型 所有微号 all 单号模式-指定 specify)`applyBotInfo`(repeated ApplyBotInfo,单号模式-指定 应用微号信息);`qwTag`(QwTagCondition,企微标签列表)`name`(string,名称)`sopTag`(SopTag,标签模版)`sopNewFriend`(SopNewFriend,新客模版)`botType`(int321 个微 2 企微)... |
| sop-应用Sop删除 | `POST /api/sop/apply/del` | `id`(int64, 必填,id) | 空对象或无业务数据 |
## 群发与快速推送
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 计划列表 | `POST /api/fastPush/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`userId`(int64, 可选,创建者id)`statusList`(repeated string, 必填,状态列表)`createStart`(int64, 可选,创建时间开始)`createEnd`(int64, 可选,创建时间结束)`executeStart`(int64, 可选,执行时间开始)`executeEnd`(int64, 可选,执行时间结束)`name`(string, 可选,计划名字)`collect`(bool, 可选,是否收藏)`archive`(bool, 可选,是否归档)`lastStatus`(string, 可选,上一次推送状态) | `list`(repeated PlanListItem,计划列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 计划信息 | `POST /api/fastPush/info` | `id`(int64, 必填,计划id)`archive`(bool, 可选,是否归档) | `botType`(int321 个微 2 企微)`botList`(repeated BotInfo,机器人列表)`type`(string,计划类型 common 普通计划);`messageList`(repeated Message,消息信息)`schedule`(Schedule,推送时间设置)`scheduleType`(string,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string,计划名字)`id`(int64)`status`(string,状态 success fail executing stop running)`failReason`(string,失败原因)... |
| 计划添加 | `POST /api/fastPush/add` | `botType`(int32, 可选,1 个微 2 企微)`botList`(repeated BotInfo, 可选)`type`(string, 必填,计划类型 common 普通计划 batch 批量)`messageList`(repeated Message, 必填,消息信息)`schedule`(Schedule, 必填,推送时间设置);`scheduleType`(string, 可选,推送类型 立即quick 延迟delay 每天 everyday 每周 week 手动 manual)`name`(string, 可选)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 filter 筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botRequireType`(string, 可选,微号范围 all 全部 specify 指定)`timeoutResend`(bool, 可选,超时重发) | `botType`(int321 个微 2 企微)`botList`(repeated BotInfo,机器人列表)`type`(string,计划类型 common 普通计划);`messageList`(repeated Message,消息信息)`schedule`(Schedule,推送时间设置)`scheduleType`(string,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string,计划名字)`id`(int64)`status`(string,状态 success fail executing stop running)`failReason`(string,失败原因)... |
| 计划更新 | `POST /api/fastPush/update` | `botType`(int32, 可选,1 个微 2 企微)`botList`(repeated BotInfo, 可选)`type`(string, 必填,计划类型 common 普通计划);`messageList`(repeated Message, 必填,消息信息)`schedule`(Schedule, 必填,推送时间设置);`scheduleType`(string, 可选,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string, 可选)`id`(int64, 可选)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 tag 按标签筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botRequireType`(string, 可选,微号范围 all 全部 specify 指定)`timeoutResend`(bool, 可选,超时重发) | 空对象或无业务数据 |
| 计划删除 | `POST /api/fastPush/del` | `id`(int64, 可选) | 空对象或无业务数据 |
| 根据计划id获取部分列表 | `POST /api/fastPush/list/byIds` | `ids`(repeated int64, 必填,计划id列表) | `list`(repeated PlanListItem,计划列表) |
| 计划推送的记录列表 | `POST /api/fastPush/record/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`statusList`(repeated string, 可选,状态筛选)`pid`(int64, 必填,计划id) | `list`(repeated RecordInfo,计划列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 推送记录(按批次) | `POST /api/fastPush/record/byItem/receiverList` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`recordId`(int64, 必填,recordId)`statusList`(repeated string, 可选,状态筛选)`botId`(int64, 必填,微号id) | `list`(repeated HttpPlanRecordGetReceiverListByItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 根据批次id获取接收人的昵称头像 | `POST /api/fastPush/record/receiverInfoList/byItemId` | `itemId`(int64, 必填,itemid)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize) | `list`(repeated HttpPlanRecordGetReceiverListByItemReceiver,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 推送记录(按微号) | `POST /api/fastPush/record/byBotId/receiverList` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`recordId`(int64, 必填,recordId)`statusList`(repeated string, 可选,状态筛选)`botId`(int64, 必填,微号id) | `list`(repeated HttpPlanRecordGetReceiverListByBotIdItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 计划状态列表 | `POST /api/fastPush/status/count` | `userId`(int64, 可选,账号id) | `list`(repeated StatusCount,状态列表) |
| 计划暂停 | `POST /api/fastPush/stop` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传) | 空对象或无业务数据 |
| 计划开始 | `POST /api/fastPush/start` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传) | 空对象或无业务数据 |
| 手动执行计划 | `POST /api/fastPush/execute` | `extra`(string, 可选)`error`(string, 可选)`delayId`(string, 可选)`cronId`(string, 可选) | 空对象或无业务数据 |
| 极速群发-预估人数 | `POST /api/fastPush/predictPeople` | `botType`(int32, 必填,微号类型)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 filter 筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botList`(repeated BotInfo, 必填,机器人)`botRequireType`(string, 可选,微号范围 all 全部 specify 指定) | `predictPeople`(int64,预估人数) |
| 极速群发-消息重发 | `POST /api/fastPush/resend` | `id`(int64, 可选)`idType`(int32, 必填,id的类型,1 计划id 2 record id 4 消息批次id, 建议只传2和4) | 空对象或无业务数据 |
| 计划列表 | `POST /api/messagePush/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`userId`(int64, 可选,创建者id)`statusList`(repeated string, 必填,状态列表)`createStart`(int64, 可选,创建时间开始)`createEnd`(int64, 可选,创建时间结束)`executeStart`(int64, 可选,执行时间开始)`executeEnd`(int64, 可选,执行时间结束)`name`(string, 可选,计划名字)`collect`(bool, 可选,是否收藏)`archive`(bool, 可选,是否归档)`lastStatus`(string, 可选,上一次推送状态) | `list`(repeated PlanListItem,计划列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 计划信息 | `POST /api/messagePush/info` | `id`(int64, 必填,计划id)`archive`(bool, 可选,是否归档) | `botType`(int321 个微 2 企微)`botList`(repeated BotInfo,机器人列表)`type`(string,计划类型 common 普通计划);`messageList`(repeated Message,消息信息)`schedule`(Schedule,推送时间设置)`scheduleType`(string,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string,计划名字)`id`(int64)`status`(string,状态 success fail executing stop running)`failReason`(string,失败原因)... |
| 计划添加 | `POST /api/messagePush/add` | `botType`(int32, 可选,1 个微 2 企微)`botList`(repeated BotInfo, 可选)`type`(string, 必填,计划类型 common 普通计划 batch 批量)`messageList`(repeated Message, 必填,消息信息)`schedule`(Schedule, 必填,推送时间设置);`scheduleType`(string, 可选,推送类型 立即quick 延迟delay 每天 everyday 每周 week 手动 manual)`name`(string, 可选)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 filter 筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botRequireType`(string, 可选,微号范围 all 全部 specify 指定)`timeoutResend`(bool, 可选,超时重发) | `botType`(int321 个微 2 企微)`botList`(repeated BotInfo,机器人列表)`type`(string,计划类型 common 普通计划);`messageList`(repeated Message,消息信息)`schedule`(Schedule,推送时间设置)`scheduleType`(string,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string,计划名字)`id`(int64)`status`(string,状态 success fail executing stop running)`failReason`(string,失败原因)... |
| 计划更新 | `POST /api/messagePush/update` | `botType`(int32, 可选,1 个微 2 企微)`botList`(repeated BotInfo, 可选)`type`(string, 必填,计划类型 common 普通计划);`messageList`(repeated Message, 必填,消息信息)`schedule`(Schedule, 必填,推送时间设置);`scheduleType`(string, 可选,推送类型 立即quick 延迟delay 每天 everyday 每周 week)`name`(string, 可选)`id`(int64, 可选)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 tag 按标签筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botRequireType`(string, 可选,微号范围 all 全部 specify 指定)`timeoutResend`(bool, 可选,超时重发) | 空对象或无业务数据 |
| 计划暂停 | `POST /api/messagePush/stop` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传) | 空对象或无业务数据 |
| 计划开始 | `POST /api/messagePush/start` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传) | 空对象或无业务数据 |
| 计划删除 | `POST /api/messagePush/del` | `id`(int64, 可选) | 空对象或无业务数据 |
| 根据计划id获取部分列表 | `POST /api/messagePush/list/byIds` | `ids`(repeated int64, 必填,计划id列表) | `list`(repeated PlanListItem,计划列表) |
| 计划推送的记录列表 | `POST /api/messagePush/record/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`statusList`(repeated string, 可选,状态筛选)`pid`(int64, 必填,计划id) | `list`(repeated RecordInfo,计划列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 手动执行推送,根据消息ids | `POST /api/messagePush/record/manual/execute` | `recordId`(int64, 必填,记录id)`msgIds`(repeated int64, 可选,消息ids)`itemIds`(repeated int64, 可选,消息记录id)`targetIds`(repeated int64, 可选,客户群ids) | 空对象或无业务数据 |
| 推送记录(接收者维度)-获取接收者列表 | `POST /api/messagePush/record/byReceiver/receiverList` | `recordId`(int64, 必填,recordId)`statusList`(repeated string, 可选,状态筛选)`receiverIds`(repeated int64, 可选,对象列表)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize) | `list`(repeated HttpPlanRecordGetReceiverByReceiverItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 推送记录(消息维度)-获取消息列表 | `POST /api/messagePush/record/byMsgId/msgList` | `recordId`(int64, 必填,recordId)`statusList`(repeated string, 可选,状态筛选)`msgIds`(repeated int64, 可选,消息ids)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize) | `list`(repeated HttpPlanRecordGetReceiverListByMsgIdItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 计划消息撤回 | `POST /api/messagePush/retract` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传) | 空对象或无业务数据 |
| 计划消息重发 | `POST /api/messagePush/restart` | `id`(int64, 必填,要取消的id)`idType`(int32, 必填,id的类型,1 计划id 2 record id 3 客户群id 4 消息记录id 5 消息id)`recordId`(int64, 可选,记录id, 开始和暂停可以不传);`status`(string, 必填,重发哪些状态消息) | 空对象或无业务数据 |
| 计划状态列表 | `POST /api/messagePush/status/count` | `userId`(int64, 可选,账号id) | `list`(repeated StatusCount,状态列表) |
| 归档计划-归档 | `POST /api/messagePush/archive/add` | `ids`(repeated int64, 可选) | 空对象或无业务数据 |
| 归档计划-移除归档 | `POST /api/messagePush/archive/remove` | `ids`(repeated int64, 必填,ids) | 空对象或无业务数据 |
| 归档计划-自动归档配置 | `POST /api/messagePush/archive/conf/info` | `{}` | `switch`(bool,是否开启)`statusList`(repeated string,状态)`archiveDay`(int64,自动归档天数(单位 天)) |
| 归档计划-自动归档配置修改 | `POST /api/messagePush/archive/conf/modify` | `switch`(bool, 必填,是否开启)`statusList`(repeated string, 必填,状态)`archiveDay`(int64, 必填,自动归档天数(单位 天)) | 空对象或无业务数据 |
| 收藏-添加 | `POST /api/messagePush/collect/add` | `id`(int64, 必填,计划id) | 空对象或无业务数据 |
| 收藏-取消 | `POST /api/messagePush/collect/cancel` | `id`(int64, 必填,计划id) | 空对象或无业务数据 |
| 预估人数或群数 | `POST /api/messagePush/predictPeople` | `botType`(int32, 必填,微号类型)`targetType`(string, 可选,推送对象 friend 好友 group 群)`targetRequireType`(string, 可选,推送筛选 all 所有 specify 指定某些用户或者群 filter 筛选);`targetReceivers`(TargetReceiver, 必填,推送对象的具体条件);`targetRepeat`(bool, 可选,是否开启去重,默认是不开启。 true 开启去重 false 不开启去重);`botList`(repeated BotInfo, 必填,机器人)`botRequireType`(string, 可选,微号范围 all 全部 specify 指定) | `predictPeople`(int64,预估人数) |
## 运营计划
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 微信号监听配置创建 | `POST /api/addListener/plan/add` | `name`(string, 必填,配置名称)`botIds`(repeated UpdateBotInfo, 必填,微信号IDs)`botType`(int32, 可选,1 个微 2 企微)`checkType`(string, 必填,检查类型: timer_based 定时检查, count_based 数量检查)`timerConfig`(TimerBasedConfig, 可选,定时检查配置);`countConfig`(CountBasedConfig, 可选,数量检查配置);`contactId`(int64, 必填,配置执行通知联系人) | `id`(int64,配置ID) |
| 微信号监听配置更新 | `POST /api/addListener/plan/update` | `id`(int64, 必填,配置ID)`name`(string, 必填,配置名称)`botIds`(repeated UpdateBotInfo, 必填,微信号IDs)`botType`(int32, 可选,1 个微 2 企微)`checkType`(string, 必填,检查类型: timer_based 定时检查, count_based 数量检查)`timerConfig`(TimerBasedConfig, 可选,定时检查配置);`countConfig`(CountBasedConfig, 可选,数量检查配置);`contactId`(int64, 必填,配置执行通知联系人) | 空对象或无业务数据 |
| 微信号监听配置删除 | `POST /api/addListener/plan/delete` | `id`(int64, 必填,配置ID) | 空对象或无业务数据 |
| 微信号监听配置详情 | `POST /api/addListener/plan/info` | `id`(int64, 必填,配置ID) | `id`(int64,配置ID)`name`(string,配置名称)`botIds`(repeated BotInfo,微信号IDs)`botType`(int321 个微 2 企微)`checkType`(string,检查类型: timer_based 定时检查, count_based 数量检查)`timerConfig`(TimerBasedConfig,定时检查配置)`countConfig`(CountBasedConfig,数量检查配置)`contactId`(int64,配置执行通知联系人)`status`(string,状态 running stopped)`createTime`(int64,创建时间)... |
| 微信号监听配置列表 | `POST /api/addListener/plan/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`userId`(int64, 可选,创建者id)`statusList`(repeated string, 可选,状态列表)`name`(string, 可选,名字) | `list`(repeated HttpPlanListItem,配置列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 启动监听配置 | `POST /api/addListener/plan/start` | `id`(int64, 必填,配置ID) | 空对象或无业务数据 |
| 停止监听配置 | `POST /api/addListener/plan/stop` | `id`(int64, 必填,配置ID) | 空对象或无业务数据 |
| 异常微信号记录列表 | `POST /api/addListener/abnormal/list` | `planId`(int64, 必填,配置ID)`page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize)`botId`(int64, 可选,筛选特定微信号);`startTime`(int64, 可选,开始时间)`endTime`(int64, 可选,结束时间) | `list`(repeated HttpAbnormalRecordItem,异常记录列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 手动触发检查 | `POST /api/addListener/check/trigger` | `planId`(int64, 必填,计划ID) | 空对象或无业务数据 |
| 重置统计计数 | `POST /api/addListener/stats/reset` | `planId`(int64, 必填,计划ID)`botIds`(repeated int64, 可选,指定重置的微信号IDs,为空则重置计划下所有微信号) | 空对象或无业务数据 |
| 中控群-列表 | `POST /api/central/control/group/list` | `page`(int64, 必填,page)`pageSize`(int64, 必填,pageSize) | `list`(repeated CentralControlGroupItem,列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64total)`last`(boollast) |
| 中控群-添加 | `POST /api/central/control/group/add` | `id`(int64, 可选,id)`listeningObjectList`(repeated ListeningObjectList, 必填,监听对象列表);`targetGroupId`(int64, 必填,中控群)`botType`(int32, 必填,1 个微 2 企微)`msgType`(repeated string, 必填,监听的消息类型);`userIds`(repeated int64, 必填,可见的客服)`name`(string, 必填,名称)`isAutoAtSender`(bool, 必填,是否自动@发送者)`timeRange`(repeated TimeRangeItem, 必填,时间段) | `id`(int64id) |
| 中控群-更新 | `POST /api/central/control/group/update` | `id`(int64, 可选,id)`listeningObjectList`(repeated ListeningObjectList, 必填,监听对象列表);`targetGroupId`(int64, 必填,中控群)`botType`(int32, 必填,1 个微 2 企微)`msgType`(repeated string, 必填,监听的消息类型);`userIds`(repeated int64, 必填,可见的客服)`name`(string, 必填,名称)`isAutoAtSender`(bool, 必填,是否自动@发送者)`timeRange`(repeated TimeRangeItem, 必填,时间段) | 空对象或无业务数据 |
| 中控群-详情 | `POST /api/central/control/group/info` | `id`(int64, 必填,id) | `id`(int64id)`listeningObjectList`(repeated ListeningObjectList,监听对象列表)`targetGroupId`(int64,中控群)`botType`(int321 个微 2 企微)`msgType`(repeated string,监听的消息类型)`userIds`(repeated int64,可见的客服)`name`(string,名称)`targetGroupName`(string,中控群昵称)`targetGroupAvatar`(string,中控群头像)`isAutoAtSender`(bool,是否自动@发送者)... |
| 中控群-删除 | `POST /api/central/control/group/del` | `ids`(repeated int64, 必填,ids) | 空对象或无业务数据 |
| 获取原先群的信息 | `POST /api/central/control/group/getOriginalGroup` | `msgId`(string, 必填,消息id) | `botId`(int64,微号id)`botType`(int32,微号类型)`chatType`(string,聊天类型)`sender`(int64,发送者 客户就客户id 群就群就是群成员id);`originalId`(int64,来源: 客户就客户id 群就群就是群id) |
| 中控群关键词替换列表 | `POST /api/central/control/group/keywordReplace/list` | `{}` | `id`(int64id)`keywordList`(repeated string,需要替换的关键词列表);`threePartyApi`(string,空 不使用 aliyun 使用阿里云的api)`newKeywordList`(repeated KeywordReplaceList,支持自定义替换) |
| 中控群关键词替换更新 | `POST /api/central/control/group/keywordReplace/update` | `id`(int64, 必填,id)`keywordList`(repeated string, 必填,需要替换的关键词列表);`threePartyApi`(string, 必填,空 不使用 aliyun 使用阿里云的api)`newKeywordList`(repeated KeywordReplaceList, 必填,支持自定义替换) | 空对象或无业务数据 |
| 中控群-手动排序 | `POST /api/central/control/group/updatePosition` | `sourceId`(int64, 必填,移动方案id)`targetId`(int64, 必填,目标方案id) | 空对象或无业务数据 |
| 角色方案-列表 | `POST /api/socialAtmosphere/rolePlan/list` | `ids`(repeated int64, 可选,ids)`page`(int64, 必填,分页page)`pageSize`(int64, 必填,分页pagesize)`botType`(int32, 可选,类型 1 个微 2企微);`userId`(int64, 可选,创建人筛选) | `list`(repeated PlanInfo,方案列表)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 角色方案-创建 | `POST /api/socialAtmosphere/rolePlan/create` | `name`(string, 必填,方案名字)`roleList`(repeated Role, 必填,角色列表)`crewList`(repeated Crew, 必填,剧组列表)`id`(int64, 可选,更新一定要带)`roleModel`(string, 可选,前端使用)`botType`(int32, 必填,类型 1 个微 2企微) | `id`(int64,方案id) |
| 角色方案-更新 | `POST /api/socialAtmosphere/rolePlan/update` | `name`(string, 必填,方案名字)`roleList`(repeated Role, 必填,角色列表)`crewList`(repeated Crew, 必填,剧组列表)`id`(int64, 可选,更新一定要带)`roleModel`(string, 可选,前端使用)`botType`(int32, 必填,类型 1 个微 2企微) | 空对象或无业务数据 |
| 角色方案-删除 | `POST /api/socialAtmosphere/rolePlan/delete` | `id`(int64, 必填,方案id) | 空对象或无业务数据 |
| 角色方案-详情 | `POST /api/socialAtmosphere/rolePlan/id` | `id`(int64, 必填,方案id) | `id`(int64,方案id)`name`(string,名字)`roleList`(repeated Role,角色列表)`crewList`(repeated Crew,剧组列表)`roleModel`(string,前端使用)`botType`(int32,类型 1 个微 2企微)`userId`(int64,创建人id)`groupNum`(int64,群数)`groupCategoryNum`(int64,群主数)`position`(int64,排序位置) |
| 角色方案-手动排序 | `POST /api/socialAtmosphere/rolePlan/updatePosition` | `sourceId`(int64, 必填,移动方案id)`targetId`(int64, 必填,目标方案id) | 空对象或无业务数据 |
| 列表 | `POST /api/subscribe/list` | `ids`(repeated int64, 可选,ids)`userId`(int64, 可选,userid)`name`(string, 可选,名字)`botType`(int32, 可选,类型 1 个微 2企微);`id`(string, 可选,从指定的id开始获取offset条计划,为空从头开始);`offset`(string, 可选,分页大小,id offset都为空则查全部) | `list`(repeated HttpListItem,方案列表)`nextId`(string,查询下一页时的起始id) |
| 详情 | `POST /api/subscribe/info` | `id`(int64, 必填,id) | `id`(int64id,更新必带)`name`(string,计划名字)`status`(int32,状态 1 开启,0 关闭)`replyList`(repeated Message,回复内容)`executors`(repeated Executor,适用的机器人)`conditionList`(repeated ConditionSubscribe,个性化内容)`botType`(int32,类型 1 个微 2企微)`addTagIds`(repeated int64,自动打标)`autoRemark`(string,自动备注)`autoRemarkSwitch`(bool,自动备注开关)... |
| 添加 | `POST /api/subscribe/add` | `id`(int64, 可选,id,更新必带)`name`(string, 必填,计划名字)`status`(int32, 必填,状态 1 开启,0 关闭);`replyList`(repeated Message, 必填,回复内容)`executors`(repeated Executor, 必填,适用的机器人);`botType`(int32, 可选,类型 1 个微 2企微);`conditionList`(repeated ConditionSubscribe, 可选,个性化内容)`addTagIds`(repeated int64, 可选,自动打标)`autoRemark`(string, 可选,自动备注)`autoRemarkSwitch`(bool, 可选,自动备注开关)`addQwTagIds`(repeated string, 可选,自动打企业标);`useBlacklist`(bool, 可选,是否开启黑名单)`autoAgreeFriend`(bool, 可选,自动同意好友请求 true 为自动);`triggerMode`(int32, 可选,触发模式 0:全部 1:互斥);`transferFids`(repeated int64, 可选,客户转接,接收转接的人);`transferContList`(repeated Message, 可选,客户转接,转接的内容);`autoCleanUnreadNum`(bool, 可选,自动消除未读数)`frequency`(Frequency, 可选,频率设置)`schedule`(repeated Schedule, 可选,删除时间) | `id`(int64id) |
| 更新 | `POST /api/subscribe/update` | `id`(int64, 可选,id,更新必带)`name`(string, 必填,计划名字)`status`(int32, 必填,状态 1 开启,0 关闭);`replyList`(repeated Message, 必填,回复内容)`executors`(repeated Executor, 必填,适用的机器人);`botType`(int32, 可选,类型 1 个微 2企微);`conditionList`(repeated ConditionSubscribe, 可选,个性化内容)`addTagIds`(repeated int64, 可选,自动打标)`autoRemark`(string, 可选,自动备注)`autoRemarkSwitch`(bool, 可选,自动备注开关)`addQwTagIds`(repeated string, 可选,自动打企业标);`useBlacklist`(bool, 可选,是否开启黑名单)`autoAgreeFriend`(bool, 可选,自动同意好友请求 true 为自动);`triggerMode`(int32, 可选,触发模式 0:全部 1:互斥);`transferFids`(repeated int64, 可选,客户转接,接收转接的人);`transferContList`(repeated Message, 可选,客户转接,转接的内容);`autoCleanUnreadNum`(bool, 可选,自动消除未读数)`frequency`(Frequency, 可选,频率设置)`schedule`(repeated Schedule, 可选,删除时间) | 空对象或无业务数据 |
| 批量更新状态 | `POST /api/subscribe/updateStatus` | `ids`(repeated int64, 必填,要删除的ids)`status`(int32, 必填,状态 1开启,0 关闭) | 空对象或无业务数据 |
| 删除 | `POST /api/subscribe/del` | `ids`(repeated int64, 必填,要删除的ids) | 空对象或无业务数据 |
| 新客关注记录-列表 | `POST /api/subscribe/record/list` | `page`(int64, 可选,分页page)`pageSize`(int64, 可选,分页pagesize)`botType`(int32, 必填,机器人类型)`botId`(int64, 可选,机器人id)`friendNickname`(string, 可选,客户昵称)`statusList`(repeated int32, 可选,状态) | `list`(repeated HttpSubscribeRecordItemlist)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 新客关注记录-同意添加 | `POST /api/subscribe/record/agree` | `id`(int64, 必填,记录id) | 空对象或无业务数据 |
| 新客群邀请异常记录列表 | `POST /api/subscribe/expRecord/list` | `page`(int64, 可选,分页page)`pageSize`(int64, 可选,分页pagesize)`sid`(int64, 可选,计划id) | `list`(repeated SubscribeExceptionRecordItemlist)`page`(int64page)`pageSize`(int64pageSize)`total`(int64,总数)`last`(bool,是否最后) |
| 新客群邀请异常记录删除 | `POST /api/subscribe/expRecord/del` | `sid`(int64, 必填,计划id)`ids`(repeated int64, 必填,删除的记录id) | 空对象或无业务数据 |
| 新客应答计划数据 | `POST /api/subscribe/report` | `sid`(int64, 必填,计划id)`botId`(int64, 可选,botId)`startTime`(int64, 必填,开始时间 时间戳ms 后端只取年月日);`endTime`(int64, 必填,结束时间 时间戳ms 后端只取年月日) | `list`(repeated DataItem,数据列表) |
| 新客应答数据统计微号列表 | `POST /api/subscribe/report/botList` | `sid`(int64, 必填,计划id)`page`(int64, 可选,page)`pageSize`(int64, 可选,pageSize) | `list`(repeated IdAndNamebot列表)`last`(boollast) |
| 新客应答-手动排序 | `POST /api/subscribe/updatePosition` | `sourceId`(int64, 必填,移动方案id)`targetId`(int64, 必填,目标方案id) | 空对象或无业务数据 |
## 淘客
| 目标 | 接口 | 请求字段 | 常用返回字段 |
| --- | --- | --- | --- |
| 淘客账号-获取授权的地址链接 | `POST /api/taoke/account/bind/link` | `type`(string, 必填,类型: taobao 淘宝 jd 京东 pdd 拼多多 meituan 美团) | `link`(string,授权链接) |
| 淘客账号-绑定账号 | `POST /api/taoke/account/bind` | `type`(string, 必填,类型: taobao 淘宝 jd 京东 pdd 拼多多 meituan 美团)`params`(string, 必填,授权成功后的回调参数) | `id`(int64id) |
| 淘客账号-列表 | `POST /api/taoke/account/list` | `{}` | `list`(repeated TaokeAccountItem,淘客账号列表) |
| 淘客账号-添加 | `POST /api/taoke/account/add` | `id`(int64, 可选,id)`name`(string, 可选,昵称--备注)`accessToken`(string, 可选,access_token)`expireTime`(int64, 可选,过期时间)`type`(string, 可选,类型: taobao 淘宝 jd 京东 pdd 拼多多 meituan 美团)`status`(string, 可选,状态 success 授权成功 expire 过期 fail 授权失败)`params`(string, 可选,授权成功后的回调参数-存一份在数据库);`authTime`(int64, 可选,授权时间)`taokeUserId`(string, 可选,淘客用户id)`appKey`(string, 可选,appKey)`appSecret`(string, 可选,appSecret) | `id`(int64id) |
| 淘客账号-更新信息 | `POST /api/taoke/account/update` | `id`(int64, 可选,id)`name`(string, 可选,昵称--备注)`accessToken`(string, 可选,access_token)`expireTime`(int64, 可选,过期时间)`type`(string, 可选,类型: taobao 淘宝 jd 京东 pdd 拼多多 meituan 美团)`status`(string, 可选,状态 success 授权成功 expire 过期 fail 授权失败)`params`(string, 可选,授权成功后的回调参数-存一份在数据库);`authTime`(int64, 可选,授权时间)`taokeUserId`(string, 可选,淘客用户id)`appKey`(string, 可选,appKey)`appSecret`(string, 可选,appSecret) | 空对象或无业务数据 |
| 淘客账号-删除 | `POST /api/taoke/account/del` | `id`(int64, 必填,id) | 空对象或无业务数据 |
| 推广位-添加 | `POST /api/taoke/promotion/position/add` | `taokeId`(int64, 必填,淘客id)`pid`(string, 必填,pid)`name`(string, 必填,名称) | `id`(int64id) |
| 推广位-列表 | `POST /api/taoke/promotion/position/list` | `taokeId`(int64, 必填,淘客id) | `list`(repeated PromotionPositionItem,推广位列表) |
| 推广位-更新 | `POST /api/taoke/promotion/position/update` | `id`(int64, 必填,id)`taokeId`(int64, 必填,淘客id)`pid`(string, 必填,pid)`name`(string, 必填,名称)`type`(string, 必填,类型: taobao 淘宝 jd 京东 pdd 拼多多 meituan 美团) | 空对象或无业务数据 |
| 推广位-删除 | `POST /api/taoke/promotion/position/del` | `id`(int64, 必填,id) | 空对象或无业务数据 |
| 美团-选品策略 | `POST /api/taoke/meituan/productSelectionStrategy` | `{}` | `items`(repeated ProductSelectionStrategyItem)`cities`(repeated CityItem) |
| 美团-查询订单 | `POST /api/taoke/meituan/query/product` | `platform`(int64, 可选,1 到家及其他业务类型,2 到店业务类型(包含到店美食、休闲生活、酒店、门票);不填则默认1);`businessLine`(repeated int64, 可选,业务线标识)`categoryIds`(repeated int64, 可选,订单品类;)`actId`(int64, 可选,活动物料id)`sid`(string, 可选,二级推广位id)`orderId`(string, 可选,订单id)`startTime`(int64, 可选,开始时间 秒)`endTime`(int64, 可选,结束时间 秒)`page`(int64, 可选,页码)`limit`(int64, 可选,每页限制条数,默认100,最大支持100);`queryTimeType`(int64, 可选,查询时间类型,枚举值, 1 按订单支付时间查询, 2 按照更新时间查询, 默认为1);`tradeType`(int64, 可选,交易类型,1表示CPS,2表示CPA);`scrollId`(string, 可选,分页id,当searchType选择2逐页查询时,本字段为必填。若不填写,默认查询首页。取值为上一页查询时出参的scrollId字段);`searchType`(int64, 可选,订单分页查询方案选择,不填则默认为1。);`cityNames`(repeated string, 可选,可输入城市名称圈定特定城市的订单,单次最多查询10个城市(英文逗号分隔)。);`scrmOrderMode`(int64, 可选,订单查询模式,0:查普通订单,1:查推品订单,不填默认0);`promotionPositionId`(int64, 可选,推广位id) | `data`(google.protobuf.Struct,查询美团订单的接口返回数据) |
| 推广位-拼多多推广位备案 | `POST /api/taoke/pdd/promotionPosition/auth` | `promotionPositionId`(int64, 可选,推广位id) | `link`(string) |
## 工具
_暂无公开接口。_
## 常用示例
```bash
# 关键词方案列表(botType 可选:1 个微 2 企微)
htsy-cli call /api/keyword/list -d '{"page":1,"pageSize":20,"botType":2}'
# 群发计划列表(该接口无 botType 字段;statusList 见字段表:success/fail/executing/stop/running
htsy-cli call /api/messagePush/list -d '{"page":1,"pageSize":20,"statusList":["success","fail"]}'
# SOP 列表(sopType 必填,不传会返回 400:标签模版 tag / 新客模版 newFriend
htsy-cli call /api/sop/list -d '{"page":1,"pageSize":20,"sopType":"tag"}'
```