开发者

沙箱

一个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。

bash
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. 1

    领取你的沙箱

    POST /api/auth/register with `mode: sandbox`. Capture the returned API key in your secret store.

  2. 2

    用沙箱密钥调用API

    确认 GET /api/v1/zapier/auth/test,然后从模板创建并发送签名。在管理→开发者→Webhook中注册webhook并在控制台中观看交付。

  3. 3

    查看集成清单

    确认webhook签名验证、关联 ID 日志记录和幂等性。开发者控制台中“管理员”→“开发者”下的完整清单。

  4. 4

    报名制作

    准备好后,通过同一端点使用“mode: production”(或标准注册 UI)注册一个单独的生产租户。您的沙箱租户保持不变,以便您可以继续测试。

常见问题

一次调用即可领取您的沙箱

端点今天上线。响应正文包含一个“esk_test_”密钥,您可以从服务器确认。