# Ordinis НСИ ЦУОД ОДХ — Integrator Guide

Документация для команд, интегрирующих свои сервисы с Ordinis НСИ ЦУОД.
Сюда не входят operator runbooks и архитектурные deep-dives — те материалы
во внутренней документации проекта.

**Anchor v1 — production LIVE на cluster.142** (с 2026-05-07).
Альтум consumers подключены, blue/green cutover завершён.

## С чего начать

{% list tabs %}

- Я интегрирую свой сервис

  Начни с [обзора API](integration/api/index.md) и [авторизации](integration/api/auth.md).

  Дальше:
  - [Read-side endpoints](integration/api/read-endpoints.md) — как читать справочники
  - [События (Kafka outbox)](integration/api/events.md) — топики `ordinis.cuod.events.*`
  - [Webhooks](integration/api/webhooks.md) — push-уведомления вместо polling
  - [Кэширование](integration/api/caching.md) — TTL / push / snapshot стратегии

- Я строю UI / клиент

  - [Cross-references](integration/api/x-references.md) — FK между справочниками
  - [Bitemporal](integration/api/bitemporal.md) — `validFrom` / `validTo` + история
  - [Bundle cuod](integration/api/bundle-cuod.md) — список 40 справочников ЦУОД
  - [Best practices](integration/api/best-practices.md) — частые ошибки

- Я обрабатываю ошибки

  - [Ошибки и rate limits](integration/api/errors.md) — error codes, retry strategy
  - [Лучшие практики](integration/api/best-practices.md) — robust integration

- Я хочу пощупать API

  Открой [Swagger UI](https://ordinis.k8s.264.nstart.cloud/swagger-ui.html) —
  там можно нажать **Authorize** → войти через Keycloak (PKCE, без secret) →
  и сразу делать "Try it out" с реальным JWT. Authorization, error codes,
  schemas — всё через interactive UI.

{% endlist %}

## Среды

| Среда | URL | Auth | Назначение |
|---|---|---|---|
| **prod** | `https://ordinis.k8s.264.nstart.cloud/` | JWT обязателен | Real users |
| staging | `https://ordinis.k8s.265.nstart.cloud/` | optional (legacy mode) | Dev environment |
| local | `http://localhost:8080` | off | docker-compose dev |

## Поддержка

- Запросы новых ролей / scope в Keycloak: `zimin.an@nstart.space`
- Bug reports / feature requests: через issue tracker (запросить URL у Ordinis team)

## Версионирование

API стабилизирован под v1 — breaking changes только через major bump (`v2`). См.
[Best practices](integration/api/best-practices.md) для рекомендаций по
обработке появления новых полей в v1 (forward compatibility).

Bundle справочников ЦУОД versioned отдельно (`cuod-bundle:1.2.1`). Изменение
schemas — minor bump, добавление словарей — minor bump, удаление — major bump
(никогда без уведомления consumers через `record.closed` events).
