Robot API接口

Robot API是供机器人服务器调用的。所有的请求都是POST请求,请求body使用json格式。所有接口的调用都必须经过签名。所有的响应数据都是JSON格式。端口使用http_port端口(默认80),不同于Sever API的端口(默认18080)

1. 签名规则

以下参数需要放在Http Request Header中

参数 参数说明
nonce 随机数
timestamp 当前的时间戳,为了防止重放攻击,时间戳与野火IM服务器时间戳差2个小时的请求会被拒绝
sign 签名
rid 机器人用户id

签名的计算方法: sign = sha1(nonce + "|" + SECRET_KEY + "|" + timestamp)。其中SECRET_KEY在创建机器人时指定。

2. Content-Type

"Content-Type": "application/json; charset=utf-8"

3. 响应

所有响应都是如下这个格式。成功时code为0,result为请求返回对于的数据;失败时code为错误码,msg为失败提示。

{
  "code":0,
  "msg":"success",
  "result":{
    "userId":"a"
  }
}

4. 发送消息

4.0.1. 地址

http://domain/robot/message/send

4.0.2. body

参数 类型 必需 描述
sender string 发送者ID
conv json 会话
conv.type int 会话类型
conv.target string 会话目标
conv.line int 会话线路,缺省为0
payload json 消息负载
payload.type int 消息类型
payload.searchableContent string 消息可搜索内容
payload.pushContent string 消息推送内容
payload.content string 消息内容
payload.base64edData string 消息二进制内容,base64编码
payload.mediaType int 媒体消息类型
payload.remoteMediaUrl string 媒体内容链接
payload.expireDuration long 消息过期时间
payload.mentionedType int 消息提醒类型
payload.mentionedTarget string list 消息提醒对象列表

4.0.3. 响应

参数 类型 必需 描述
messageUid long 消息唯一ID
timestamp long 服务器处理时间

4.0.4. 示例

curl -X POST -H "nonce:14723" -H "timestamp":"1539698981861" -H "sign":"9e9f98672f466a81e6dd61570689528cf38e6418" -H "Content-Type:application/json" -H "rid":"robota" -d   \
  "{                       \
    \"sender\":\"robota\",       \
    \"conv\": {              \
      \"type\":1,            \
      \"target\":\"a\",      \
      \"line\":0,           \
    },                        \
    \"payload\":{                 \
      \"type\":1,                       \
      \"searchableContent\":\"hello\"   \
    }                                   \
  }"                                \
  http://localhost/robot/message/send

{
  "code":0,
  "msg":"success",
  "result":{
    "messageUid":5323423532,
    "timestamp":13123423234324,
  }
}

5. 获取用户信息

5.0.1. 地址

http://domain/robot/user_info

5.0.2. body

参数 类型 必需 描述
userId string 用户ID

5.0.3. 响应

参数 类型 必需 描述
userId string 用户ID
name string 登陆名
displayName string 显示名字
portrait string 用户头像
mobile string 用户手机号码
email string 用户邮箱
address string 用户地址
company string 用户公司
extra string 附加信息

5.0.4. 示例

curl -X POST -H "nonce:14723" -H "timestamp":"1539698981861" -H "sign":"9e9f98672f466a81e6dd61570689528cf38e6418" -H "Content-Type:application/json" -H "rid":"robota" -d "{\"userId\":\"a\"}" http://localhost/robot/user_info

{
  "code":0,
  "msg":"success",
  "result":{
    "userId":"a",
    "name":"usera"
  }
}
2018 © wildfirechat.cn 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2019-09-28 14:48:48

results matching ""

    No results matching ""