2. API 接口管理
将短链创建、管理与智能跳转接入自己的业务系统。业务接口统一使用 /api/open 前缀。
2.1 接入前置
获取 API Token,并通过 Authorization 请求头完成鉴权。
API 服务地址https://api.cutlink.cn,接口统一前缀为 /api/open。例如创建短链的完整请求地址为 https://api.cutlink.cn/api/open/links。此地址用于调用 API,与创建短链时选择的域名无关。
获取 API Token
登录控制台 → 我的账户 → API Token → 创建 Token。完整凭证仅在创建或刷新时显示一次,请及时保存到服务端配置。
设置请求头
每次请求携带 API Token,即可操作本人短链。Token 代表账户执行操作,不得写入网页或公开仓库。
验证接入
选择需要接入的能力,按对应章节的请求示例调用;凭证无效或权限不足时读取 error.message。
请求规范与使用限制
| 项目 | 规范 |
|---|
| 鉴权与权限 | 使用 Bearer API Token,仅可操作所属账户的资源;有效 Token 可调用全部已开放的短链与分组接口。访问统计仅在控制台提供,不对 API 开放。 |
| 数据格式 | 请求体采用 JSON;成功结果读取 data,分页信息读取 meta。用完整短链接定位资源,响应不包含内部 ID。 |
| 时间格式 | 请求日期时间使用 ISO 8601;例如 2026-10-02T09:30:00;示例时间按服务所在时区解释,请勿自行附加时区偏移。短链响应的 createdAt、startAt、endAt 当前为毫秒时间戳,startAt / endAt 可为空。 |
| 创建额度 | API 与控制台共用账户的每日及累计创建额度。同一账户请串行提交创建请求。 |
| 调用频率 | 所有查询共用 30 次/分钟额度;创建、修改、删除共用 20 次/分钟额度,Token 与账户均受限制,多 Token 不能增加账户额度。批量创建还与控制台共用账户 20 次/分钟限制,每次最多 100 条。超限返回 HTTP 200,响应中的 error.code 为 1005,请按 Retry-After 响应头指定秒数等待后重试。 |
| 异常与重试 | 同时检查 HTTP 状态和 error。频率超限按 Retry-After 响应头指定秒数等待。参数或凭证错误应修正后重试;写入超时应先确认结果,避免重复提交。 |
常见错误码与处理方式
HTTP 200 不一定表示业务成功。响应包含 error 时,请读取数字 error.code 和 error.message;error.details 可能提供字段提示。未列出的错误以实际提示为准。
| 错误码 | 含义 | 处理方式 |
|---|
1001 | 请求内容不合法 | 检查必填字段、字段类型、地址及时间格式,修正后提交 |
1002 / 1004 | 未携带有效凭证或凭证无效 | 检查 Authorization 请求头;在我的账户检查或刷新 Token |
1005 | 请求频率超限 | 按 Retry-After 响应头指定秒数等待后重试 |
1006 / 1034 | 短链不存在或不属于当前账户 | 检查完整短链接及所属账户,不能操作其他账户的短链 |
1009 / 1012 | 域名不可用或未设置默认域名 | 在控制台选择可用域名或设置默认域名 |
1010 | 创建额度不足 | 在我的账户检查剩余每日及累计创建额度 |
1011 | 短链后缀已占用 | 更换后缀,或省略 slug 由系统生成 |
1018 | 同一账户正在创建短链 | 等待当前创建完成,再串行提交 |
1028 | 账户已被禁用 | 停止调用,并通过平台提供的渠道处理账户问题 |
1000 / 1031 | 服务暂时不可用 | 写入请求先查询结果,再决定是否重试;不要直接重复创建 |
2.2 分组管理
查询、创建和改名分组,也可设置默认分组。每账户最多 50 个分组,包含默认分组,API 与控制台共用名额。创建、筛选和移动短链时使用分组名称;删除分组在控制台操作。
GET/api/open/groups
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
page | integer | Query | 可选 | 从 1 开始,默认 1;小于 1 时使用 1 |
page_size | integer | Query | 可选 | 默认 20,最多 50;超过 50 按 50 返回,小于 1 时使用 20 |
默认分组优先,其余按更新时间从新到旧返回;同一更新时间的顺序固定。查询不返回短链数量。
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request GET \
"https://cutlink.cn/api/open/groups?page=1&page_size=20" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | object[] | 成功时返回 | 当前页分组列表;没有结果时返回空数组 |
| data[].name | string | 每个分组 | 分组名称,创建与修改短链使用 groupName,筛选短链使用 group_name |
| data[].isDefault | boolean | 每个分组 | true 表示账户默认分组;创建短链时不传 groupName 即使用此分组 |
| meta.page | integer | 成功时返回 | 当前页码 |
| meta.page_size | integer | 成功时返回 | 实际每页条数,最多 50 |
| meta.total | integer | 成功时返回 | 所属账户的分组总数 |
返回示例
示例数据;按实际响应读取{
"data": [
{
"name": "默认分组",
"isDefault": true
},
{
"name": "活动推广",
"isDefault": false
}
],
"meta": {
"page": 1,
"page_size": 20,
"total": 2
}
}
data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.3 创建短链
将网页长链接转换为短链接,支持单条和批量创建。
POST/api/open/links
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
Content-Type | string | Header | 必填 | application/json |
target | string | Body · JSON | 必填 | 完整的 HTTP / HTTPS 目标地址 |
domain | string | Body · JSON | 可选 | 可用域名,例如 cutlink.cn(不带 https:// 或路径);不传使用账户默认域名。自有域名需先在控制台添加并验证。 |
groupName | string | Body · JSON | 可选 | 已有分组名称;省略使用默认分组 |
title | string | Body · JSON | 可选 | 用于识别短链的名称 |
slug | string | Body · JSON | 可选 | 1~10 位英文字母或数字;省略时自动生成 |
startAt | string | Body · JSON | 可选 | 生效时间,例如 2026-10-09T09:30:00;不传不设置此时间限制,生效时间不得晚于失效时间 |
endAt | string | Body · JSON | 可选 | 失效时间,例如 2026-10-09T09:30:00;不传不设置此时间限制,生效时间不得晚于失效时间 |
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request POST \
"https://cutlink.cn/api/open/links" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"target": "https://shop.example.com/summer",
"title": "夏日活动",
"slug": "Summer"
}' \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | object | 成功时返回 | 短链详情 |
| data.shortUrl | string | 每条短链 | 完整短链接;后续查询、修改或删除使用此地址 |
| data.target | string | 每条短链 | 当前默认跳转地址;小程序可能是 #小程序:// 地址或微信生成的链接 |
| data.title | string / null | 每条短链 | 短链名称;没有名称时可能为空 |
| data.linkType | string | 每条短链 | normal:网页短链;miniapp:小程序短链 |
| data.status | string | 每条短链 | active:正常状态;disabled:已禁用。正常状态仍受有效期、额度及访问限制约束 |
| data.createdAt | integer | 每条短链 | 创建时间,毫秒时间戳,例如 1790899200000 |
| data.startAt | integer / null | 每条短链 | 生效时间,毫秒时间戳;为空表示没有起始时间限制 |
| data.endAt | integer / null | 每条短链 | 失效时间,毫秒时间戳;为空表示没有结束时间限制 |
| data.domainBlocked | boolean | 每条短链 | 域名拦截提示;不能单独据此判断短链是否可访问 |
| data.platformBlocked | boolean | 每条短链 | 平台拦截提示;可访问性还需结合状态、有效期和实际访问结果 |
| data.miniapp | object | 有小程序资料时 | 小程序信息;网页短链不返回该对象 |
| data.miniapp.generationType | string | 有小程序资料时 | url:已有小程序链接;appid:AppID 生成 |
| data.miniapp.appId | string / null | 有小程序资料时 | 小程序 AppID;已有链接方式可能为空 |
| data.miniapp.pagePath | string / null | 有小程序资料时 | 小程序页面路径;已有链接方式可能为空 |
| data.miniapp.wxaUrl | string | 有小程序资料时 | 已保存的小程序链接 |
| data.miniapp.hasAppSecret | boolean | 有小程序资料时 | 是否已保存应用密钥;不会返回密钥或密文 |
返回示例
示例数据;按实际响应读取{
"data": {
"title": "夏日活动",
"shortUrl": "https://go.example.com/Summer",
"target": "https://shop.example.com/summer",
"linkType": "normal",
"status": "active",
"createdAt": 1790899200000,
"endAt": null,
"startAt": null
}
}
data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.4 创建小程序短链
通过已有小程序链接或 AppID 生成小程序短链。
POST/api/open/links/miniapp
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
Content-Type | string | Header | 必填 | application/json |
title | string | Body · JSON | 可选 | 用于识别短链的名称 |
domain | string | Body · JSON | 可选 | 可用域名,例如 cutlink.cn(不带 https:// 或路径);不传使用账户默认域名。自有域名需先在控制台添加并验证。 |
groupName | string | Body · JSON | 可选 | 已有分组名称;省略使用默认分组 |
slug | string | Body · JSON | 可选 | 1~10 位英文字母或数字;省略时自动生成 |
startAt | string | Body · JSON | 可选 | 生效时间,例如 2026-10-09T09:30:00;不传不设置此时间限制,生效时间不得晚于失效时间 |
endAt | string | Body · JSON | 可选 | 失效时间,例如 2026-10-09T09:30:00;不传不设置此时间限制,生效时间不得晚于失效时间 |
generationType | string | Body · JSON | 必填 | url:微信复制的小程序链接;appid:通过应用信息生成 |
wxaUrl | string | Body · JSON | 条件必填 | url 模式必填,须以 #小程序:// 开头 |
提交微信中复制的 #小程序:// 链接,不需要 AppID 或 AppSecret。
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request POST \
"https://cutlink.cn/api/open/links/miniapp" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"title": "小程序活动",
"generationType": "url",
"wxaUrl": "#小程序://示例小程序/实际分享路径"
}' \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | object | 成功时返回 | 短链详情 |
| data.shortUrl | string | 每条短链 | 完整短链接;后续查询、修改或删除使用此地址 |
| data.target | string | 每条短链 | 当前默认跳转地址;小程序可能是 #小程序:// 地址或微信生成的链接 |
| data.title | string / null | 每条短链 | 短链名称;没有名称时可能为空 |
| data.linkType | string | 每条短链 | normal:网页短链;miniapp:小程序短链 |
| data.status | string | 每条短链 | active:正常状态;disabled:已禁用。正常状态仍受有效期、额度及访问限制约束 |
| data.createdAt | integer | 每条短链 | 创建时间,毫秒时间戳,例如 1790899200000 |
| data.startAt | integer / null | 每条短链 | 生效时间,毫秒时间戳;为空表示没有起始时间限制 |
| data.endAt | integer / null | 每条短链 | 失效时间,毫秒时间戳;为空表示没有结束时间限制 |
| data.domainBlocked | boolean | 每条短链 | 域名拦截提示;不能单独据此判断短链是否可访问 |
| data.platformBlocked | boolean | 每条短链 | 平台拦截提示;可访问性还需结合状态、有效期和实际访问结果 |
| data.miniapp | object | 有小程序资料时 | 小程序信息;网页短链不返回该对象 |
| data.miniapp.generationType | string | 有小程序资料时 | url:已有小程序链接;appid:AppID 生成 |
| data.miniapp.appId | string / null | 有小程序资料时 | 小程序 AppID;已有链接方式可能为空 |
| data.miniapp.pagePath | string / null | 有小程序资料时 | 小程序页面路径;已有链接方式可能为空 |
| data.miniapp.wxaUrl | string | 有小程序资料时 | 已保存的小程序链接 |
| data.miniapp.hasAppSecret | boolean | 有小程序资料时 | 是否已保存应用密钥;不会返回密钥或密文 |
返回示例
示例数据;按实际响应读取{
"data": {
"title": "小程序活动",
"shortUrl": "https://go.example.com/Summer",
"target": "#小程序://示例小程序/实际分享路径",
"linkType": "miniapp",
"status": "active",
"createdAt": 1790899200000,
"endAt": null,
"startAt": null
}
}
data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.5 修改短链
修改跳转地址、名称、分组和有效期,原短链接不变。只提交需要修改的内容;未提交的内容保持原样。
PATCH/api/open/links/by-url
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
Content-Type | string | Header | 必填 | application/json |
shortUrl | string | Body · JSON | 必填 | 要操作的完整短链接,例如 https://go.example.com/Summer,填写在 JSON 请求体中 |
target | string | Body · JSON | 可选 · 普通短链 | 新的完整网页地址,以 http:// 或 https:// 开头;不传则保留原跳转地址 |
title | string / null | Body · JSON | 可选 | 短链名称;不传则保留原名称,传空字符串可清空名称 |
groupName | string | Body · JSON | 可选 | 本人已有的分组名称;不传则保留当前分组 |
startAt | string / null | Body · JSON | 可选 | 生效时间,例如 2026-10-09T09:30:00;不传保留原值,生效时间不得晚于失效时间 |
endAt | string / null | Body · JSON | 可选 | 失效时间,例如 2026-10-09T09:30:00;不传保留原值,生效时间不得晚于失效时间 |
至少提交一项修改内容。不需要修改的字段请省略。若需取消生效或失效时间,显式提交对应字段为 JSON null;这与省略字段不同。
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request PATCH \
"https://cutlink.cn/api/open/links/by-url" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"shortUrl": "https://go.example.com/Summer",
"target": "https://shop.example.com/new-campaign",
"title": "新活动"
}' \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | boolean | 成功时返回 | true 表示操作已完成;出现 error 时按失败处理 |
返回示例
示例数据;按实际响应读取data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.6 删除与移动分组
删除单条或批量短链,删除后停止跳转;也可将一批短链移动到本人已有分组。
DELETE/api/open/links/by-url
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
Content-Type | string | Header | 必填 | application/json |
shortUrl | string | Body · JSON | 必填 | 要操作的完整短链接,例如 https://go.example.com/Summer,填写在 JSON 请求体中 |
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request DELETE \
"https://cutlink.cn/api/open/links/by-url" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"shortUrl": "https://go.example.com/Summer"
}' \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | boolean | 成功时返回 | true 表示操作已完成;出现 error 时按失败处理 |
返回示例
示例数据;按实际响应读取data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.7 查询短链
查询短链详情或分页查询列表。列表按创建时间从新到旧返回;创建时间相同的记录不保证先后顺序,暂不支持自定义排序。时间范围按创建时间筛选,与短链有效期无关。
GET/api/open/links
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
page | integer | Query | 可选 | 整数页码,从 1 开始,默认 1 |
page_size | integer | Query | 可选 | 整数,每页默认 20 条,最多 50 条;超过 50 按 50 返回 |
q | string | Query | 可选 | 搜索短链名称、完整短链或目标地址;作为网址中的 q 值传入 |
group_name | string | Query | 可选 | 已有分组名称 |
link_type | string | Query | 可选 | normal 或 miniapp |
start_at | string | Query | 可选 | 按创建时间筛选的起点(含),例如 2026-10-02T09:30:00;不传不限制起点 |
end_at | string | Query | 可选 | 按创建时间筛选的终点(含),例如 2026-10-09T18:00:00;不传不限制终点,起点不得晚于终点 |
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request GET \
"https://cutlink.cn/api/open/links?page=1&page_size=10&link_type=normal" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | object[] | 成功时返回 | 短链列表;没有结果时返回空数组 |
| data[].shortUrl | string | 每条短链 | 完整短链接;后续查询、修改或删除使用此地址 |
| data[].target | string | 每条短链 | 当前默认跳转地址;小程序可能是 #小程序:// 地址或微信生成的链接 |
| data[].title | string / null | 每条短链 | 短链名称;没有名称时可能为空 |
| data[].linkType | string | 每条短链 | normal:网页短链;miniapp:小程序短链 |
| data[].status | string | 每条短链 | active:正常状态;disabled:已禁用。正常状态仍受有效期、额度及访问限制约束 |
| data[].createdAt | integer | 每条短链 | 创建时间,毫秒时间戳,例如 1790899200000 |
| data[].startAt | integer / null | 每条短链 | 生效时间,毫秒时间戳;为空表示没有起始时间限制 |
| data[].endAt | integer / null | 每条短链 | 失效时间,毫秒时间戳;为空表示没有结束时间限制 |
| data[].domainBlocked | boolean | 每条短链 | 域名拦截提示;不能单独据此判断短链是否可访问 |
| data[].platformBlocked | boolean | 每条短链 | 平台拦截提示;可访问性还需结合状态、有效期和实际访问结果 |
| data[].miniapp | object | 有小程序资料时 | 小程序信息;网页短链不返回该对象 |
| data[].miniapp.generationType | string | 有小程序资料时 | url:已有小程序链接;appid:AppID 生成 |
| data[].miniapp.appId | string / null | 有小程序资料时 | 小程序 AppID;已有链接方式可能为空 |
| data[].miniapp.pagePath | string / null | 有小程序资料时 | 小程序页面路径;已有链接方式可能为空 |
| data[].miniapp.wxaUrl | string | 有小程序资料时 | 已保存的小程序链接 |
| data[].miniapp.hasAppSecret | boolean | 有小程序资料时 | 是否已保存应用密钥;不会返回密钥或密文 |
| meta | object | 分页列表成功时 | 分页信息 |
| meta.page | integer | 分页列表成功时 | 当前页码 |
| meta.page_size | integer | 分页列表成功时 | 本次实际每页条数,最多 50 |
| meta.total | integer | 分页列表成功时 | 符合筛选条件的短链总数 |
返回示例
示例数据;按实际响应读取{
"data": [
{
"title": "夏日活动",
"shortUrl": "https://go.example.com/Summer",
"target": "https://shop.example.com/summer",
"linkType": "normal",
"status": "active",
"createdAt": 1790899200000,
"endAt": null,
"startAt": null
}
],
"meta": {
"page": 1,
"page_size": 10,
"total": 1
}
}
data 为业务结果;列表接口的 meta 为分页信息。字段类型及出现条件见上表,示例用于说明数据形态。
2.8 智能跳转
读取、设置按设备跳转或简单随机跳转,也可关闭当前跳转设置。微信卡片、按软件或地区跳转、轮询、访问限制和访客记忆仅在控制台配置。
注意:设置智能跳转会覆盖当前启用的跳转设置设置设备或随机跳转后,将替换当前跳转方式及该方式的全部规则,并关闭访问限制和随机记忆,包括此前在控制台启用的设置。关闭接口会恢复短链原跳转地址。微信分享卡片及其他已保存规则保留。
GET/api/open/links/routing
Path:替换路径中的占位符;Query:放在 URL 的 ? 后;Body:放在 JSON 请求体;Header:放在请求头。
| 参数 | 类型 | 位置 | 要求 | 说明 |
|---|
Authorization | string | Header | 必填 | Bearer <API Token> |
short_url | string | Query | 必填 | 要查询的完整短链接。作为网址中的 short_url 值传入;示例代码已处理特殊字符,无需手动转换 |
成功响应读取 data。跳转类型字段为 mode,固定四种取值;请先判断 mode,再读取该类型对应的地址字段。各类型及完整返回示例见下方。
请求示例
仅展示代码,不发送请求请配置自己的 CUTLINK_API_TOKEN,并按业务需要替换示例中的短链接、域名和跳转地址。
curl --silent --show-error --fail-with-body \
--request GET \
"https://cutlink.cn/api/open/links/routing?short_url=https%3A%2F%2Fgo.example.com%2FSummer" \
--header "Authorization: Bearer $CUTLINK_API_TOKEN" \
--write-out '\nHTTP %{http_code}\n'
# 同时检查响应中的 error;HTTP 200 不一定表示业务成功
cURL 7.76+;终端运行;设置 CUTLINK_API_TOKEN 环境变量。响应正文与 HTTP 状态一并输出。
跳转类型:data.mode
| 取值 | 含义 | 返回内容 | 允许的操作 |
|---|
| device | 按设备跳转 | mode + 已设置的设备地址字段 | 可通过设备接口重新设置,或关闭 |
| random | 简单随机跳转 | mode + targets 地址数组 | 可通过随机接口重新设置,或关闭 |
| none | 未开启设备或随机跳转 | 仅 mode | 使用短链原跳转地址;可通过 API 设置设备或随机跳转 |
| console | 正在使用仅控制台支持的跳转策略 | 仅 mode | API 不返回该策略详情;可通过设备、随机或关闭接口替换当前设置 |
返回字段说明
| 字段 | 类型 | 出现条件 | 说明 |
|---|
| data | object | 成功时返回 | 本次查询结果 |
| data.mode | string | 始终返回 | 固定为 device、random、none、console 之一 |
| data.ios | string | mode=device,且该设备已设置地址 | 苹果手机、iPad的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.android | string | mode=device,且该设备已设置地址 | 安卓设备的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.harmonyos | string | mode=device,且该设备已设置地址 | 鸿蒙设备的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.windows | string | mode=device,且该设备已设置地址 | Windows 电脑的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.macos | string | mode=device,且该设备已设置地址 | Mac 电脑的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.other | string | mode=device,且该设备已设置地址 | 其他设备的完整跳转地址;字段不出现表示使用短链原地址,不返回空字符串或 null |
| data.targets | string[] | mode=random,已保存随机地址列表 | 每项是完整跳转地址,每次访问等概率选择一项。若未返回或为空,不应视为已配置可用地址 |
返回示例
示例数据;按实际响应读取{
"data": {
"mode": "device",
"ios": "https://example.com/ios",
"android": "https://example.com/android"
}
}
以上四种模式覆盖全部成功返回类型;仅返回当前模式的字段。mode=console 表示当前策略的详情仅在控制台提供;仍可通过 API 替换为设备、随机跳转,或关闭。