测试密钥在沙盒中运行。您的请求与正式密钥经过同一个网关:密钥、权限范围、限制、Idempotency-Key、请求校验、任务、文件和 webhooks 都与生产环境一样工作。只有工作本身是模拟的:不运行任何工具,不创建任何内容,也不收取任何费用。
获取测试密钥
在后台打开 API → 密钥,选择密钥类型 测试 并创建密钥。测试密钥以 gsk_test 开头。像正式密钥一样使用它。
沙盒的每个响应都带有请求头 Grem-Sandbox: true,测试日志永远不会被误认为真实工作,在检查密钥之前给出的响应(格式错误的 JSON、413、未知路径)也不例外。
会发生什么
- 请求校验是真实的。 生产环境会拒绝的请求,沙盒会以相同的状态和原因拒绝:缺少字段、内容包少于 4 张照片、文案既无房源、描述、城市也无面积。
multipart请求的表单字段、属于其他类别的报告字段以及独栋房屋的heatingType取值同样会被校验,上传文件的类型和大小也会被校验。生产环境会截断或替换的内容(过长的文本、未知的视频length),沙盒同样接受。 - 结果是示例。 同步工具立即返回固定的示例值。异步工具返回
jobId;任务在约 5 秒内经历pending→running→ 结果。 - 报告审核 与生产环境一样停在
action_required,extracted中是示例数据;用POST /valuation/review/jobs/{id}/confirm确认。 - 文件是占位文件。 PDF 和图片是可以打开的真实文件;视频、docx 和文本是带正确内容类型的简短标注占位文件。只有已完成的沙盒任务才有文件,且须使用该工具自己的路径和任务返回的产物 ID,否则返回
404。头像视频与生产环境一样,已完成任务的任意产物 ID 都会返回。支持Range(206、416)。 - Webhooks 是真实的。 测试密钥只能创建和管理沙盒 webhook 地址。这些地址只接收沙盒任务的事件:带签名、可重试的投递,与生产环境完全一致。正式地址永远不会收到沙盒事件,测试密钥也无法查看或修改它们。
选择结果
Grem-Simulate 请求头决定调用或任务以什么结束:
| 值 | 结果 |
|---|---|
completed | 默认:任务成功完成 |
failed | 任务以 failed 结束;同步工具返回 502 provider_error |
partial | 内容包以 partial 结束;其他工具成功完成 |
insufficient_funds | 402,带 code: INSUFFICIENT_FUNDS |
service_unavailable | 工具停用:与生产环境中 GET /tools/status 显示不可用的工具完全相同的响应 - 503、Retry-After: 60,不创建任何内容(content/generate, text/generate, video/create, avatar/video, site/create, floorplan/create, photo/enhance, valuation/express);其他工具 - 503,带 Retry-After: 30 |
provider_error | 502 provider_error |
取值不区分大小写。未知值返回 400,拼写错误永远不会被当作成功。正式密钥会忽略此请求头。
curl -X POST https://developers.grem.capital/api/v1/text/generate \
-H "Authorization: Bearer gsk_test_xxx" \
-H "Content-Type: application/json" \
-H "Grem-Simulate: failed" \
-d '{"city":"Berlin","totalArea":64}'
测试密钥能做什么
| 请求 | 使用测试密钥时 |
|---|---|
工具、POST /valuation/express、报告审核确认 | 模拟 |
| Webhook 管理 | 仅沙盒地址 |
读取(GET):房源、线索、字典、声音等 | 您账户的真实数据 |
| 创建或修改房源、线索、Swipe Match 事件、上传、对话 | 拒绝:403 forbidden |
与生产环境的区别
- 结果是固定示例,不是估价,也不是真实文案。不要展示给您的用户。
- 沙盒不检查
objectId中的房源是否存在、是否属于您;生产环境在这种情况下返回403或404。 - 任务和结果保存一天。