Skip to content

快速开始

EventRelay 让业务系统通过 Open API 发送可交互 message,终端用户通过 Web Push 收到通知并在浏览器中批准/拒绝,平台再将结果 HMAC 签名 投递到你的 callback_url

北极星流程

text
POST /v1/open/messages(带 ext)
→ Web Push 载荷仅 message_id
→ 用户在 Web 收件箱 respond
→ callback 回传(含 ext + response)

1. 注册开发者账号

开发者控制台POST /v1/developer/auth/email/register 注册。

注册响应 仅此一次 返回明文:

  • appid — Open API 应用 ID
  • open_secret — M2M 密钥
  • callback_secret — Webhook 验签密钥(注册响应 仅此一次 返回)

WARNING

请立即保存 open_secretcallback_secret。丢失后须在控制台 API 密钥 页重置,旧密钥立即失效。

验证邮箱:POST /v1/developer/auth/email/verify,然后 POST /v1/developer/auth/email/login 获取 Developer JWT(控制台会话用)。

2. 配置 callback

在控制台 设置 页保存 HTTPS callback_urlopen_secretcallback_secretAPI 密钥 页查看(脱敏)与重置(明文仅展示一次)。

详见 Callback 验签

3. 获取订阅用户

每个应用注册时自动创建默认 Topic:{username}/default

开发者控制台 邀请订阅 页生成二维码 / 链接;或用 Open API:

bash
curl -sS -X POST "$API/v1/open/invites" \
  -H "Authorization: Bearer $APPID:$OPEN_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"topic":"acme/default"}'

终端用户扫码或打开链接,在 Web 端 POST /v1/app/join 完成 账号级 订阅。

4. 发送 message

bash
curl -sS -X POST "$API/v1/open/messages" \
  -H "Authorization: Bearer $APPID:$OPEN_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "acme/default",
    "type": "approval",
    "ext": "order-9281",
    "payload": {
      "title": "部署批准",
      "body": "生产环境 v2.3.1 待确认",
      "approve_label": "批准",
      "reject_label": "拒绝"
    }
  }'

响应:{ "message_id": "...", "status": "queued" }(立即)或 "scheduled"(定时)。

可选定时:在 body 中加 "scheduled_at": 1710000000000(UTC 毫秒,须在未来)。创建时计入当日 messages_per_day 配额。

开发者控制台 概览 页点击 发送推送,可在弹窗中选择「立即发送」或「定时发送」做联调(控制台 demo-messages 接口,同样支持 scheduled_at)。

5. 验证 callback

  1. 在控制台配置 callback_urlcallback_secret
  2. 调用 POST /v1/open/webhooks/test(或控制台 测试 Webhook 按钮)
  3. 你的服务端验签并返回 2xx

鉴权速查

Header
Open M2MAuthorization: Bearer {appid}:{open_secret}
Developer 控制台 APIAuthorization: Bearer {access_token}

下一步

生产 API:https://er.iuu.pub

EventRelay 开发者文档