A6 FOR DEVELOPERS & AGENTS

少一点重复,多一点自动化。

用一个 API,把短链接接入你的网站、商品推广系统或 AI Agent。仅有效付费会员可调用。

三步开始

  1. 登录 A6,开通有效的付费会员。
  2. 在密钥管理创建 API Key,保存至服务端环境变量 A6_API_KEY。
  3. 向 https://a6.cm/api/v1 发起请求,使用 Authorization: Bearer YOUR_API_KEY 鉴权。
免费用户无法使用 API 或 Agent。会员到期、密钥撤销后调用立即失效;网页登录 Cookie 不能代替 API Key。

创建短链接

POST /links · 请求格式 application/json

curl --fail-with-body --max-time 45 https://a6.cm/api/v1/links \
  -H "Authorization: Bearer $A6_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: campaign-20261103-001' \
  --data '{
    "url": "https://example.com/product",
    "custom_code": "product2026",
    "remark": "商品推广 / 公众号"
  }'
字段必填说明
url是HTTP / HTTPS 目标网址,最长 4096 字节。
custom_code否1–20 位英文字母或数字;不填则随机生成。系统保留名称不可使用。
expire_days否1–36500 个有效天数;不填或 0 表示不设到期日。
max_clicks否1–2147483647 次访问上限;不填或 0 表示不限。
remark否最多 1000 字,建议注明用途或渠道。

成功响应 · HTTP 201

{
  "success": true,
  "data": {
    "id": 123,
    "short_code": "product2026",
    "short_url": "https://a6.cm/product2026",
    "original_url": "https://example.com/product",
    "remark": "商品推广 / 公众号",
    "expire_at": null,
    "max_clicks": null,
    "click_count": 0,
    "created_at": "2026-11-03 12:00:00"
  }
}

上面为返回格式示例。请使用真实响应中的 data.short_url。

Python 示例

import os
import requests

response = requests.post(
    "https://a6.cm/api/v1/links",
    headers={
        "Authorization": f"Bearer {os.environ['A6_API_KEY']}",
        "Idempotency-Key": "campaign-20261103-001",
        "X-A6-Client": "agent",
        "User-Agent": "A6PythonClient/1.0",
    },
    json={"url": "https://example.com/product"},
    timeout=45,
)
response.raise_for_status()
print(response.json()["data"]["short_url"])

所有生成入口均接受 AI 风险审查

网页普通生成、AI 生成、API 和 Agent 创建短链接前,均须通过 DeepSeek Flash 风险审查。金融类与疑似钓鱼链接拒绝生成,付费会员同样适用。

金融范围包括银行、支付、借贷、理财、股票、外汇、保险、基金、加密货币等。网页无法读取、模型不可用或结论不明确时暂停生成;不会静默改用其他模型或直接生成普通短链接。

HTTP / error.code含义与处理
403 · LINK_BLOCKED金融类或疑似钓鱼等风险内容被拒绝。停止此目标的生成,不要改走其他入口绕过。
422 · LINK_REVIEW_REQUIRED网页无法读取或无法获得明确审查结论。当前未生成链接;核对公开页面内容后再提交。
503 · SAFETY_UNAVAILABLE风险审查服务暂不可用,当前未生成链接。稍后使用原 Idempotency-Key 退避重试。

修改目标网址、独立 AI 分析及现有短链接跳转也执行同一审查。有效审查结果最多复用 5 分钟;没有有效放行结果、结论不明或审查不可用时阻断,受阻跳转不计入成功访问。动态脚本、按地区或 User-Agent 显示不同内容、以及缓存有效期内的内容变化可能影响识别,无法承诺绝对防钓鱼。

审查基于当次可读取内容,不能保证目标页面今后始终安全,也不替代用户对网站身份与分享权限的核对。同一原网址可再次生成不同短链接;自定义短码必须在新旧链接记录中保持唯一。

查询自己的链接

方法与路径作用
GET /links按 ID 倒序分页查询自己的链接。
GET /links/{short_code}查询某条自有链接及累计点击次数。
GET /links/{short_code}/stats查询自有链接的访问汇总与分布趋势。
GET /links/{short_code}/visits分页查询自有链接的访问时间与设备、地区明细。
GET /account查询付费有效期和当前调用限制。
curl 'https://a6.cm/api/v1/links?limit=20' \
  -H "Authorization: Bearer $A6_API_KEY"

curl 'https://a6.cm/api/v1/links/product2026' \
  -H "Authorization: Bearer $A6_API_KEY"

列表 limit 为 1–50,默认 20。用返回的 next_before_id 作为下一次请求的 before_id;为 null 时没有下一页。仅能查询当前账户自己的链接。

查询链接的访问效果

