Appearance
域名事件接口
环境说明
| 环境 | 域名 |
|---|---|
| 测试环境 | https://dcapi.dc-dev.cc |
| 正式环境 | https://api.dc-server.cc |
以下示例均使用正式环境域名,测试阶段请将域名替换为测试环境地址。
接口概述
| 项目 | 内容 |
|---|---|
| 请求方式 | GET |
| 接口地址 | https://api.dc-server.cc/sdk/getAvailableDomainList |
| 调用方 | 业务服务端(定时任务) |
| 调用频率 | 建议每 10 分钟一次 |
| 认证方式 | 无需额外认证(按实际情况确认) |
⚠️ 此接口由业务服务端调用,客户端不直接访问此接口。
请求示例
bash
curl https://api.dc-server.cc/sdk/getAvailableDomainList响应格式
json
{
"code": 0,
"msg": "success",
"data": "<AES-256-GCM 加密字符串>"
}响应字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 0 表示成功,非 0 表示失败 |
msg | string | 状态描述 |
data | string | AES-256-GCM 密文字符串;成功时为密文,失败时为空或不存在 |
data 解密后的结构
⚠️ 以下内容仅供理解,业务服务端和客户端不需要也不应该自行解密。解密由 SDK 内部完成。
密文解密后为 JSON 字符串,结构如下:
json
{
"domainList": [
"https://report1.example.com",
"https://report2.example.com"
],
"eventList": [
"button_click",
"page_view",
"purchase"
]
}| 字段 | 类型 | 说明 |
|---|---|---|
domainList | string[] | 可用上报域名列表,SDK 会对其测速并选最优域名 |
eventList | string[] | 事件白名单,不在列表中的事件不会被上报 |
错误处理
code 值 | 含义 | 业务服务端处理方式 |
|---|---|---|
0 | 成功 | 更新缓存 |
非 0 | 失败(网络、服务端异常等) | 保留上次缓存,不清空 |
| 请求超时 | 网络不通或服务端无响应 | 保留上次缓存,不清空 |
加密说明
| 项目 | 内容 |
|---|---|
| 算法 | AES-256-GCM |
| 密钥管理 | SDK 内置,不对外暴露 |
| 解密方 | 仅 SDK 内部 |
调用建议
- 在服务端使用定时任务(Cron / 调度框架)调用,建议间隔 10 分钟
- 实现重试逻辑(建议失败后等待 30 秒重试,最多 3 次)
- 记录每次拉取的时间戳和结果,方便排查
- 使用 Redis TTL 作为兜底(建议 TTL = 拉取间隔的 3 倍,即 30 分钟)