NAV
json

GPT ADMIN API WIKI 文档

GPT ADMIN API API WIKI GPT管理后台的API文档

接口调试

可以使用接口中提供的Curl命令进行调试,推荐安装jq来进行Json的序列化显示。

安装方式

Mac os

brew install jq

Windos

官网下载: https://stedolan.github.io/jq/

接口参数格式

目前接口部分使用 HTTPBody 来进行参数传递,接口支持 application/jsonBody 格式

同时也支持 application/x-www-form-urlencoded 的 Body 格式

两种方式均需要在 Header 中注明内容类型的属性。

请勿使用from-data传递Payload

接口返回说明

第一层 http code返回码,目前常见返回码如下

Http code 说明
200 调用成功
400 调用失败,返回自定义错误
401 鉴权失败
403 权限不足,没有调用权限
500 服务器本身出错

第二层 接口返回内容中的status和error字段

对于status,我们有如下规定

错误说明

error

为字符串,会给出status的具体错误原因描述,可信赖字段,可直接展示至前端页面

errors (用于表单验证)

为一个对象,会给出status的具体错误原因描述,这个字段适用于程序开发中的错误调试,不应该把他的返回内容作为代码逻辑判断的条件。也不应直接在前端页面显示。

示例

Copy to Clipboard
{ "status": 1, "errors": { "account": " account 不能为空", "code": " code 不能为空" } }

接口地址说明

http https
线下 http://47.112.148.159:9201/ http://47.112.148.159:9201/
预发布
正式 暂无

鉴权

接口使用的是基于 rfc6750Bearer Token 基于JWT来进行鉴权

我们的Bearer Token 使用的是,在实际业务中并不需要每次调用接口前都去获取Token

Token的有效期内可以直接用现有的Token进行接口调用,目前我们的Token 有效期为24小时,过期后则立即失效。此外客户端也可以对Token进行自解,来判断token有效期

访问需要鉴权的接口共需要两步:

  1. 判断当前Token是否存在或过期,若有异常则重新通过登录授权接口获取Token 。(通过账号密码进行验证,移动端额外需要设备唯一标识传至头部信息)
  2. 在Http Header中携带已保存的Token
  3. 头部信息描述 key为Authorization value为登陆接口返回的Token

系统鉴权 access

获取Bearer Token

GET_BEARER_TOKEN

获取系统中所使用的token

