Table of Contents

Описание изменений REST API ПОЛИНОМ:MDM

Версия 23.3 → 24


Обзор изменений

В версии 24 добавлено 48 новых методов API, расширены модели данных и улучшена работа с сортаментами, материалами, документами и свойствами объектов.


Новые методы API

1. AllPartSizes (Размеры изделий)

Метод API HTTP-метод Описание
/api/v1/all-part-sizes/is-available POST Проверка наличия вкладки "Все размеры" у группы объектов
/api/v1/all-part-sizes/get-class-info POST Получение информации о классе изделий

2. AssortmentInstances (Экземпляры сортаментов)

Метод API HTTP-метод Описание
/api/v1/assortment-instances/get POST Получение экземпляров сортамента по материалу и типоразмеру
/api/v1/assortment-instances/count POST Подсчёт количества экземпляров сортамента
/api/v1/assortment-instances/create POST Создание экземпляра сортамента

3. Assortments (Сортаменты)

Метод API HTTP-метод Описание
/api/v1/assortments/get-by-material POST Получение сортаментов по материалу
/api/v1/assortments/get-path POST Получение пути к каталогу сортаментов
/api/v1/assortments/link-to-materials POST Установка связи между сортаментом и материалами
/api/v1/assortments/create POST Создание сортамента в указанной группе

4. ClassificationObject (Объекты классификации)

Метод API HTTP-метод Описание
/api/v1/classification-object/update-class-id POST Изменение идентификатора класса у каталога или группы
/api/v1/classification-object/get-access-rights POST Получение прав для элементов классификации
/api/v1/classification-object/get-multi-classification-paths POST Получение путей множественной классификации объекта
/api/v1/classification-object/get-multi-classification-elements POST Получение оригинального элемента и его множественных классификаций

5. Concept (Понятия)

Метод API HTTP-метод Описание
/api/v1/concept/get-concept-as-own POST Получение понятия для назначения как собственного
/api/v1/concept/create POST Создание нового понятия

6. Document (Документы)

Метод API HTTP-метод Описание
/api/v1/document/get-template POST Получение шаблона для заполнения свойств документа
/api/v1/document/create-with-values POST Создание документа с параметрами
/api/v1/document/link-document-owners POST Привязка документа к владельцам
/api/v1/document/unlink-document-owners POST Отвязка документа от владельцев

7. Element (Элементы)

Метод API HTTP-метод Описание
/api/v1/element/get-link-def-end-for-sort-mat POST Получение конца определения связи для материала/сортамента
/api/v1/element/create-with-values POST Создание элемента с параметрами

8. Favorites (Избранное)

Метод API HTTP-метод Описание
/api/v1/favorites/get-by-id POST Получение избранного элемента по ID
/api/v1/favorites-catalog/get-by-id POST Получение каталога избранного по ID

9. Login (Авторизация)

Метод API HTTP-метод Описание
/api/v1/login/current-storage-info GET Получение данных о текущем хранилище

10. Materials (Материалы)

Метод API HTTP-метод Описание
/api/v1/materials/get-by-assortment POST Получение материалов по сортаменту
/api/v1/materials/get-path POST Получение пути к каталогу материалов
/api/v1/materials/link-to-assortments POST Установка связи между материалом и сортаментами
/api/v1/materials/create POST Создание материала в указанной группе

11. PropertyOwner (Владельцы свойств)

Метод API HTTP-метод Описание
/api/v1/property-owner/get-by-id POST Получение владельца свойств по ID
/api/v1/property-owner/add-table-property-row POST Добавление строки в табличное свойство
/api/v1/property-owner/remove-table-property-row POST Удаление строки из табличного свойства
/api/v1/property-owner/replace-table-property-row POST Изменение позиции строки в табличном свойстве
/api/v1/property-owner/set-table-property-values POST Установка значений свойств таблицы

12. RestrictedList (Ограничительные перечни)

Метод API HTTP-метод Описание
/api/v1/restricted-list/get-by-group-property-owner POST Получение ограничительных перечней владельца свойств

13. Search (Поиск)

Метод API HTTP-метод Описание
/api/v1/search/get-compability-elements POST Получение совместимых элементов

14. StandardSizes (Типоразмеры)