GET /links/{short_code}/stats 返回汇总、国家/地区、设备、浏览器、系统、来源网站和访问趋势;GET /links/{short_code}/visits 返回逐次访问明细。两者均要求有效付费会员,且只能查询当前账户自己的链接。

curl --fail-with-body \
  'https://a6.cm/api/v1/links/product2026/stats?from=2026-11-01&to=2026-11-03&interval=day' \
  -H "Authorization: Bearer $A6_API_KEY"

curl --fail-with-body \
  'https://a6.cm/api/v1/links/product2026/visits?from=2026-11-01&to=2026-11-03&limit=50' \
  -H "Authorization: Bearer $A6_API_KEY"
参数说明
from / toYYYY-MM-DD,包含起止两天。默认最近 7 天(含今天),最多 90 天,结束日期不能晚于今天。
intervalday(默认)按天、hour 按小时。按小时最多查询 7 天。明细接口接受并回显此参数,明细仍按访问 ID 倒序。
limit仅明细:1–100,默认 50。
before_id仅明细:用上一页的 data.next_before_id 翻页;保持短码和日期区间不变。为 null 时没有下一页。

日期、趋势分组与访问时间统一使用北京时间 Asia/Shanghai;访问时间带 +08:00。没有访问的趋势时段返回 0,便于直接绘图。

汇总响应示例(节选,非真实业务数据)

{
  "success": true,
  "data": {
    "short_code": "product2026",
    "range": {"from":"2026-11-03","to":"2026-11-03","timezone":"Asia/Shanghai","interval":"day"},
    "summary": {
      "visits": 2,
      "unique_visitors_estimate": 1,
      "bot_visits": 0,
      "non_bot_visits": 2,
      "geolocated_visits": 2,
      "identified_visits": 2,
      "all_time_click_count": 12,
      "first_visit_at": "2026-11-03T12:00:00+08:00",
      "last_visit_at": "2026-11-03T12:05:00+08:00"
    },
    "countries": [{"value":"CN","name":"中国大陆","visits":2}],
    "devices": [{"value":"mobile","visits":2}],
    "timeline": [{"period":"2026-11-03","visits":2,"unique_visitors_estimate":1}],
    "detailed_tracking_since": "2026-11-03T11:00:00+08:00"
  }
}
字段含义
summary.visits区间内成功记录的详细访问次数,包含识别出的机器人。
summary.unique_visitors_estimate按每条链接的 IP 哈希去重估算独立访客,包含机器人,不能当作真实人数;每日估算值相加不等于整个区间去重值。
summary.bot_visits / non_bot_visitsUser-Agent 规则识别的机器人与未被识别为机器人的访问次数,可能漏判。
summary.geolocated_visits / identified_visits具备国家/地区信息的访问次数 / 具备可用访客哈希的访问次数,用于判断数据覆盖情况。
summary.all_time_click_count链接历史累计点击,包含详细采集上线前的记录,不受 from/to 限制。
summary.first_visit_at / last_visit_at当前区间首末访问时间,无记录时为 null。
countries / locations国家/地区分布,以及地区、城市分布。未知国家为 ZZ,未提供的地区、城市为空字符串;由可信 CDN 的 IP 定位提供,代理出口可能影响位置。
devices / browsers / operating_systems设备类型、浏览器、操作系统分布。设备值为 mobile、tablet、desktop、bot 或 unknown。
referrers来源网站主机名分布,只含域名、不含路径与参数;direct_or_unknown 表示直接访问或来源不可识别。
timeline按天或小时返回访问次数、估算独立访客;空时段补 0。
detailed_tracking_since / notes详细采集启用时间与数据口径说明。旧数据缺少的国家、设备等维度不会补造。

维度分组最多返回前 100 项;汇总仍覆盖区间内全部已记录访问。明细中的 visited_at 为访问时间,其他字段包括 country_code、country_name、region、city、device、browser、os、is_bot、referrer_host。API 不返回访客 IP、IP 哈希或 User-Agent 原文。

Python:查询汇总并遍历明细

import os
import requests

base = "https://a6.cm/api/v1/links/product2026"
headers = {"Authorization": f"Bearer {os.environ['A6_API_KEY']}"}
params = {"from": "2026-11-01", "to": "2026-11-03"}
response = requests.get(f"{base}/stats", headers=headers,
                        params={**params, "interval": "day"}, timeout=45)
response.raise_for_status()
print(response.json()["data"]["summary"])

cursor = None
while True:
    page_params = {**params, "limit": 50}
    if cursor is not None:
        page_params["before_id"] = cursor
    response = requests.get(f"{base}/visits", headers=headers,
                            params=page_params, timeout=45)
    response.raise_for_status()
    data = response.json()["data"]
    for visit in data["visits"]:
        print(visit["visited_at"], visit["country_name"], visit["device"])
    cursor = data["next_before_id"]
    if cursor is None:
        break
