SDK-системы: инструменты интеграции
SDK предоставляет набор инструментов и API для интеграции и кастомизации системы, позволяющий работать с её функционалом без необходимости доступа к исходному коду.
Основу SDK составляют три ключевых компонента:
Набор объектов;
TypeScript-типы;
Автоматически генерируемая документация.
Набор объектов
Объекты для работы включают в себя классы, их экземпляры, функции и константы, которые экспортируются из различных модулей системы. Все эти элементы доступны разработчикам через глобальный объект window и предоставляют публичные API для интеграционных решений.
TypeScript-типы
TypeScript-типы обеспечивают строгую типизацию всех экспортируемых объектов. Они содержат встроенную документацию с описанием назначения каждого элемента, а также специальные пометки, указывающие на устаревшие функции, сроки прекращения их поддержки и рекомендуемые альтернативы. Это позволяет разработчикам сразу видеть актуальные способы работы с API.
Автоматически генерируемая документация
Автоматически генерируемая документация создаётся на основе TypeScript-типов, что гарантирует её полное соответствие текущей версии API. Документация включает не только технические описания, но и практические примеры использования.
Основным механизмом расширения функциональности приложения посредством SDK являются User Exits.
User-exits (точки расширения)
User Exits — это предопределенные точки расширения, позволяющие безопасно модифицировать поведение системы. Данный механизм реализует паттерн Extension Point. Точки расширения выступают мостом между ядром системы и кастомными расширениями, обеспечивая безопасное добавление пользовательских интерфейсов или бизнес-логики без доступа к исходному коду и нарушения целостности приложения.
Перечень точек расширения доступен в интерактивном руководстве кастомизации.
Регистрация User-exits возможна путем:
Предоставляемого SDK сервиса регистрации UE
Добавления пути к файлу с реализацией UE в файл пользовательской конфигурации

Безопасность и контроль:
Строгая типизация гарантирует, что расширения соответствуют ожидаемым параметрам и структуре данных
Декларация метода
resolve
c передачей в него определенных параметров внутри интерфейса User exit дает инструмент для разработчика управлять активностью создаваемой имплементации User Exit