Skip to content

域名事件接口 ​

环境说明 ​

环境域名
测试环境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 加密字符串>"
}

响应字段说明 ​

字段类型说明
codenumber0 表示成功,非 0 表示失败
msgstring状态描述
datastringAES-256-GCM 密文字符串;成功时为密文,失败时为空或不存在

data 解密后的结构 ​

⚠️ 以下内容仅供理解,业务服务端和客户端不需要也不应该自行解密。解密由 SDK 内部完成。

密文解密后为 JSON 字符串,结构如下:

json
{
  "domainList": [
    "https://report1.example.com",
    "https://report2.example.com"
  ],
  "eventList": [
    "button_click",
    "page_view",
    "purchase"
  ]
}
字段类型说明
domainListstring[]可用上报域名列表,SDK 会对其测速并选最优域名
eventListstring[]事件白名单,不在列表中的事件不会被上报

错误处理 ​

code 值含义业务服务端处理方式
0成功更新缓存
非 0失败(网络、服务端异常等)保留上次缓存,不清空
请求超时网络不通或服务端无响应保留上次缓存,不清空

加密说明 ​

项目内容
算法AES-256-GCM
密钥管理SDK 内置,不对外暴露
解密方仅 SDK 内部

调用建议 ​

  • 在服务端使用定时任务(Cron / 调度框架)调用,建议间隔 10 分钟
  • 实现重试逻辑(建议失败后等待 30 秒重试,最多 3 次)
  • 记录每次拉取的时间戳和结果,方便排查
  • 使用 Redis TTL 作为兜底(建议 TTL = 拉取间隔的 3 倍,即 30 分钟)

参考实现 ​