沙箱
一个API调用提供一个隔离的沙箱租户,铸造一个API密钥,并播种一个演示签名者 - 无需早期访问队列,无需手动设置。
领取沙盒时会运送什么
沙箱流程是标准自助注册端点上的一种模式。您获得的一切都是真实平台上的真实租户 - 只需标记“isSandbox:true”并预先播种,以便您的第一个“curl”成功。
隔离租户
使用您选择的名称的新租户,标记为“isSandbox:true”。沙箱API密钥永远不会对其他租户起作用,并且其他租户的密钥不会对您的密钥起作用。
API 密钥返回一次
注册响应包含完整的“esk_test_…”密钥。它显示一次 - 将其存储在您的服务器秘密管理器中,或从管理 → 开发人员 → API 密钥中铸造另一个密钥。
种子演示签名者
一条客户记录(`sandbox-signer-{yourTenantId}`) 是预先创建的。当播种成功时,会包含“sampleTemplateId”,因此第一个服务器调用可以从模板创建。
免费计划,无需计费设置
沙箱租户被锁定到免费计划服务器端。注册永远不会触及计费管道,并且当设置“mode: sandbox”时,请求正文中的“planId”将被忽略。
Webhooks + 开发者控制台 登录时,
在管理 → 开发人员 → Webhook 中注册端点。在管理 → 开发人员 → 控制台中重播失败的交付并检查 API 请求。
建议 30 天到期
租户带有“expiresAt”提示(当前为信息性 — 后续执行)。今天没有任何内容会被自动删除;该场地是为未来的清理工作准备的。
在一次请求中声明一个沙箱
先决条件:有效的电子邮件地址和 8 个以上字符的密码。预期输出:带有“tenantId”、“sandbox.apiKey”(显示一次)和种子“demoCustomerId”的 HTTP 201。
curl -sS -X POST https://api.endorsedsign.com/api/auth/register \
-H 'Content-Type: application/json' \
-d '{
"tenantName": "Acme Dev Sandbox",
"adminEmail": "you@acme.example",
"password": "your-strong-password",
"mode": "sandbox"
}' | jq '.data | { tenantId, sandbox }'
# {
# "tenantId": "acme-dev-sandbox",
# "sandbox": {
# "apiKey": "esk_test_…", # capture this now — shown once
# "keyPrefix": "esk_test_…",
# "keyId": "…",
# "scopes": ["documents:write", …],
# "demoCustomerId": "sandbox-signer-acme-dev-sandbox",
# "demoCustomerName": "Sandbox Signer",
# "expiresAt": "2026-…"
# }
# }登录管理员之前,请从收件箱验证您的管理员电子邮件。 API 键立即生效——验证仅控制人工控制台。
从沙箱到生产
- 1
领取你的沙箱
POST /api/auth/register with `mode: sandbox`. Capture the returned API key in your secret store.
- 2
用沙箱密钥调用API
确认 GET /api/v1/zapier/auth/test,然后从模板创建并发送签名。在管理→开发者→Webhook中注册webhook并在控制台中观看交付。
- 3
查看集成清单
确认webhook签名验证、关联 ID 日志记录和幂等性。开发者控制台中“管理员”→“开发者”下的完整清单。
- 4
报名制作
准备好后,通过同一端点使用“mode: production”(或标准注册 UI)注册一个单独的生产租户。您的沙箱租户保持不变,以便您可以继续测试。