Стол разработчика

Соберите собственную панель управления

Подготовленный контракт API для будущей плоскости управления: ресурсы, области действия, лимиты и обработка событий.

Обзор деталей

Контент пересмотрен · Русский

Кратко
Состояние договора
Подготовлено, но не обслуживается
Лимит чтения
60 / минута

Предлагаемый лимит всплеска ×2.

Лимит записи
20 / минута

Предлагаемый лимит всплеска ×2.

Вывод версии из эксплуатации
6 месяцев уведомления

Предлагаемое окно устаревания.

ПОЛЕЗНАЯ ЧАСТЬ

Держите это в поле зрения.

  • За этой страницей нет работающего источника API или функционирующего SDK.
  • Отделите чтение ресурсов от изменений с помощью областей минимальных привилегий.
  • Используйте идемпотентные запросы и подписанные события перед автоматизацией выставления счетов или доставки.
01

Начните с небольшой стабильной модели ресурсов

Предлагаемый контракт версии один разделяет ресурсы каталога и ресурсы учётной записи. Локации и планы поддерживают конфигурацию. Услуги представляют принятые конфигурации и состояние выполнения. Биллинг содержит счета и состояние оплаты. Обращения поддерживают отслеживаемую переписку с поддержкой. Веб-сайт реализует собственные формы и рабочее пространство; приведённые ниже примеры — это проектный контракт, а не маршруты к публичному API.

02

Учётные данные принадлежат области

Подготовленная модель аутентификации использует Bearer-токен в заголовке Authorization. Области только для чтения каталога или сервиса не должны позволять создавать, пересобирать или отменять услугу. Области записи требуют отдельного решения и пути отзыва. Храните учётные данные в приватной среде сервера и никогда не встраивайте секретный токен в страницу или браузерный бандл.

Подготовленная форма запроса · нет работающего хостаПроверьте для своей среды
GET /v1/services
Authorization: Bearer <private-token>
Accept: application/json

# Proposed scope: services:read
03

Пять иллюстративных операций

Используйте стабильный идентификатор для каждого ресурса и ID запроса для поддержки. Изменяющие вызовы должны принимать ключ идемпотентности, чтобы повтор можно было согласовать, а не создавать ещё один заказ.

Подготовленная полезная нагрузка созданияПроверьте для своей среды
POST /v1/services
Idempotency-Key: <one-key-per-request>

{
  "plan_id": "umbra-1",
  "location": "iceland",
  "billing_cycle": "monthly",
  "image": "Ubuntu"
}
Подготовленные операции, а не активные конечные точки
ОперацияИллюстративный запросТребуемый объёмРезультат
Перечислите службыGET /v1/servicesservices:readЭлементы и курсор
Прочитать локацииGET /v1/locationscatalogue:readРегиональные метаданные
Изучить тарифыGET /v1/planscatalogue:readЁмкость, циклы и совместимость
Создайте запрос на обслуживаниеPOST /v1/servicesservices:writeПринятый запрос и текущее состояние
Прочитать счётGET /v1/billing/invoices/{id}billing:readИтог и состояние оплаты
04

Лимиты и полезный конверт ошибок

Предлагаемые ограничения скорости на уровне учётной записи составляют 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"
  }
}
05

События, подписи и безопасные повторные попытки

Подготовленная модель вебхуков охватывает оплату счёта, готовность услуги, приостановку и обновления тикетов. Доставка должна иметь идентификатор события и временную метку с подписью HMAC-SHA256, проверяемой по исходному телу запроса с использованием приватного секрета подписи. Отклоняйте устаревшие или недействительные подписи, устраняйте дублирование идентификаторов событий и подтверждайте только после надёжного принятия события. Потребители должны допускать доставку в неправильном порядке и повторную доставку.

06

Версионируйте контракт перед его изменением

Предлагаемый путь API включает его основную версию. Дополнительные изменения должны сохранять существующих клиентов; несовместимые изменения требуют новой версии и шестимесячного уведомления о выводе старой. Доступность, SDK и производственный хост API должны публиковаться только после интеграции и проверки безопасности.

07

Реализованная граница платежей

Приложение учётной записи имеет запросы на оплату по фиксированному адресу и истекающие котировки сервера USD. Наблюдение за транзакциями — это доверенная интеграция только на стороне сервера; нет публичной конечной точки подтверждения, подключённого монитора блокчейна или обработчика подготовки. Опрос из браузера читает существующее состояние оплаты вошедшего клиента и не может подтвердить транзакцию. Иллюстративный публичный API и контракт вебхука выше остаются будущей проектной работой.

  • Защитите логику ограничения частоты и наблюдения на сервере.
  • Связывайте повторно используемые адреса получения с проверенной транзакцией и явной ссылкой на заказ.
  • Держите оплаченное и предоставленное раздельно; подтверждённая транзакция не должна создавать фиктивное оборудование.
ПЕРЕД СЛЕДУЮЩИМ ШАГОМ

Последняя практическая проверка.

  • Разделяйте токены только для чтения и токены для записи.
  • Сохраняйте ID запроса, не записывая секреты или полные учётные данные.
  • Рассматривайте сетевой тайм-аут как неопределённый результат; сверьте данные перед повторной попыткой.
  • Проверяйте подписи событий перед обновлением заказа.
НЕМНОГО БОЛЬШЕ КОНТЕКСТА

Вопросы и ответы.

Могу ли я использовать эти примеры против ombrahost.com сегодня?

Нет. Они описывают подготовленный договор. У этого проекта нет работающего источника API, службы выпуска токенов или отправителя вебхуков.

Включает ли сайт работающий Ombra CLI или SDK?

CLI или SDK не заявлены. Интерфейс и рабочие процессы аккаунта реализованы отдельно от этого будущего дизайна API.