Перейти к основному содержимому

Шаблон cross-domain интеграции

Когда использовать

Для файлов в integrations/<source>--<target>.md. Один файл — одна интеграционная линия.

Frontmatter

---
title: <Источник> → <Потребитель>
sidebar_label: <source>--<target>
sidebar_position: <число>
status: active | draft | deprecated
version: v1.0
updated: 2026-04-30
owners:
- <команда источника>
- <команда потребителя>
canonical: true
source_domain: <source>
target_domain: <target>
---

Структура

# <Источник> → <Потребитель>

## Зачем нужно

Какую задачу решает интеграция и почему она существует.

## Стороны

- источник истины: ...
- потребитель: ...
- вид интеграции: online read | event-driven | sync snapshot | domain command.

## Сущности и события

| Сущность/Событие | Назначение | Кто владеет |
|---|---|---|

## Контракт

### События

- `<message_type>` — payload (ссылка на DTO или JSON-схема, поля, типы).

### API-вызовы

- `<METHOD> <url>` — назначение, scope, request/response.

### Команды (если есть)

- `<command_event>` — параметры и idempotency.

## Идемпотентность и retry

- ключи идемпотентности;
- стратегия retries;
- DLQ.

## Ошибки и компенсации

| Ошибка | Поведение | Компенсация |
|---|---|---|

## Права и scopes

- какие service scopes используются;
- какие пользовательские permissions требуются.

## Retention

- сколько хранятся события и логи интеграции.

## Безопасность

- что считается PII;
- какие данные не передаются.

## Связанные ADR

- ADR-...

## Связанные документы

- `../domains/<source>/events.md`
- `../domains/<target>/events.md`

Правила

  • Один файл — одна линия. Не сваливать несколько потребителей в один файл (исключение — широковещательные события identity--all, platform--all).
  • Контракт payload описывается здесь либо ссылкой на DTO в api-contracts.md источника.
  • Удаление линии — только через ADR с переносом файла в archive/.