Copy to Clipboard
curl --request POST \ --url '${API_HOST}/api/access/token' \ --header 'Content-Type: application/json' \ --data-raw '{"token":"xxxxx"}' | jq
Copy to Clipboard
{ "status": 0, "data": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6ImFjcC1hcGkifQ.eyJjb2RlIjoiM2MwZTMyYTciLCJkZXZpY2UiOiI0NSIsImF1ZCI6MzAzLCJpc3MiOiJhY3AtYXBpLWRldmVsb3BtZW50Iiwic3ViIjoiYWNwX21vYmlsZV91c2VyIiwiaWRlbnQiOiIyMGM2MDRiZCIsImlhdCI6MTY1NTk3ODQ5MywiZXhwIjoxNjU2MDY0ODkzfQ.SOXPoyApPWgmQGEkHBiXEjrjkS0FJ4zJxCFTU2Cpiuw", "token_method": "HS256", "token_type": "Bearer", "expire_time": 1656064893 } }

GET_ACCESS_TOKEN

HTTP Method

POST

HTTP Request

/api/oauth/access

Request Parameters Body

Copy to Clipboard
{ "token":"xxxxx", "state":"" }
Title Description Type Tips
token access token String 从oa获取,用该token获取子系统的token

Request Parameters Query

Response Data

Title Type Description Tips
status int 状态 0 正常 1为失败
token string token字符串
token_method string 加密方式
token_type string token 的类型,目前应该固定为 Bearer
expire_time int 过期时间

将Token的中段Base64Decode后,可以序列化为一个Payload对象'

Token Payload:

Copy to Clipboard
{ "aud": 13, //用户ID "iss":"we-gather-api-{环境变量}", //当前环境 "sub":"we-gather-user", //颁发方 "iat":1573116338, //颁发时间 "exp":1573119938 //过期时间 }

Payload

Title Description Type Tips
aud string 使用管理员ID
iss string 颁发方
sub int 使用方
iat int 颁发时间
exp int 过期时间

Log

日期 作者 内容
2023/10/10 荀立强 新增

账号登陆

GET_TOKEN_BY_ACCOUNT

HTTP Method

POST

HTTP Request

/api/oauth/login

Request Parameters Body

Copy to Clipboard
{ "account":"xxxxx", "password":"123456" }
Title Description Type Tips
account 账号 String 和oa账号一致
password 密码 String 初始密码:123456

Request Parameters Query

Response Data

Title Type Description Tips
status int 状态 0 正常 1为失败
token string token字符串
token_method string 加密方式
token_type string token 的类型,目前应该固定为 Bearer
expire_time int 过期时间
日期 作者 内容
2023/10/10 荀立强 新增
Copy to Clipboard
{ "status": 0, "data": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IndnX2FkbWluX2FwaSJ9.eyJpc3MiOiJ3Z19hZG1pbl9hcGkiLCJzdWIiOiJzZGsiLCJpZGVudCI6IjBjYzNjYzBjOGFiZjRiODQ4ZjgxODNkYTllOWY5ZGZjIiwiaWF0IjoxNjgxNDQ1MDg4LCJleHAiOjE2ODIwNDk4ODgsIm5hbWUiOiJcdTgzNDBcdTdhY2JcdTVmM2EifQ.o9Ajx0UdXGcdSVDWaWFpseqJg5dBzoS-MgnKV3TBa3c", "token_method": "HS256", "token_type": "Bearer", "expire_time": 1682049888 } }

用户

用户列表筛选项

GET_USER_SEARCH_ITEM

HTTP Method

GET

HTTP Request

/api/users/search_item

Request Parameters Query

Request Parameters Body

Response Data

Title Description Type Required Tips
status 状态:0成功 非0失败 integer
data 数据详情 object

data

Title Description Type Required Tips
status 状态:0成功 非0失败 integer
data SearchItem object

SearchItem

Title Description Type Required Tips
可筛选的key 可筛选的key []Search 可在query中使用

Search 可筛选的值

Title Description Type Required Tips
label 展示文本 string
value 可筛选值 int

Response Data Json

Copy to Clipboard
{ "status": 0, "data": { "rights_status": [ { "label": "未开通", "value": 0 }, { "label": "生效中", "value": 1 }, { "label": "已过期", "value": 2 } ] } }

用户列表

GET_USER_LIST

HTTP Method

GET

HTTP Request

/api/users

Request Parameters Query

Title Description Type Required Tips
id 集微GPT用户ID string JWGPTYH000000001
nickname 用户昵称 string
phone 搜索手机号 string
created_at 注册时间 [datetime, datetime] [2023-04-01 12:12:01,2023-04-02 12:12:01]
rights_status 权益状态 int 0未开通 1生效中 2已过期
sort 排序方式 string asc正序、默认倒叙

Request Parameters Body

Response Json

Copy to Clipboard
{ "status": 0, "data": { "current_page": 1, "last_page": 1, "total": 1, "data": [ { "id": 1, "user_id": 1, "rights_status": 1, "created_at": "2023-10-10T10:34:55.000000Z", "mobile": "18352764050", "nickname": "爱集微", "avatar": "jwImg/avatar/2020/02/28/15828720842371blob", "gpt_user_id": "JWGPTYH000000001" } ] } }

Response Data

Title Description Type Tips
date 订单数据 Object

Date Object

Title Description Type Tips
id GPT用户ID int
user_id 集微用户ID int
nickname 昵称 string
mobile 手机号 string
avatar 头像 string
rights_status 权益状态 int 0未开通 1生效中 2已过期
gpt_user_id GPT用户ID格式化 string 仅展示用,业务逻辑依然用 id字段

Log

日期 作者 内容
2023/10/10 荀立强 新增