开放接口文档

配置信息

例如:

  • APPID: xxxxxxxxxxxxxxx
  • TOKEN: xxxxxxxxxxxxxxx
  • EncodingAESKey: xxxxxxxxxxxxxxx

接口信息

1. 获取signature接口:

https://openai.weixin.qq.com/openapi/sign/{TOKEN}

接口类型:

POST请求

参数说明:

字段 类型 是否必填 描述
username string 用户昵称
avatar string 用户头像
userid string 用户ID(可以是任何值)

返回值说明:

字段 类型 描述
signature string 请求接口的signature,长度500个字节左右
expiresIn number 过期时间

返回格式:

{
    signature: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6IjI2NTQ0NzYzLTk1NzctNDZlNS1iOTFlLTA3NjAyMzhiMjUwNSIsImlhdCI6MTU4NjA5Nzc4MSwiZXhwIjoxNTg2MTAxMzgxfQ.qugHipCyBnONQRGY2fadm1LH-bLi0TrVqam3vZTpRcI
    expiresIn: 7200
}

signature 也可以在本地通过jwt签名得到

const signature = jwt.encode(
    EncodingAESKey,
    {
        username: "some persone",
        userid: "alsjdasf12",
        avatar:
            "https://res.wx.qq.com/a/wx_fed/weixin_portal/res/static/img/1L3ryyg.png",
    },
    "HS256",
);

2. 智能对话接口:

https://openai.weixin.qq.com/openapi/aibot/{TOKEN}

接口类型:

POST请求

参数说明:

字段 类型 是否必填 描述
signature string
query string 用户对话的消息
env string 默认是online, debug是测试环境,online是线上环境
first_priority_skills Array[string] 限定技能命中范围 比如:["技能1"],只匹配命中“技能1”中的所有问答内容
second_priority_skills Array[string] 限定技能命中范围 比如:["技能2"],只匹配命中“技能2”中的所有问答内容,比first_priority_skills命中优先级低

返回值说明:

字段 类型 描述
ans_node_name string 技能名称
title string 意图名称
answer string 回答
answer_type string 回答类型:text,music,news
msg array 回答详细信息
from_user_name string 发起query的用户,对应签名接口的userid
to_user_name string 接受query的机器人
status string 机器人回复的状态, 可能的数值:FAQ、NOMATCH、CONTEXT_FAQ、GENERAL_FAQ

返回格式:

{
  ans_node_name: "小微闲聊",
  title: "小薇兄你好",
  answer: "你好呀!",
  answer_type: "text",
  bid_stat: {
    curr_time: "20190515-18:07:37",
    err_msg: "微信通用意图.肯定.branches.s_Any@.arguments's element.slot slot does not exist!",
    latest_time: "20190523-16:06:33",
    latest_valid: false,
    up_ret: -1
  },
  msg: [
    {
      ans_node_id: 6666,
      ans_node_name: "小微闲聊",
      confidence: 1,
      content: "你好呀!",
      debug_info: "",
      msg_type: "text",
      resp_title: "小薇兄你好",
      status: "FAQ"
    }
  ],
  from_user_name: "o9U-85tEZToQxIF8ht6o-KkagxO0",
  status: "FAQ",
  to_user_name: "xalsjfasf1ljasjdf1"
}

错误码说明:

{
    errcode: 1001,
    errmsg: "TOKEN is not valid"
}
错误码 描述
1001 token无效
1002 机器人审核没有通过
1003 签名缺少userid字段
1004 签名字段为空
1005 签名过期或无效
1006 签名校验失败,缺少userid字段