# 自动化、群发、关键词、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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后) | | 详情 | `POST /api/keyword/info` | `id`(int64, 必填,id) | `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);... | | 添加 | `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`(int64,id) | | 更新 | `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, 可选,自定义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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,total);`last`(bool,last) | ## SOP | 目标 | 接口 | 请求字段 | 常用返回字段 | | --- | --- | --- | --- | | sop-列表 | `POST /api/sop/list` | `page`(int64, 必填,page);`pageSize`(int64, 必填,pageSize);`sopType`(string, 必填,sop类型:标签模版 tag) | `list`(repeated SopItem,sop列表);`page`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后) | | sop-新增 | `POST /api/sop/add` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend);`sopTag`(SopTagAddOrUpdate, 可选,sop-标签);`sopNewFriend`(SopNewFriendAddOrUpdate, 可选,sop-新客模版) | `id`(int64,id) | | sop-详情 | `POST /api/sop/info` | `sopType`(string, 必填,sop类型:标签模版 tag 新客模版 newFriend);`id`(int64, 必填,id) | `sopType`(string,sop类型:标签模版 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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后);`pushMode`(string,推送模式 极速群发 fastPush 正常模式 common) | | sop-应用列表 | `POST /api/sop/apply/list` | `page`(int64, 必填,page);`pageSize`(int64, 必填,pageSize) | `list`(repeated SopApplyInfoItem,应用列表);`page`(int64,page);`pageSize`(int64,pageSize);`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`(string,sop类型:标签模版 tag 新客模版 newFriend);`id`(int64,id) | | sop-应用Sop的详情 | `POST /api/sop/apply/info` | `id`(int64, 必填,id) | `id`(int64,id);`sopId`(int64,sopId);`sopType`(string,sop类型:标签模版 tag 新客模版 newFriend);`applyType`(string,应用类型 所有微号 all 单号模式-指定 specify);`applyBotInfo`(repeated ApplyBotInfo,单号模式-指定 应用微号信息);`qwTag`(QwTagCondition,企微标签列表);`name`(string,名称);`sopTag`(SopTag,标签模版);`sopNewFriend`(SopNewFriend,新客模版);`botType`(int64,1 个微 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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后) | | 计划信息 | `POST /api/fastPush/info` | `id`(int64, 必填,计划id);`archive`(bool, 可选,是否归档) | `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);`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`(int32,1 个微 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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后) | | 根据批次id获取接收人的昵称头像 | `POST /api/fastPush/record/receiverInfoList/byItemId` | `itemId`(int64, 必填,itemid);`page`(int64, 必填,page);`pageSize`(int64, 必填,pageSize) | `list`(repeated HttpPlanRecordGetReceiverListByItemReceiver,列表);`page`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,总数);`last`(bool,是否最后) | | 计划信息 | `POST /api/messagePush/info` | `id`(int64, 必填,计划id);`archive`(bool, 可选,是否归档) | `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);`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`(int32,1 个微 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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`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`(int32,1 个微 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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,page);`pageSize`(int64,pageSize);`total`(int64,total);`last`(bool,last) | | 中控群-添加 | `POST /api/central/control/group/add` | `id`(int64, 可选,id);`listeningObjectList`(repeated ListeningObjectList, 必填,监听对象列表);`targetGroupId`(int64, 必填,中控群);`botType`(int64, 必填,1 个微 2 企微);`msgType`(repeated string, 必填,监听的消息类型);`userIds`(repeated int64, 必填,可见的客服);`name`(string, 必填,名称);`isAutoAtSender`(bool, 必填,是否自动@发送者);`timeRange`(repeated TimeRangeItem, 必填,时间段) | `id`(int64,id) | | 中控群-更新 | `POST /api/central/control/group/update` | `id`(int64, 可选,id);`listeningObjectList`(repeated ListeningObjectList, 必填,监听对象列表);`targetGroupId`(int64, 必填,中控群);`botType`(int64, 必填,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`(int64,id);`listeningObjectList`(repeated ListeningObjectList,监听对象列表);`targetGroupId`(int64,中控群);`botType`(int64,1 个微 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`(int64,微号类型);`chatType`(string,聊天类型);`sender`(int64,发送者 客户就客户id 群就群就是群成员id);`originalId`(int64,来源: 客户就客户id 群就群就是群id) | | 中控群关键词替换列表 | `POST /api/central/control/group/keywordReplace/list` | `{}` | `id`(int64,id);`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`(int64,page);`pageSize`(int64,pageSize);`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`(int64,id,更新必带);`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`(int64,id) | | 更新 | `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 HttpSubscribeRecordItem,list);`page`(int64,page);`pageSize`(int64,pageSize);`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 SubscribeExceptionRecordItem,list);`page`(int64,page);`pageSize`(int64,pageSize);`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 IdAndName,bot列表);`last`(bool,last) | | 新客应答-手动排序 | `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`(int64,id) | | 淘客账号-列表 | `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`(int64,id) | | 淘客账号-更新信息 | `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`(int64,id) | | 推广位-列表 | `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) | `QueryOrderReply`(google.protobuf.Struct,查询美团订单的接口返回data) | | 推广位-拼多多推广位备案 | `POST /api/taoke/pdd/promotionPosition/auth` | `promotionPositionId`(int64, 可选,推广位id) | `link`(string) | ## 工具 _暂无公开接口。_ ## 常用示例 ```bash htsy-cli call /api/keyword/list -d '{"page":1,"pageSize":20,"botType":1}' htsy-cli call /api/messagePush/list -d '{"page":1,"pageSize":20,"botType":1}' htsy-cli call /api/sop/list -d '{"page":1,"pageSize":20,"botType":1}' ```