Метод API HTTP-метод Описание
/api/v1/standard-sizes/get-by-assortment POST Получение типоразмеров по сортаменту
/api/v1/standard-sizes/get-path POST Получение пути к группе типоразмеров
/api/v1/standard-sizes/get-defined-dimensions POST Получение списка свойств определяемых размеров
/api/v1/standard-sizes/create-template POST Создание шаблона типоразмера
/api/v1/standard-sizes/get-template POST Получение шаблона типоразмера
/api/v1/standard-sizes/update-template POST Редактирование шаблона типоразмера
/api/v1/standard-sizes/create POST Создание типоразмера для сортамента

15. Storage (Хранилище)

Метод API HTTP-метод Описание
/api/v1/storage/get-storage-settings POST Получение настроек хранилища
/api/v1/storage/set-storage-settings POST Установка настроек хранилища

16. Tree (Деревья)

Метод API HTTP-метод Описание
/api/v1/tree/get-scope-classification-filter-items POST Получение элементов фильтра для областей фильтрации

17. Viewpoint (Представления)

Метод API HTTP-метод Описание
/api/v1/viewpoint/get-template POST Получение шаблона для заполнения свойств представления
/api/v1/viewpoint/create-with-values POST Создание представления с параметрами
/api/v1/viewpoint-catalog/get-by-id POST Получение каталога представлений по ID

Изменения в моделях данных

1. IAssortmentInstance (Новая модель)

{
  "name": "string",
  "iconCode": "integer",
  "iconColor": "integer",
  "writeAccess": "boolean",
  "applicability": "enum",
  "id": "string",
  "objectId": "integer",
  "typeId": "enum",
  "path": ["INamedObject"],
  "ownerGroup": "IIdentifiableObject",
  "isMaterial": "boolean",
  "isAssortmentInstancesOwner": "boolean",
  "hasParts": "boolean",
  "designationPrefix": "string",
  "designationUpperPart": "string",
  "designationLowerPart": "string",
  "designationPostfix": "string"
}

Описание: Экземпляр сортамента с информацией о обозначении и принадлежности к материалам.


2. ICreateAssortmentInstanceRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "material": "IIdentifiableObject",
  "standardSize": "IIdentifiableObject",
  "assortmentInstanceData": "ICreateElementWithValuesRequest"
}

Описание: Запрос создания экземпляра сортамента с привязкой к материалу и типоразмеру.


3. ICreateAssortmentRequest (Новая модель)

{
  "material": "IIdentifiableObject",
  "assortmentGroup": "IIdentifiableObject",
  "assortmentDocument": "IIdentifiableObject",
  "standardSpecificationsDocument": "IIdentifiableObject",
  "addedOwnConcepts": ["IIdentifiableObject"],
  "properties": ["IPropertyValueItem"],
  "propertyValues": "IAblePropertyValuesRequest"
}

Описание: Запрос создания сортамента с документами и свойствами.


4. IGetClassInfoResponse (Новая модель)

{
  "name": "string",
  "description": "string",
  "image": "IImagePropertyValue"
}

Описание: Информация о классе изделий с изображением.


5. IUpdateClassIdRequest (Изменена)

Версия 23.3: Отсутствует Версия 24:

{
  "objectId": "integer",
  "typeId": "enum",
  "classId": "string",
  "changeIdsForExistingObjects": "boolean"
}

Описание: Запрос изменения идентификатора класса с опцией обновления существующих объектов.


6. IAppointedConcept (Расширена)

Добавлены поля:

  • isPredefined (boolean) - Признак предопределённого понятия
  • isInherited (boolean) - Признак наследования от вышестоящих групп

7. IConceptPropertySource (Расширена)

Добавлены поля:

  • isInherited (boolean) - Признак наследования источника свойства

8. IPropertyOwnerResponse (Расширена)

Добавлено поле:

  • propertyOwner (IPropertyOwnerRef) - Ссылка на владельца свойств

9. ISetPropertyValuesRequest (Изменена)

Версия 23.3:

{
  "owner": "IIdentifiableObject",
  "properties": ["IPropertyValueItem"],
  "addedOwnConcepts": ["IIdentifiableObject"],
  "deletedOwnConcepts": ["IIdentifiableObject"],
  "deletedOwnProperties": ["IIdentifiableObject"],
  "deletedDynamicProperties": ["IIdentifiableObject"],
  "values": "IAblePropertyValuesRequest"
}

