{ "id": "ShariXKnowledgeOpenKnowledgeIntegrationsApiversions", "page": "sharixopen:knowledge:integrations:api_versions", "area": "open", "type": "reference", "title": "API-контракты: версионирование и источники", "status": "review", "schema_version": 1, "relations": { "related_to": [ "ShariXKnowledgeOpenKnowledgeIntegrationsArchitecture", "ShariXKnowledgeOpenKnowledgeArchitectureApicontracts", "ShariXKnowledgeOpenKnowledgeIntegrationsClientresolver" ] }, "extensions": { "taxonomy": { "domain": "reference", "lifecycle": "unspecified", "parents": [ "ShariXKnowledgeOpenKnowledgeIntegrationsStart" ], "terms": [] }, "glossary": [] }, "content_sha256": "0d8e5e526794bb4abc3e73d2382008d97aa0e3739f689b7d806d51c733efe298", "schema": 1 } ====== API-контракты: версионирование и источники ====== ~~NOCACHE~~ **Тип:** contract · **Статус:** сведения требуют сверки с действующей установкой; архитектурные правила сформулированы как целевой контракт. **Раздел:** [[sharixopen:knowledge:integrations:architecture|Интеграции Open: принцип локального владельца]] ===== Публичный договор ===== Клиент видит явно оговорённые endpoint, схемы payload, идентификаторы, права, ошибки и поддерживаемые версии. Одноимённый объект между сервисами не доказывает совпадение JSON-контракта. ===== Изменение ===== Backward compatibility проверяется фактическими потребителями (Open, Platform, Flutter, handlers); не удалять старое поле без deprecation и миграции. ===== Повтор ===== POST внешней операции должен иметь устойчивую идемпотентность и корреляцию, иначе сетевой timeout может породить дубликат заказа. ===== Связанные понятия ===== * [[sharixopen:knowledge:architecture:api_contracts|API и межмодульные контракты]] * [[sharixopen:knowledge:integrations:client_resolver|Platform client: транспорт, ошибки и idempotency]] ~~SHARIX_KNOWLEDGE_RELATED~~