身份验证

MorisBox 根据账户类型提供两种密钥

账户密钥前缀用途
合作伙伴sk_…(不包括 sk_dev_完整合作伙伴 API(/messages、机器人、模板等)
开发者sk_dev_…仅限开发者 API(/dev/*),使用 MorisBox 模板

请勿在合作伙伴或开发者后端使用最终用户 JWT。


通用请求头

Authorization: Bearer <api_key>
Content-Type: application/json

开发者密钥也支持 X-Api-Key: sk_dev_…


合作伙伴密钥

属性说明
格式不透明字符串(sk_…
存储服务器端哈希;密钥仅显示一次
权限范围sendreadtemplatesfull
IP 允许列表可选,按密钥配置

创建密钥(合作伙伴中心)

  1. 登录合作伙伴中心
  2. 打开管理 → API 密钥 → 创建
  3. 立即复制密钥

通过 API 创建

POST /api/v1/settings/api-keys
Authorization: Bearer <existing_key>
{
  "name": "Backend production",
  "scopes": "send"
}

登录合作伙伴中心(UI)

端点用途
POST /api/v1/auth/partner/login用户名和密码 → 会话密钥
POST /api/v1/auth/partner/logout撤销会话密钥
入驻申请合作伙伴账户

服务器集成应使用专用 API 密钥,不要使用 UI 会话。


开发者密钥

请参阅完整指南:开发者账户

端点用途
POST /api/v1/auth/developer/register创建账户和首个密钥
POST /api/v1/auth/developer/login控制台会话
GET/POST /api/v1/dev/api-keys管理密钥
DELETE /api/v1/dev/api-keys/{id}撤销密钥

开发者不使用合作伙伴的 /api/v1/messages 端点。他们使用带 template_code/api/v1/dev/messages


安全清单

  • 在生产环境和公共沙盒中使用 HTTPS
  • 密钥泄露后立即轮换
  • 采用最小权限范围
  • 切勿在公共移动应用中嵌入密钥
  • 验证 Webhook 签名(Webhook

未授权响应

{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or expired API key."
  }
}

密钥无效时返回 401;权限范围、IP 或角色不被允许时返回 403