沙盒与正式环境(账户模式)
“沙盒”在 MorisBox 中有两种不同含义:
| 概念 | 含义 |
|---|---|
| 部署主机 | 共享环境(api.morisbox.com、合作伙伴中心和客户端应用) |
| 账户沙盒 | 按合作伙伴配置:外发消息仅限一个测试号码 |
本页介绍账户的沙盒 / 正式环境模式。
默认值:沙盒
每个新合作伙伴都从沙盒开始:
- 只能向一个允许的 E.164 号码发送消息(
sandbox_allowed_phone) - 禁止广播
- 流程邀请和客服聊天遵循相同的号码限制
seed360平台合作伙伴始终处于正式环境(OTP / 系统)
配置测试号码
合作伙伴中心 → 设置 → 沙盒 / 正式环境,或调用:
PUT /api/v1/settings/sandbox
Authorization: Bearer sk_…
Content-Type: application/json
{
"sandbox_allowed_phone": "+228XXXXXXXX"
}
然后:
POST /api/v1/messages
Authorization: Bearer sk_…
Content-Type: application/json
{
"phone": "+228XXXXXXXX",
"body": "Hello sandbox"
}
向任何其他号码发送都会返回 403,且 error.code = sandbox_restricted。
申请正式环境
准备好接收生产流量时:
POST /api/v1/settings/sandbox/request-live
Authorization: Bearer sk_…
Content-Type: application/json
{
"note": "Production launch for SEED notifications"
}
该申请必须由 MorisBox 平台管理员批准。在批准之前,您仍处于沙盒模式。
合作伙伴中心:沙盒 / 正式环境 → 申请正式环境。
管理(平台合作伙伴)
平台运营人员可以:
| 操作 | 效果 |
|---|---|
| 批准正式环境 | sandbox_mode=false |
| 拒绝退出 | 保持沙盒模式,退出状态为 rejected |
| 重置沙盒 | 强制恢复沙盒模式(例如发生 KYC 问题后),同时保留测试号码 |
API(seed360 管理员密钥):
GET /api/v1/admin/sandbox
POST /api/v1/admin/sandbox/partners/{id}/approve-live
POST /api/v1/admin/sandbox/partners/{id}/reject-live
POST /api/v1/admin/sandbox/partners/{id}/reset
合作伙伴中心:沙盒管理(仅限平台)。
主机(部署)
| 服务 | URL |
|---|---|
| 合作伙伴 API | https://api.morisbox.com/api/v1 |
| 合作伙伴中心 | https://partner.morisbox.com |
| 合作伙伴文档 | https://docs.morisbox.com/partners |
| 开发者文档 | https://developers.morisbox.com/developers |
| 客户端应用 | https://morisbox.com |
不存在共享的公共 API 密钥。每个合作伙伴使用自己的凭证。
合作伙伴冒烟测试清单
- 新合作伙伴 → 默认为沙盒
- 未配置允许号码时调用
POST /messages→ 403 sandbox_restricted - 设置允许号码 → 向该号码发送 → 201
- 向其他号码发送 → 403
- 在沙盒中调用
POST /broadcasts→ 403 - 申请正式环境 → 管理员批准 → 可向任意号码发送
合作伙伴 curl(沙盒)
export SEED360_API_BASE="https://api.morisbox.com/api/v1"
export SEED360_API_KEY="sk_…"
curl -sS -X PUT "$SEED360_API_BASE/settings/sandbox" \
-H "Authorization: Bearer $SEED360_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sandbox_allowed_phone":"+228XXXXXXXX"}'
curl -sS -X POST "$SEED360_API_BASE/messages" \
-H "Authorization: Bearer $SEED360_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone":"+228XXXXXXXX","body":"Hello MorisBox"}'