{ "id": "ShariXKnowledgeOpenKnowledgeArchitectureApicontracts", "page": "sharixopen:knowledge:architecture:api_contracts", "area": "open", "type": "reference", "title": "API и межмодульные контракты", "status": "review", "schema_version": 1, "relations": { "related_to": [ "ShariXKnowledgeOpenKnowledgeArchitectureSystemlayers", "ShariXKnowledgeOpenKnowledgeIntegrationsPlatformprofiles", "ShariXKnowledgeOpenKnowledgeModulesHandlers" ] }, "extensions": { "taxonomy": { "domain": "reference", "lifecycle": "unspecified", "parents": [ "ShariXKnowledgeOpenKnowledgeArchitectureStart" ], "terms": [] }, "glossary": [] }, "content_sha256": "0b8bafe7bbe900fcb7af0f9c9a8a3ec9ca3fc2b5149df0b59e881056e8931c55", "schema": 1 } ====== API и межмодульные контракты ====== ~~NOCACHE~~ **Тип:** contract · **Статус:** сведения требуют сверки с действующей установкой; архитектурные правила сформулированы как целевой контракт. **Раздел:** [[sharixopen:knowledge:architecture:system_layers|Слои архитектуры и разделение ответственности]] ===== Общие принципы ===== Внешние взаимодействия проходят через именованные API, адаптеры или события; прямое обращение к чужой ORM-модели запрещается. Контракт фиксирует инициатора, получателя, область метасервиса и идемпотентность. ===== Заказ и runtime ===== Общий API обеспечивает чтение и изменение базового состояния Order/Ticket. Детали Stage, Artifact и исполнителей хранятся в runtime и не расширяют без необходимости синхронизируемую таблицу Orders. ===== Platform и локальная работа ===== Клиент Platform выбирается через единый resolver: действующий профиль подключения, безопасный транспорт и явно описанное поведение в demo/offline. Исключение сетевого вызова не должно выдавать фиктивный факт размещения заказа. ===== Стабильность ===== Изменение API, codec, названия ''MENU_ALG'', идентичности Ticket или контракта обработчика требует анализа потребителей Open, Platform и мобильного клиента. Версионировать следует поддерживаемые внешние API, а не имена страниц wiki. ===== Связанные понятия ===== * [[sharixopen:knowledge:integrations:platform_profiles|Профили подключения к Platform и demo boundary]] * [[sharixopen:knowledge:modules:handlers|Обработчики, Blockly и граница выполнения]] ~~SHARIX_KNOWLEDGE_RELATED~~