跳到内容 跳到主导航 跳到页脚

快速接入

确定API调用的服务器组。

聚言目前拥有两组线上服务器。在不同服务器上创建的项目,需要使用各自的API服务器。

如果您使用的聚言定制化版本,请把URL更改为您定制化聚言的URL。

我们可以使用一个常量来保存这个地址,例如:

const BASE_URL = `https://openapi.chatmax.net`

给http调用添加header

聚言的API接受 ‘application/json’ 和 ‘multipart/form-data’ 两种content type,分别对应普通API调用和文件上传。在API返回方面,同样可填入’application/json’。请在所有调用中添加这两个header。

'Content-Type': 'application/json',
'Accept': 'application/json',

最重要的一步,再header中添加鉴权用的api-key,您可以在项目外部分享 -> API调用 中找到或者生成这个key。如下图:

全部添加完的header应该包含如下三项header,所有API调用都需要这三项header。以下是js中拼凑好的样子。

const headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'orionstar-api-key': 'bzecaexxxxxxx',
}

注意

请把“bzecaexxxxxxx”替换为真实有效的api_key。

第一次调用

聚言使用POST来请求API,这里以获取文档列表API为例,使用fetch模块组装一个完整的API调用:

const headers = {
    'Content-Type': 'application/json',
    'Accept': 'application/json',    
    'orionstar-api-key': 'bzecaexxxxxxx',
}

const BASE_URL = `https://openapi.chatmax.net`

const opts = {
    method: 'POST',
    headers: headers,
    body: JSON.stringify({})
};

const url = BASE_URL + '/v1/ctai/ctai_doc_list'

const rst = await fetch(url, opts)
if (!rst.ok) {
    console.log(`Server error: [${rst.status}] [${rst.statusText}] [${rst.url}]`);
}
const rstJson = await rst.json()
console.info('Request Response:',rstJson)

如果一切正常,您会收到如下的返回结果,恭喜您,对接完成!

{
    "ret": "0",
    "msg": "",
    "stime": "1679921022",
    "data": {
        //具体应答内容
    },
    "req_id": "test_req_id"
}

公共应答参数

上面的返回值中,除了data字段之外,其它部分是公共应答参数,您应该把它们在一个位置统一处理:

参数类型参数说明
retstring结果代码,字符串类型,成功是 0,失败是非 0,具体错误详见附录以及具体接口说明。
msgstring错误信息,如果成功是空串。
stimestring当前服务端整数时间戳,字符串类型,单位是秒。
dataobject应答业务参数信息对象,不同的接口会有不同的应答业务参数,详见各个接口的应答业务参数的说明。
req_idstring日志跟踪 id,当遇到问题需要我方进行技术支持的时候,请提供此跟踪 id 便于我方跟踪和调查问题原因。

这篇文章是否有帮助?

相关文章