Версия 24:

{
  "owner": "IIdentifiableObject",
  "properties": ["IPropertyValueItem"],
  "values": "IAblePropertyValuesRequest"
}

Изменение: Удалены поля для массового удаления концептов и свойств.


10. ITableValue (Изменена)

Версия 23.3:

{
  "columns": ["IIdentifiableObject"],
  "rows": ["ITablePropertyRow"]
}

Версия 24:

{
  "rows": ["ITablePropertyRow"]
}

Изменение: Удалено поле columns из значения таблицы.


11. ILinkDefinition (Изменена)

Версия 23.3:

{
  "multiplicity": "LinkDefinitionMultiplicity",
  "direction": "LinkDefinitionDirection"
}

Версия 24:

{
  "direction": "LinkDefinitionDirection"
}

Изменение: Удалено поле multiplicity из определения связи.


12. ILinkScopeTreeNode (Изменена)

Версия 23.3:

{
  "direction": "LinkDefinitionDirection"
}

Версия 24:

{
  "direction": "LinkDefinitionDirection",
  "thisEndName": "string",
  "otherEndName": "string"
}

Изменение: Добавлены имена концов связи.


13. IRestrictedListGroupPropertyOwnerItem (Изменена)

Версия 23.3:

{
  "restrictedList": "INamedObject",
  "groupPropertyOwner": "INamedObject"
}

Версия 24:

{
  "restrictedList": "IIdentifiableObject",
  "groupPropertyOwner": "IIdentifiableObject"
}

Изменение: Тип изменён с INamedObject на IIdentifiableObject.


14. IGetStandardSizesRequest (Новая модель)

{
  "pageNumber": "integer",
  "pageSize": "integer",
  "assortment": "IIdentifiableObject",
  "material": "IIdentifiableObject",
  "filterString": "string",
  "filterMode": "enum",
  "onlyWithAssortments": "boolean"
}

Описание: Запрос получения типоразмеров с фильтрацией по материалу.


15. IStandardsizeDesignationTemplate (Новая модель)

{
  "properties": ["IStandardsizeTemplateProperties"]
}

Описание: Шаблон обозначения типоразмера.


16. IStandardsizeTemplateProperties (Новая модель)

{
  "objectId": "integer",
  "typeId": "enum",
  "unit": "IIdentifiableObject",
  "prefix": "string",
  "isEnabled": "boolean"
}

Описание: Свойство шаблона типоразмера с единицей измерения и префиксом.


17. IStorageSettingsResponse (Новая модель)

{
  "allowDuplicateNames": "CanDo"
}

Описание: Настройки хранилища с возможностью дублирования имён.


18. ISetStorageSettingsRequest (Новая модель)

{
  "allowDuplicateNames": "CanDoOptional"
}

Описание: Запрос установки настроек хранилища.


19. IGetAssortmentInstancesRequest (Новая модель)

{
  "material": "IIdentifiableObject",
  "standardSize": "IIdentifiableObject"
}

Описание: Запрос получения экземпляров сортамента.


20. IGetAssortmentRequest (Новая модель)

{
  "material": "IIdentifiableObject",
  "filterString": "string"
}

Описание: Запрос получения сортаментов по материалу.


21. IGetMaterialRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "filterString": "string"
}

Описание: Запрос получения материалов по сортаменту.


22. ILinkMaterialsRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "materials": ["IIdentifiableObject"],
  "standardSpecificationsDocument": "IIdentifiableObject"
}

Описание: Запрос связи материалов и сортаментов.


23. ILinkAssortmentsRequest (Новая модель)

{
  "material": "IIdentifiableObject",
  "assortments": ["IIdentifiableObject"],
  "standardSpecificationsDocument": "IIdentifiableObject"
}

Описание: Запрос связи материала и сортаментов.


24. ICreateMaterial (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "materialGroup": "IIdentifiableObject",
  "materialDocument": "IIdentifiableObject",
  "standardSpecificationsDocument": "IIdentifiableObject",
  "addedOwnConcepts": ["IIdentifiableObject"],
  "properties": ["IPropertyValueItem"],
  "propertyValues": "IAblePropertyValuesRequest"
}

Описание: Запрос создания материала.


25. ICreateStandardsizeRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "standartsizeValue": "ICreateElementWithValuesRequest"
}

Описание: Запрос создания типоразмера.


26. ICreateStandardsizeTemplateRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "standardsizeDesignationTemplate": ["IStandardsizeTemplateProperties"],
  "removeLeadingPrefix": "boolean"
}

Описание: Запрос создания шаблона типоразмера.


27. IUpdateStandardSizeTemplateRequest (Новая модель)

{
  "assortment": "IIdentifiableObject",
  "standardsizeDesignationTemplate": ["IStandardsizeTemplateProperties"],
  "removeLeadingPrefix": "boolean"
}

Описание: Запрос обновления шаблона типоразмера.


28. IGetLinkedElementsLocationsRequest (Изменена)

Версия 23.3: Отсутствует Версия 24:

{
  "elementLocation": "string",
  "linkDefCode": "string"
}

Описание: Запрос получения расположений связанных элементов.


29. IIdentifiableObject (Без изменений)

{
  "objectId": "integer",
  "typeId": "enum"
}

Описание: Базовый идентифицируемый объект.


30. IdentifiableObjectType (Расширен)

Добавлены новые типы объектов:

  • Типы для работы с сортаментами и материалами
  • Типы для ограничительных перечней
  • Типы для настроек хранилища

Удалённые и перемещённые методы API (версия 23.3 → 24)

Метод API HTTP-метод Причина изменения
/api/v1/common/get-storage-settings POST Перемещён в /api/v1/storage/get-storage-settings
/api/v1/common/set-storage-settings POST Перемещён в /api/v1/storage/set-storage-settings
/api/v1/common/update-class-id POST Перемещён в /api/v1/classification-object/update-class-id
/api/v1/element/get-assortment-instances POST Перемещён в /api/v1/assortment-instances/get
/api/v1/element/get-assortments POST Перемещён в /api/v1/assortments/get-by-material
/api/v1/element/get-materials POST Перемещён в /api/v1/materials/get-by-assortment
/api/v1/element/get-standard-sizes POST Перемещён в /api/v1/standard-sizes/get-by-assortment
/api/v1/favorites/get-by-id POST Восстановлен в версии 24
/api/v1/favorites-catalog/get-by-id POST Восстановлен в версии 24
/api/v1/login/current-storage-info GET Восстановлен в версии 24
/api/v1/property-owner/get-by-id POST Восстановлен в версии 24
/api/v1/search/get-compability-elements POST Восстановлен в версии 24
/api/v1/viewpoint-catalog/get-by-id POST Восстановлен в версии 24

Изменения в описаниях методов

Document.Update

Версия 23.3: "Создаёт новый документ" Версия 24: "Обновляет документ"

Element.Update

Версия 23.3: "Создаёт новый документ" Версия 24: "Редактирует элемент"

Viewpoint.Update

Версия 23.3: "Создаёт новый документ" Версия 24: "Обновляет представление"

PropertyOwner.SetPropertyValues

Версия 23.3: "Устанавливает значения свойств владельца свойств" Версия 24: "Устанавливает значения свойств владельца свойств (свойства не связанные и не вычисляемые по формуле)"


Изменения в безопасности

Определения безопасности (Security Definitions)

Без изменений — используется JWT-авторизация со схемой Bearer.


Статистика изменений

Категория Количество
Новых методов API 48
Удалённых и перемещённых методов API 13
Новых моделей данных 27
Изменённых моделей данных 10
Изменённых описаний методов 4

Критические изменения (Breaking Changes)

  1. Перемещение методов. Некоторые методы перемещены из модуля Common и Element в специализированные модули.
  2. Изменение ISetPropertyValuesRequest. Удалены поля для массового удаления.
  3. Изменение ITableValue. Удалено поле columns.
  4. Изменение ILinkDefinition. Удалено поле multiplicity.

Рекомендации по миграции

  1. Обновите адреса методов согласно новой структуре.
  2. Пересмотрите использование ISetPropertyValuesRequest — удалите поля удаления.
  3. Обновите работу с таблицами — поле columns больше не возвращается в ITableValue.
  4. Используйте новые методы API для работы с сортаментами и материалами.
  5. Обновите обработку ошибок для новых типов объектов в IdentifiableObjectType.