logo
正在加载,请稍候…
帮助文档

resent api

帮助中心/resent-api
返回帮助中心文档来源:admin/help-docs/resent-api.md

/api/resent 对接说明(被动轮询)

位置:开放查询 API(轮询方式获取验证码)

两种获取验证码方式

  • 主动推送:在“通知通道”里配置 Webhook(如 custom_json),短信到达后立即推送到业务系统。
  • 被动轮询:调用 GET /api/resent 查询发送时间之后的最新一条短信。

相关阅读:

  • 主动推送配置:/help/notify-channel-edit

接口说明

  • 端点:GET /api/resent
  • 鉴权:Authorization: Bearer {api_token}
  • 限流:默认 5 秒 16 次

请求参数

  • phone(string,必填):查询手机号。
  • title(string,选填):短信抬头;非空时按抬头精确匹配。
  • sendTimeSec(int,必填):发送时间,Unix 秒级时间戳。

cURL 示例

按抬头匹配:

curl --request GET "https://sms.gqmg.com/api/resent?phone=13588113202&title=蒲岐实业&sendTimeSec=1762481605" \
  --header "Authorization: Bearer {your_api_token}"

抬头为空(取发送时间后的最新一条):

curl --request GET "https://sms.gqmg.com/api/resent?phone=13800138000&title=&sendTimeSec=1731470000" \
  --header "Authorization: Bearer {your_api_token}"

响应示例

命中:

{
  "code": 200,
  "msg": "已找到最新短信",
  "data": {
    "found": true,
    "phone": "13588113202",
    "title": "蒲岐实业",
    "captcha": "289342",
    "content": "【蒲岐实业】您的登录验证码为:289342",
    "sendTimeSec": "2025-11-07 10:13:25",
    "receiveTime": "2025-11-07 10:13:27"
  }
}

未命中:

{
  "code": 200,
  "msg": "未找到符合条件的短信",
  "data": { "found": false }
}

行为说明

  • 抬头解析:短信抬头按 【xxx】[xxx] 解析。
  • 验证码规则:默认提取 \d{4,8}
  • 抬头非空:仅返回发送时间之后、抬头精确命中的记录。
  • 抬头为空:返回发送时间之后最新一条短信。
  • 时间边界:若命中记录 receiveTime < sendTimeSec,返回未找到。
  • 轮询策略:建议调用方自行做间隔轮询与超时控制。

---

开发者专区:API 被动轮询对接

📍 位置: 开放查询 API(/api/resent

💡 功能概要: 如果您的业务服务器处于内网环境中,无法接收 Webhook 的主动推送,您可以使用此安全接口,让您的系统主动向本平台拉取最新的验证码。

🛠️ 接口说明与交互逻辑

* 鉴权与调用: 采用 GET 请求方式访问 /api/resent 端点,必须在 Header 中携带 Authorization: Bearer {api_token} 进行鉴权。出于稳定性考虑,接口默认限流为每 5 秒 16 次调用。

* 查询参数设定:

* phone(必填):指定需要查询的手机号码。

sendTimeSec(必填):提供一个 Unix 秒级时间戳,系统只会返回此时间之后*收到的短信。如果查到的记录接收时间早于该时间戳,系统将返回“未找到”。

* title(选填):若传入此参数,系统将严格提取短信的 【xxx】[xxx] 抬头进行精确匹配;若留空,则直接返回时间线后的最新一条短信。

* 返回数据格式: 命中时返回 {"found": true} 并附带提取出的 captcha(默认提取规则为 4 到 8 位连续数字);未命中时返回 {"found": false}

💡 对接建议:

该接口为被动查询设计,强烈建议调用方在代码中自行实现合理的间隔轮询(Sleep)与超时放弃控制机制,避免触发限流或陷入死循环。