快速接入
确定API调用的服务器组。
聚言目前拥有两组线上服务器。在不同服务器上创建的项目,需要使用各自的API服务器。
- 海外服务器地址(chatmax.ai):https://us-openapi.orionstar.com
- 国内服务器地址(chatmax.net):https://openapi.chatmax.net
如果您使用的聚言定制化版本,请把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', }
第一次调用
聚言使用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字段之外,其它部分是公共应答参数,您应该把它们在一个位置统一处理:
参数 | 类型 | 参数说明 |
---|---|---|
ret | string | 结果代码,字符串类型,成功是 0,失败是非 0,具体错误详见附录以及具体接口说明。 |
msg | string | 错误信息,如果成功是空串。 |
stime | string | 当前服务端整数时间戳,字符串类型,单位是秒。 |
data | object | 应答业务参数信息对象,不同的接口会有不同的应答业务参数,详见各个接口的应答业务参数的说明。 |
req_id | string | 日志跟踪 id,当遇到问题需要我方进行技术支持的时候,请提供此跟踪 id 便于我方跟踪和调查问题原因。 |