访问数据可以比较推广入口与分享效果,但不能直接当作商品成交、报名成功或下载完成数据。详细维度仅覆盖采集启用后成功记录的访问。

让 Agent 直接调用

把 Agent Skill 提供给支持技能的 Agent,或将 OpenAPI 文档导入支持自定义 HTTP 工具的 Agent 平台。通过平台的密钥配置保存 API Key,避免把密钥写进提示词或对话。

  1. 工具入口:POST https://a6.cm/api/v1/links。
  2. 鉴权:Authorization: Bearer $A6_API_KEY。
  3. 请求头可加 X-A6-Client: agent,便于识别 Agent 创建记录。
  4. Agent 将用户指定的目标网址放入 url,返回真实 data.short_url。
任务示例:
为 https://example.com/product 创建短链接,
备注“新品推广 / 微信”,有效期 30 天。
请使用 A6 API,返回接口实际生成的 short_url。

效果分析示例:
查询 product2026 最近 7 天的访问效果,
比较国家/地区、设备与每日趋势,并列出最近 20 条访问时间。
请区分估算独立访客与真实人数,说明未知地区和数据覆盖起点。

Agent 与普通 API 使用相同的付费权限和额度。没有开放免鉴权生成接口。当前接入方式为 HTTP API / OpenAPI / Skill,无需将浏览器 Cookie 交给 Agent。

调用与会员限制

  • 每个用户最多创建 5 个有效密钥。
  • 每用户每分钟最多创建 60 条短链接,与网页生成共享计数。
  • 每用户每 UTC 日最多通过 API / Agent 创建 1000 条。
  • 每用户每分钟最多 120 次已认证 API 请求。
  • 风险审查:免费账户每分钟 5 次、每 UTC 日 20 次;付费账户每分钟 60 次、每 UTC 日 1000 次。
  • 同一请求中的 AI 分析与创建共享审查计数;跨请求即使命中审查缓存也计数。风险审查缓存最长 300 秒。
  • 可选内容分析另按额度计算:免费每天 3 次、付费每天 30 次,均每分钟最多 3 次。
  • 同一用户的多个密钥共享限额;免费、到期或被撤销的密钥不能绕过限制。

可通过 GET /account 查询当前付费限制;其中 risk_checks_per_minute 为 60、risk_checks_per_day 为 1000、risk_cache_seconds 为 300。二维码和网页访问的点击数据不等于商品成交、报名或下载完成数据。

错误、去重与重试

状态码含义处理方式
400参数无效检查网址、短码、字段长度与数值范围。
401密钥缺失、无效或已撤销检查 Bearer Key 或重新创建密钥。
403PAID_REQUIRED:会员无效;LINK_BLOCKED:风险审查拒绝按 error.code 区分;风险拒绝不可通过其他入口绕过。
404链接不存在或不属于当前用户核对短码和密钥所属账户。
409短码占用、请求去重冲突更换短码;新任务使用新的 Idempotency-Key。
422LINK_REVIEW_REQUIRED:无法读取或结论不明当前未生成,核对公开目标页面后再提交。
429超过调用限制按 Retry-After 等待后重试。
503SAFETY_UNAVAILABLE:风险审查不可用;或其他服务错误当前未生成;使用原 Idempotency-Key 退避重试,不跳过审查。

Idempotency-Key 可选,但推荐自动化任务使用。长度 8–80,允许字母、数字和 ._:-。同一用户使用相同标识与相同参数重试,返回 HTTP 200 及同一条链接;参数不同则返回 409。去重记录保留 7 天。

创建请求建议设置至少 45 秒超时。收到 503 时使用原 Idempotency-Key 退避重试,例如间隔 5、10、20 秒并加入随机抖动;不要每秒循环重试。429 优先遵守 Retry-After。

密钥与数据安全

客户端建议发送自己的应用标识,例如 User-Agent: MyApp/1.0。如收到含 error code: 1010 的纯文本 403,这是边缘服务拒绝请求,并非 A6 的 JSON 会员鉴权响应;请检查客户端标识,或参考本文已验证的 Python requests 示例配置。

  • 密钥明文仅创建时展示,服务器保存哈希;泄露后请立即撤销。
  • 将 Key 保存在服务端环境变量或平台的凭据管理中,不放入网页前端、URL、Git 或截图。
  • 使用 HTTPS 主域名 https://a6.cm,每次请求都检查会员状态。
  • 只缩短可信且有权分享的网址,不要把密码、验证码或个人敏感信息写进 URL 参数。

扫码打开短链接

短链接二维码

下载二维码