GPT API 文档
GPT API GPT API文档
接口调试
可以使用接口中提供的Curl命令进行调试,推荐安装jq来进行Json的序列化显示。
安装方式
Mac os
brew install jq
Windos
官网下载: https://stedolan.github.io/jq/
接口参数格式
目前接口部分使用 HTTP 的 Body 来进行参数传递,接口支持 application/json 的 Body 格式
同时也支持 application/x-www-form-urlencoded 的 Body 格式
两种方式均需要在 Header 中注明内容类型的属性。
请勿使用from-data传递Payload
接口返回说明
第一层 http code返回码,目前常见返回码如下
| Http code | 说明 | 
|---|---|
| 200 | 调用成功 | 
| 400 | 调用失败,返回自定义错误 | 
| 401 | 鉴权失败 | 
| 403 | 权限不足,没有调用权限 | 
| 500 | 服务器本身出错 | 
第二层 接口返回内容中的status和error字段
对于status,我们有如下规定
- status 是一个自然数
 - status = 0表示接口调用成功
 - status => 0 表示接口调用失败,这一部分错误号是每个接口独立的,同一个错误码在不用接口中会表示不一样的错误,具体错误说明在接口中会说明
 
错误说明
- 请求体错误,如请求体格式不对此错误一般伴随http 400 返回码
 - 请求体错误,如缺少必要的请求参数、参数不合法,此错误一般伴随http 400 返回码
 - 所请求的接口对于所携带的token其所属用户来说权限不足,此错误一般伴随http 403 返回码
 - 所请求的接口使用了权限控制,但未在系统中登记权限路由名称,此错误一般伴随http 403 返回码
 - 所请求的接口使用了权限控制,但未在系统中登记权限路由所属角色关联,此错误一般伴随http 403 返回码
 
error
为字符串,会给出status的具体错误原因描述,可信赖字段,可直接展示至前端页面
errors (用于表单验证)
为一个对象,会给出status的具体错误原因描述,这个字段适用于程序开发中的错误调试,不应该把他的返回内容作为代码逻辑判断的条件。也不应直接在前端页面显示。
示例
{
    "status": 1,
    "errors": {
        "account": " account 不能为空",
        "code": " code 不能为空"
    }
}
接口地址说明
| http | https | |
|---|---|---|
| 线下 | http://47.112.148.159:9101/ | |
| 预发布 | ||
| 正式 | 暂无 | 
鉴权
接口使用的是基于 rfc6750 的Bearer Token 基于JWT来进行鉴权
我们的Bearer Token 使用的是,在实际业务中并不需要每次调用接口前都去获取Token。
在Token的有效期内可以直接用现有的Token进行接口调用,目前我们的Token 有效期为24小时,过期后则立即失效。此外客户端也可以对Token进行自解,来判断token有效期
访问需要鉴权的接口共需要两步:
- 判断当前Token是否存在或过期,若有异常则重新通过登录授权接口获取Token 。(通过账号密码进行验证,移动端额外需要设备唯一标识传至头部信息)
 - 在Http Header中携带已保存的Token。
 - 头部信息描述 key为Authorization value为登陆接口返回的Token。
 
用户
是否是新用户
IS_NEW
HTTP Method
GET
HTTP Request
/api/user/is_new
Request Parameters Query
| Title | Description | Type | Required | Tips | 
|---|---|---|---|---|
| token | 用户token | string | 是 | 
Request Parameters Body
无
Response Data
| Title | Description | Type | Required | Tips | 
|---|---|---|---|---|
| errno | 状态:0成功 非0失败 | integer | 是 | |
| data | 数据 | Data | 
是 | 
data
| Title | Description | Type | Required | Tips | 
|---|---|---|---|---|
| is_new | 是否是新用户 | int | 是 | 0 否 1是 | 
Response Data Json
{
  "errno": 0,
  "errmsg": "SUCCESS",
  "timestamp": 1697095021,
  "logId": "65279d6c61e0b",
  "data": {
    "is_new": true
  }
}
登陆
LOGIN
HTTP Method
POST
HTTP Request
/api/user/login
Request Parameters Query
无
Request Parameters Body
| Title | Description | Type | Required | Tips | 
|---|---|---|---|---|
| token | 用户token | string | 是 | 
Response Data
| Title | Description | Type | Required | Tips | 
|---|---|---|---|---|
| errno | 状态:0成功 非0失败 | integer | 是 | |
| data | 忽略该值 | 是 | 
Response Data Json
{
  "errno": 0,
  "errmsg": "SUCCESS",
  "timestamp": 1697094938,
  "logId": "65279d18d7de5",
  "data": true
}
Log
| 日期 | 作者 | 内容 | 
|---|---|---|
| 2023/10/10 | 荀立强 | 新增 |