MPQ新信息转发接口相关说明(测试中待补全)

WebMaster eghuai 2017-7-23 4342

MyPCQQ现已在下列两个版本当中集成了一个新的信息转发,API调度
该接口的主要目的是为了方便其他语言插件的对接与功能实现
开启方式:
手动于设置页->选勾使用转发接口



参考在线文档:

API在线调试使用方法 安装看云插件后可在线调试


默认转发目标:
127.0.0.1:8002
转发设置于运行目录 Set.ini   tran节点中进行设置

其中
enable字段为开启状态
target字段为转发目标 默认使用127.0.0.1:8002
转发使用标准http协议走POST操作

target字段接受如下格式:
https://host:port/addr/yourphp.php
http://host/addr
127.0.0.1:port
IP:port
domain:port

如无特别说明 编码均采用UTF-8编码
具体内容为json编码数据


转发内容原始格式:
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 225
User-Agent: MyPCQQ
Host: 127.0.0.1:8002
Cache-Control: no-cache

{"Port":"8010","Pid":"14880","Ver":"MyPCQQ Ver20170721","MsgID":"40","Robot":"3509945636","MsgType":"1","MsgSubType":"0","Source":"445491251","Sender":"445491251","Receiver":"3509945636","Content":"5ZWq5ZWq5ZWq","OrigMsg":""}


其中
Port字段为MPQ客户端所监听的API调度服务端口 范围为8010-8020
Pid字段为MPQ客户端的进程ID
Ver字段为MPQ客户端版本

MsgID字段为递增信息序号
Robot字段为机器人QQ
MsgType字段为信息类型字段 可参照常规插件SDK及事件说明
MsgSubType字段为信息子类型字段 可参照常规插件SDK及事件说明
Source字段为信息源字段 可参照常规插件SDK参数说明
Sender字段为主动触发对象 可参照常规插件SDK参数说明
Receiver字段为被动接受信息对象 可参照常规插件SDK参数说明
Content字段为信息正文内容 经过base64编码(因懒得进行转义) 可参照常规插件SDK参数说明
OrigMsg字段为信息原始数据各式或完整信息 经过base64编码(因懒得进行转义)  可参照常规插件SDK参数说明

转发信息回调格式:
请使用标准http协议回传数据或按照下列格式回传
参考原始格式:
HTTP/1.1 200 OK
Content-Length: 数据长度

{"Ret":"1","Msg":""}

回传信息以json格式封装 编码为utf-8编码
其中
Ret为返回予框架的返回值
定义同常规插件定义
Msg为回调文本信息 定义同常规插件定义 用于处理拒绝加群 拒绝加好友的理由回传




API调度:
使用自实现的非标准http协议进行POST操作调度 不支持ssl  https


参考格式:
POST /?QQ=3509945636&API=Api_SendMsg%28%273509945636%27%2C1%2C0%2C%27%27%2C%27445491251%27%2C%27test%27%29 HTTP/1.1
User-Agent: MPQ
Host: 127.0.0.1:8010
Content-Length: 0
Cache-Control: no-cache


20191004之后的商用版本亦支持以下方式:

POST /

HTTP/1.1

User-Agent: MPQ

Host: 127.0.0.1:8010

Content-Length: 85

Cache-Control: no-cache

API=Api_SendMsg%28%273509945636%27%2C1%2C0%2C%27%27%2C%27445491251%27%2C%27test%27%29



其中
调度目标:127.0.0.1:8010 多个MPQ实例将会分别监听8010-8020端口
后续将放出中转,信息转发进程以便简化此类调度及信息获取
QQ字段为机器人QQ
API字段为要调度的API名及参数列表 需要url编码  

格式示例:Api_SendMsg('3509945636',1,0,'','445491251','test')
该例子调度Api_SendMsg 使用3509945636这个机器人QQ向445491251发送类型为1(好友信息)的信息 子类型为0 不使用XML格式,正文内容为test
编码后:Api_SendMsg%28%273509945636%27%2C1%2C0%2C%27%27%2C%27445491251%27%2C%27test%27%29
其中 参数以成对引号标识文本类型参数,其它类型视为整形


API调度返回结果:
注:该段返回结果使用http协议返回
但当前放出的测试样本使用socket通信测试
尚未规范使用http返回



返回结果
HTTP/1.1 200 OK
Content-Length: 数据长度

{"Code":"","Msg":"","Data":""}


Code字段:状态码 说明见下
Msg 状态提示信息
Data API调度返回信息

状态码说明:

0:OK

-1错误原因:“err:There is an exception while processing API Call”: 调度过程中发生了读写异常

-2错误原因:“err:Robot QQ not found or it is not blong to this frame”: 找不到响应的机器人QQ

-3错误原因:“err:http post API param not found ,you should write it like 'POST host/?xxx=sth&API=APIname(sth,sth,sth,sth) while posting'”: POST的API参数为空或解析失败

-4错误原因:“err:Can not find out this API,Maybe you should see see this http://doc.mypcqq.cc/dev-common/308162 or get our API doc”: API不存在

-5错误原因:“err:The API param format is wrong ,you should see see this =>> Api_SendMsg('3509945636',1,0,'','445491251','test')”:  API参数格式错误

-6错误原因:“err:No API param found in your post or your params is over 15 or something wrong with it pls check out ” API最多支持15个参数

其他:错误原因:“unknow err”

注意事项:

远程调度请在本地MPQ运行目录下Set.ini文件中找到

[tran]

enable=1

target=xxxxxxx

whitelist=0.0.0.0 127.0.0.1 

节点 于whitelist设置中给白名单加上调度方的IP以免被滥用  IP以空格或逗号分割


最后于 1月前 被苏苏编辑 ,原因: 更新文档
上传的附件:
最新回复 (10)
  • Myer A1652302901 2017-7-24
    0 2
    {:4_159:}看完后发现,貌似很有趣的样子
  • Myer 贤宝宝 2017-7-26
    0 3
    支持哦,每日一波
  • 游客组 游客 2017-7-30
    0 4
    1111111111111{:4_176:}1kkkkkkkg
  • 游客组 游客 2017-8-6
    0 5
    {:4_169:}支持mypc
  • Myer 吾爱月月 2017-8-7
    0 6
    有什么用呢 大佬
  • Myer raysun 2017-8-22
    0 7
    本帖最后由 raysun 于 2017-8-22 14:38 编辑

    机器人对接服务器,这个给力。
    坏坏,最新的插件开发的,没和程序一起更新了啊。
  • Myer 夏时 2017-8-22
    0 8
    {:4_551:}不支持https啊
  • Myer 梦小夕Q 2017-8-25
    0 9
    什么鬼???????????、搞不懂
  • Myer huhu15924235595 2017-9-19
    0 10
    6666666666666666666666666666666
  • 游客组 游客 2017-10-9
    0 11
    支持哦,每日一波
  • 游客组 游客 2017-10-17
    0 12
    彩虹秒赞插件-独行者
  • Myer 岳绮罗 12小时前
    0 13
    厉害啦,看不懂呀
    • MyPCQQ官方站
      12
        登陆 注册 QQ登陆(暂不可用)
返回