Robot API接口

Robot API是供机器人服务器调用的。所有的请求都是POST请求,请求body使用json格式。所有接口的调用都必须经过签名。所有的响应数据都是JSON格式。端口使用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 会话
payload json 消息负载

4.0.3. 响应

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

4.0.4. 示例

curl -X POST -H "nonce:76616" -H "timestamp":"1558350862502" -H "sign":"b98f9b0717f59febccf1440067a7f50d9b31bdde" -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
name string 否(三个参数必须且只能存在一个) 登陆名
mobile string 否(三个参数必须且只能存在一个) 用户手机号码

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:76616" -H "timestamp":"1558350862502" -H "sign":"b98f9b0717f59febccf1440067a7f50d9b31bdde" -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该文件修订时间: 2020-04-26 10:52:01

results matching ""

    No results matching ""