QCS开放接口文档
QCS(QSL认证系统,QSL Certification System)对外开放接口文档:
基础信息
API地址
https://qcs.qsl.pub/api
基础响应模块
/**
* API响应通用类型定义
* @template T - 响应数据的类型
*/
export interface ApiResponse<T> {
/** 响应数据 */
data: T;
/** 状态码 */
code: number;
/** 消息提示 */
msg: string;
}
code状态码
状态码 | 描述 |
---|---|
200 | 正常返回 |
500 | 系统错误 |
401 | 未授权 |
404 | 找不到资源 |
默认请求数据类型
application/json
默认响应数据类型
json
Token模块
token模块部分数据需要加密,加密方式为sm4
cbc
模式,padding为pkcs#7
,加密后转为base64,使用token作为密钥
获取QCS台站列表
POST /oauth/personal_access_tokens/get_station_list
请求参数
参数名称 | 参数说明 | 是否必须 | 数据类型 |
---|---|---|---|
token | QCS个人中心获取的token | true | string |
请求示例
{
"token": "MTIzNDU2"
}
响应参数
参数名称 | 参数说明 | 数据类型 | schema |
---|---|---|---|
GetStationListRes | 台站列表 | GetStationListRes[] | GetStationListRes |
id | 台站ID | number | |
callsign | 呼号 | string | |
dxcc | DXCC实体 | string | |
grid | 网格 | string | |
itu | ITU区域 | string | |
cq | CQ区域 | string | |
station_location | 台站位置 | string | |
first_qso_date | 首次QSO时间 | number | |
last_qso_date | 最后QSO时间 | number | null |
响应示例
{
"data": [
{
"id": 1,
"callsign": "BG7ZAG",
"dxcc": "83",
"grid": "OL50da",
"itu": "44",
"cq": "24",
"station_location": "中国-海南",
"first_qso_date": 1735660800000,
"last_qso_date": null
}
],
"code": 200,
"msg": "success"
}
导入qso记录
POST /oauth/personal_access_tokens/push_qso_by_token
请求参数
参数名称 | 参数说明 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|
token | QCS个人中心获取的token | true | string | |
iv | 加密向量(生成16字节的随机IV,然后转为base64格式) | true | string | |
data | 加密数据(json字符串) | true | string | data |
data
参数名称 | 参数说明 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|
station_id | 台站id | true | number | |
qso_list | qso列表 | true | QsoList[] | QsoList |
QsoList
参数名称 | 参数说明 | 是否必须 | 数据类型 |
---|---|---|---|
callsign | 对方呼号 | true | string |
worked | 我的呼号 | true | string |
date | 通联时间(时间戳) | true | number |
mode | 模式 | true | string |
band | 接收波段 | true | string |
band_tx | 发送波段 | false | string |
freq | 接收频率 | true | number |
freq_tx | 发送频率 | false | number |
rst_rcvd | 接收RST | true | string |
rst_sent | 发送RST | true | string |
satellite | 卫星名称 | false | string |
propagation | 传播模式 | false | string |
请求示例
{
"token": "MTIzNDU2",
"iv": "w==",
"data": "..."
}
const data = {
station_id: 1,
qso_list: [
{
callsign: "BG7ZAG",
worked: "BG7ZAG",
date: 1735660800000,
mode: "SSB",
band: "160m",
freq: 160000000,
rst_rcvd: "59",
rst_sent: "59",
satellite: null,
propagation: null
}
]
}
响应示例
{
"data": "提交成功",
"code": 200,
"msg": "success"
}