使用 Webhook 接收短信事件

创建公网 HTTPS 端点,保存密钥,验证签名并安全处理重复事件。

本页目录
  1. 添加公开端点
  2. 验证原始请求体
  3. 重试和管理

看看它如何运作

操作演示 · 虚构示例数据

步骤 1 / 5

创建公开 HTTPS 端点

添加公开 HTTPS URL 的 webhook。不接受 localhost、私有地址、URL 凭据、片段或重定向目标。

此演示不会更改您的账户。

阅读全部步骤
  1. 创建公开 HTTPS 端点

    添加公开 HTTPS URL 的 webhook。不接受 localhost、私有地址、URL 凭据、片段或重定向目标。

    名称
    Demo SMS receiver
    端点
    https://example.com/sms-webhook
  2. 保存仅显示一次的密钥

    显示时将密钥保存到服务器受保护配置。之后无法再次显示;不要放入工单或公开代码。

    签名密钥
    ••••••••
  3. 验证原始正文签名

    使用签名密钥对原始请求正文验证 HMAC-SHA256,并比较 x-smsred-signature。通过稳定的 x-smsred-event-id 去重。

    签名标头
    x-smsred-signature: sha256=<hex>
    事件编号
    x-smsred-event-id: DEMO-EVENT-42
    验证
    HMAC-SHA256(secret, rawBody)
  4. 确认并处理重试

    安全接受事件后及时返回 2xx。失败投递最多重试 8 次,使用同一事件编号;每个事件只处理一次。投递前会再次核对所有权。

    首次投递
    DEMO-EVENT-42 → 2xx
    重复投递
    相同事件 ID → 不重复执行
  5. 管理 webhook

    可修改名称或描述、暂时停用投递,或在不需要时删除。更改期间保持接收端去重与密钥处理一致。

    Webhook
    Demo SMS receiver
    状态
    已停用

添加公开端点

在开发者打开 Webhook 并添加名称、公网 HTTPS URL 和说明。localhost、私网地址、URL 凭据和重定向不适用,最终地址应直接可达。

创建后安全保存弹窗中的秘密值,复制会清除显示,不要依赖以后再读。与 API 密钥分开保管,不放公开代码。

验证原始请求体

事件以 JSON POST 到达,用秘密值对准确原始 body 算 HMAC-SHA256,对比 x-smsred-signature,格式 sha256=HEX_DIGEST。验证前不要解析后重新序列化,空白可改变签名,使用恒定时间比较。

x-smsred-event-id 是稳定标识。验证、去重、可靠保存/排队后及时返回 2xx。body 字段按当前合同。

重试和管理

非 2xx 或超时可退避重试最多八次,同事件可能多次到达,处理器需容忍重复。重定向不是成功的 2xx 回应。

表格支持编辑名称/说明、禁用和移除。禁用暂停,移除删除。消息按当前所有者投递,包含转让后。失败时查 HTTPS、签名和自己服务器日志,不假定面板有完整投递日志查看器。

需要账户帮助?

打开支持中心
SMS.Red

立即使用我们的短信激活号码,解锁成千上万的服务

SMS.Red © 2025 - 2026保留所有权利mekbuda