MTB ESB Documentation

Запрос и дизайн API

Какие решения нужно принять до создания API в Publisher.

Запрос и дизайн API

Новый API начинается с описания результата для Consumer. Детали WSO2, Kafka и адаптера уточняются после того, как понятны use case, контракт и ожидаемое поведение.

Паспорт API

ПолеСодержание
НазначениеЧто Consumer сможет сделать через API
OwnerКто принимает продуктовые и lifecycle-решения
ConsumersВнутренняя система, партнёр или пользовательский канал
OperationsResources и HTTP methods
FlowDirect, async или orchestrated
BackendЦелевая система и adapter owner
SecurityAuthentication, scopes, TLS/mTLS
TrafficСредняя, пиковая нагрузка и burst pattern
ReliabilityTimeout, retry, idempotency и callback
DataКлассификация и чувствительные поля

Выбор flow

  • Direct — одна логически завершённая операция и один основной backend.
  • Async — результат приходит позже, Consumer поддерживает callback.
  • Orchestrated — требуется несколько шагов, систем, ветвление или компенсация.

Подробные критерии находятся в Интеграционных потоках.

Описать бизнес-поведение

Документируйте:

  1. предусловия;
  2. основной успешный сценарий;
  3. side effects и state transitions;
  4. downstream calls;
  5. ошибки и отказоустойчивое поведение;
  6. правила повторного запроса;
  7. результат, видимый Consumer.

Пишите для production incident

Описание должно позволить инженеру понять реальное поведение операции ночью во время инцидента: что уже могло выполниться, что безопасно повторить и где искать результат.

HTTP semantics

МетодТипичное назначение
GETПолучение данных без изменения состояния
POSTСоздание ресурса или запуск операции
PUTПолная идемпотентная замена ресурса
PATCHЧастичное изменение
DELETEУдаление или деактивация

HTTP method не определяет sync/async route автоматически. Например, POST может вернуть результат синхронно или только принять асинхронную операцию.

Definition of Ready

API готов к реализации, когда:

  • назначены API Owner и technical owner;
  • согласованы Consumer и resources;
  • выбран flow;
  • описаны request, response и errors;
  • определены security и scopes;
  • согласованы idempotency, timeout и retry;
  • известны backend и adapter dependencies;
  • определены NFR и acceptance criteria.

On this page