/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)与超时放弃控制机制,避免触发限流或陷入死循环。