- 合同状态
- 已准备,未提供
- 阅读限制
- 60 / 分钟
- 写入限制
- 20 / 分钟
- 版本退役
- 6 个月通知
拟议突发额度 ×2。
拟议突发额度 ×2。
拟议弃用窗口。
将这些保持在视野中。
- 此页面背后没有实时 API 源站或可用的 SDK。
- 使用最小权限范围将资源读取与更改分离。
- 在自动化计费或交付之前,使用幂等请求和签名事件。
从小型、稳定的资源模型开始
拟议的第一版合同将目录资源与账户资源分开。位置和套餐支持配置。服务代表已接受的配置和履行状态。计费包含发票和付款状态。工单支持可追溯的支持对话。网站实现自己的表单和工作区;以下示例是设计合同,不是通往公共 API 的路由。
凭据属于某个范围
准备好的身份验证模型在 Authorization 标头中使用 Bearer 令牌。只读目录或服务范围不应能够创建、重建或取消服务。写入范围需要单独的决定和撤销路径。将凭据保存在私有服务器环境中,切勿将秘密令牌嵌入页面或浏览器包中。
GET /v1/services
Authorization: Bearer <private-token>
Accept: application/json
# Proposed scope: services:read五个示例操作
为每个资源使用稳定的标识符,并为支持使用请求 ID。变更调用应使用幂等键,以便重试时可以对账,而不是创建另一个订单。
POST /v1/services
Idempotency-Key: <one-key-per-request>
{
"plan_id": "umbra-1",
"location": "iceland",
"billing_cycle": "monthly",
"image": "Ubuntu"
}| 运营 | 示例请求 | 所需范围 | 结果 |
|---|---|---|---|
| 列出服务 | GET /v1/services | services:read | 项目与光标 |
| 阅读地点 | GET /v1/locations | catalogue:read | 地区元数据 |
| 阅读套餐 | GET /v1/plans | catalogue:read | 容量、周期与兼容性 |
| 创建服务请求 | POST /v1/services | services:write | 已接受的请求和当前状态 |
| 阅读发票 | GET /v1/billing/invoices/{id} | billing:read | 总计与支付状态 |
限制和有用的错误封装
拟议的账户级速率限制为每分钟 60 次读取和每分钟 20 次写入,突发允许量为这些值的两倍。被拒绝的请求返回 HTTP 429 并带有 Retry-After;自动化应按照指示等待并应用退避。错误应包含稳定的代码、人类可读的消息和 request_id,并移除敏感细节。
{
"error": {
"code": "unsupported_location",
"message": "This plan is not listed in that region.",
"request_id": "req_example"
}
}事件、签名和安全重试
准备好的 webhook 模型涵盖发票付款、服务就绪、暂停和工单更新。投递应带有事件 ID 和时间戳,并使用私有签名密钥对原始请求正文检查 HMAC-SHA256 签名。拒绝过期或无效签名,对事件 ID 去重,并仅在事件被持久接受后确认。消费者必须容忍乱序和重复投递。
在更改合同前对其进行版本管理
提议的 API 路径包含其主版本。增量更改应保留现有客户端;不兼容的更改需要新版本,并为旧版本提供六个月的退役通知。可用性、SDK 和生产 API 主机只能在集成和安全审查后发布。
已实施的支付边界
账户应用程序具有固定地址支付请求和会过期的服务器 USD 报价。交易观察是仅限服务器的可信集成;没有公共确认端点、已连接的区块链监控或配置工作进程。浏览器轮询读取已登录客户现有的支付状态,无法证明交易。上面说明性的公共 API 和 webhook 契约仍属于未来设计工作。
- 在服务器上保护速率与观测逻辑。
- 将重复使用的收款目的地与经过验证的交易和明确的订单参考关联起来。
- 将已支付和已配置分开;经过验证的交易不得创建虚构的硬件。
最后的实际检查。
- 分离只读令牌和写入令牌。
- 保留请求 ID,但不要记录机密或完整凭据。
- 将网络超时视为不确定结果;重试前先对账。
- 在更新订单前验证事件签名。
问题,已解答。
我今天可以针对 ombrahost.com 使用这些示例吗?
不。它们描述的是预备合同。此项目没有实时 API 源站、代币发行服务或 webhook 发送器。
网站是否包含可用的 Ombra CLI 或 SDK?
未声称提供 CLI 或 SDK。界面和账户工作流是独立于这一未来 API 设计实现的。