发布专员 发表于 2023-4-19 09:22:27

WeTool HOOK 智群管家接口文档

WeTool 智群管家接口文档
智群管家接口文档从智群管家客户端4.1.0版本开始,提供三方服务接口对接能力。请联系智群工作人开通权限,权限开通后在后台配置回调地址。(回调地址设置界面)三方提供回调地址(如 http://xxx/zhiqun/callback),智群向回调地址发送post请求,包括定时的轮询(pull_task)请求以及各种事件上报(如:上报好友和群消息,群成员变化,好友变化,好友信息变更等)。回调服务收到请求后,可以根据请求的具体内容做出响应,返回各种任务(如:发送消息,踢人等)。(智群客户端和三方回调服务通讯示例)智群客户端和回调服务之间使用json数据格式通讯,utf-8编码。请求格式智群客户端向回调地址发起http post请求header:
Content-Type: application/json; charset=UTF-8

body:
{
"action": "",//接口名
"wxid": "",//当前登录的wxid
"data": {}   //接口对应的数据
}

响应格式header:
Content-Type: application/json; charset=UTF-8

body:
{
"error_code": 0,      //整型,0代表没有错误
"error_reason": "",   //出错原因的描述
"ack_type":"xxx_ack", //和请求的action对应   
"data":{}             //ack_type对应的数据
}


请求接口轮询任务该请求是由客户端向贵司服务端轮询发起的,目的是接收服务端下发的任务,如:发送消息给好友或群等。具体请参考task文档。请求action: pull_taskdata内容:无。客户端定时发起pull_task请求,间隔可通过login_ack设置,最小1秒,默认5秒。响应ack_type: pull_task_ackdata内容单个任务。data内容:
描述
task单个任务
示例:向客户端下发一个踢人任务。
{
    "error_code": 0,                  
    "error_reason": "",   
    "ack_type":"pull_task_ack",         
    "data":
    {
      "task_id": "aaaa111222",   
      "task_data":
      {
         "task_type":2,
         "task_dict":
         {
            "room_wxid":"bcdef@chatroom",
            "wxid":"wxid_abc"      
         }
      }
    }
}

任务执行结果请求action: report_task_resultdata内容:
字段描述
task_idpull_task下发的task_id
task_result0,任务执行失败,1任务执行成功
error_reason为什么执行失败,若任务执行成功则为空
任务执行成功只意味着客户端"把数据交给微信客户端",不代表微信已经执行成功。微信后台会对数据(微信号的用户行为)做各种判断和过滤,若触发了微信的相关限制,最终的结果会是失败的(比如发送了一段含政治敏感的聊天文本,微信检测到了会拦截这则消息,对方会无法收到这则消息)。响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
示例:
{
"error_code": 0,
"error_reason": "",
"ack_type": "common_ack",
"data": {
      "reply_task_list":[
          {
            "task_type": 1,
            "task_dict":
            {
                "wxid_to":"filehelper",
                "msg_list":[
                  {
                  "msg_type": 1,
                  "msg":"测试发送结果",
                  "customid":"test001"
                  }
                ]
            }
      }
      ]
}
}


上线登录请求action: login软件和微信登录成功后上报。data内容:
字段描述
nickname微信昵称
wx_alias微信号(没用设置过微信号的为空)
head_img微信头像url
client_version智群客户端版本号
zq_username当前客户端登录的智群账号(4.4.0 新增)
示例:
{
    "action" : "login",
    "wxid" : "wxid_fo1039029348sfj",
    "data" : {
      "nickname": "Bill",
      "wx_alias": "mccbill",
      "head_img": "http://xxxxxx",
      "client_version":"xxxxxx"
    }
}

响应ack_type: login_ackdata内容
字段描述
optionflag_report_contact定义report_contact上报的数据内容0:不上报1:好友列表2:群列表3:好友+群4:公众号列表5:好友+公众号6:群+公众号7:好友+群+公众号默认7,全部上传。
pull_task_intervalpull_task轮询间隔(秒),最少1秒。默认5秒。
upload_file_url文件上传地址。收到图片、视频、文件等消息时,是否需要上传,如果需要请指定文件上传地址。具体实现方式,请参考文件上传
示例1:使用默认设置:上报好友+群+公众号,pull_task轮询间隔5秒
{
"error_code": 0,                     
"error_reason": "",                  
"ack_type":"login_ack",
"data":{
   "option":{}
}
}

示例2:上报好友+群,pull_task轮询间隔1秒,文件上传地址http://xxxx/zhiqun/upload
{
"error_code": 0,                     
"error_reason": "",                  
"ack_type":"login_ack",
"data":{
   "option":{
      "flag_report_contact":3,
      "pull_task_interval":1,
      "upload_file_url":"http://xxxx/zhiqun/upload"
    }
}
}

下线登出请求action: logout软件或微信退出登录时上报。data内容:
字段描述
client_version客户端版本号
示例:
{
    "action":"logout",
    "wxid": "wxid_xxxxxxx",
    "data":{
       "client_version":"4.0.0"   
    }
}


响应ack_type: logout_ackdata内容: 无。 客户端主动上报的下线事件,无需响应。上报通讯录请求action: report_contactlogin接口成功后,根据login接口返回的flag_report_contact上报。data内容:
字段描述
friend_list[userinfo]userinfo数组
group_list[roominfo]roominfo数组
public_list[]数组,以下为数组中的对象字段
wxid公众号id
wx_alias公众号名称
head_img头像url
示例:
{
"action":"report_contact",
"wxid": "wxid_xxxxxxx",
"data":{
    "friend_list":[
      {
            "wxid":"wxid_xxxxxxx",
            "wx_alias":"abcd",
            "nickname":"昵称",
            "remark_name":"备注",
            "head_img":"http://xxxx",
            "sex":1,
            "country":"CN",
            "province":"ZheJiang",
            "city":"HangZhou",
            "label_id_list":"1,2,3"
      }
    ],
    "group_list":[
      {
            "wxid":"1234564322@chatroom",
            "room_wxid":"1234564322@chatroom",
            "name":"智群对接1群",
            "owner_wxid":"wxid_xxxxx",
            "member_count":100,
            "head_img":"http://xxxx",
            "member_wxid_list":["wxid_xxx","wxid_xxxx"]
      }
    ],
    "public_list":[
      {
            "wxid":"gh_xxxx",
            "nickname":"腾讯游戏",
            "head_img":"http://xxxx"
      }
    ]
}
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
好友信息变更请求action: report_contact_update当好友信息或群名称发生变更时上报。data内容:
字段描述
update_list[userinfo,roominfo]数组,变更的好友和群列表。
示例:
{
    "action": "report_contact_update",
    "wxid": "wxid_xxxxxxx",
    "data": {
      "update_list": [
            {
                "wxid": "wxid_xxxxxxx",
                "wx_alias": "abcd",
                "nickname": "昵称",
                "remark_name": "备注",
                "head_img": "http://xxxx",
                "sex": 1,
                "country": "CN",
                "province": "ZheJiang",
                "city": "HangZhou"
            },
            {
                "wxid": "1234564322@chatroom",
                "room_wxid": "1234564322@chatroom",
                "name": "智群对接1群",
                "owner_wxid": "wxid_xxxxx",
                "member_count": 100,
                "head_img": "http://xxxx",
                "member_wxid_list": [
                  "wxid_xxx",
                  "wxid_xxxx"
                ]
            }
      ]
    }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
群成员信息详情请求action: report_room_member_info回调接口通过下发“上报群成员信息”任务触发。data内容:
字段描述
room_data_listroom_wxid群wxid
name群名称
owner_wxid群主wxid
head_img群头像url
member_count群人数
memberInfo_list[memberInfo]
示例:
{
    "action":"report_room_member_info",
    "wxid" : "wxid_fo1039029348sfj",
    "data" : {
       "room_data_list":[
         {
            "room_wxid":"xxxxx1@chatroom",
            "name":"xxxx",
            "owner_wxid":"xxxxx",
            "head_img":"http://xxxxxxx",
            "member_count": 100,
            "memberInfo_list":[
                {
                  "wxid":"wxid_xxxx",
                  "wx_alias":"abcd",
                  "nickname":"昵称",
                  "room_nickname":"群昵称",
                  "head_img":"http://xxxxx",
                  "sex": 0
                }
            ]
         },
         ........
       ]
    }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
群人数变化请求action: report_room_member_change群成员增加或减少时上报。data内容:
字段描述
room_wxid群wxid
owner_wxid群主wxid
wxid_list变化的成员wxid列表["wxid_xxx","wxid_xxxxx"]
increase_member_list新增的群成员信息[memberInfo]
flag0减少,1增加
示例:
{
    "action":"report_room_member_change",
    "wxid": "wxid_xxxxxxx",
      "data":{
      "room_wxid":"xxxxxxx@chatroom",
      "owner_wxid":"xxxxx",
      "wxid_list";["xxxxxx","xxxxx"],
      "flag": 0
      }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
群成员信息更新请求action: report_room_member_update群成员信息更新时自动上报。data内容:
字段描述
room_wxid群wxid
memberInfo_list信息变化的群成员信息[memberInfo]
示例:
{
    "action":"report_room_member_update",
    "wxid": "wxid_xxxxxxx",
      "data":{
      "room_wxid":"xxxxxxx@chatroom",
      "memberInfo_list":[
            {
                "wxid":"wxid_xxxx",
                "nickname":"昵称",
                "room_nickname":"群昵称",
                "head_img":"http://xxxxx"
            }
      ]
      }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
上报新群请求action: report_new_room当发现新群时时上报。如新建群或被拉入群。data内容:
字段描述
wxid群wxid
name群名称
owner_wxid群主wxid
head_img群头像url
memberInfo_list群成员列表[memberInfo]
示例:
{
    "action":"report_new_room",
    "wxid": "wxid_xxxxxxx",
      "data":{
      "wxid":"xxxxx",   
      "name":"xxxx",   
      "owner_wxid":"xxxxx",
      "head_img":"xxxx",
      "memberInfo_list":[$memberInfo,$memberInfo,.....]
      }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
群减少请求action: report_room_removed退出群聊或者被移出群聊时上报。data内容:
字段描述
wxid_removed退出的群
响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
上报消息请求action: report_new_msg上报收到和发送的消息。data内容:
字段描述
msgreport_msgunit
示例:
{
    "action" : "report_new_msg",
    "wxid" : "wxid_fo1039029348sfj",
    "data" : {
      "msg": $report_msgunit       //上报单条消息
    }
}

响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
加好友请求请求action: report_friend_add_request收到添加好友的请求(此时对方还不是我的好友,不能给对方发消息)微信系统对每个账号每天通过的好友请求有限制。服务端需要储存(v1,v2) 值, 以便通过任务下发的方式通过好友验证data内容:
字段描述
v1若要自动通过,请在ack中回传
v2若要自动通过,请在ack中回传
notice_word新好友加我时的打招呼的内容,可能为空
raw_msg微信中的原始消息,xml格式
若要自动通过好友验证,可在reply_task_list字段中加入"通过好友验证"的任务(task_type为13)响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
删除好友通知请求action: report_friend_removed当某个好友被删除了会上报该事件data内容:
字段描述
wxid_removed被删除好友的wxid
响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
新好友通知请求action: report_new_friend每当有新的好友时,上报新好友的个人信息(此时对方已经成为了我的好友)data内容:
字段描述
fans_wxid新好友wxid
wx_alias好友微信号,可能为空
nickname好友昵称
head_img头像url
notice_word新好友加我时的打招呼的内容,可能为空
sourceusername推荐人的wxid,可能为空
sourcenickname推荐人昵称,可能为空
响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
好友信息请求action: report_user_info上报具体某个微信好友的详情。上报时机:回调服务下发16任务(获取单个好友信息)后上报。data内容:userinfo响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表
微信标签请求action: report_tag_info上报完整的微信标签列表。上报时机:1、下发20任务(上报标签列表)2、通过客户端修改标签,或者通过接口修改标签。手机上修改标签不会自动上报,请下发20任务重新获取。data内容:
字段类型描述
meta_tag_list[]标签列表
tag_idnumber标签id
tag_namestring标签名称
响应ack_type: common_ackcommon_ack为通用响应类型,data内容可以为各种任务。data内容:
字段描述
reply_task_list[task]数组,任务列表











页: [1]
查看完整版本: WeTool HOOK 智群管家接口文档