Zidium

Получение компонента по системному имени внутри родителя, при необходимости создание компонента

Это основной рекомендуемый метод получения конкретного компонента.
Метод ищет компонент с указанным системным именем рекурсивно внутри указанного родителя.
Если компонент не найден, он будет создан у родителя.
Таким образом, достигается уникальность системного имени внутри поддерева родителя.
В личном кабинете можно передвигать компонент в рамках родителя и всех его вложенных компонентов, компонент будет корректно найден этим методом.

Url запроса

АдресВашегоСервисаApi/GetOrAddComponent

Запрос
{
    "Token": {
        "SecretKey": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
    },
    "Data": {
        "ParentComponentId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "SystemName": "ComponentSystemName",
        "DisplayName": "ComponentDisplayName",
        "TypeId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "Version": "1.0.0.0",
        "Properties": [
            {
                "Name": "Property1",
                "Value": "10.0",
                "Type": "double"
            },
            ...
        ]
    }
}

Здесь:

  • Token — раздел с токеном авторизации. В нём:
    • SecretKey (string) — ключ доступа к Api, посмотрите в Личном кабинете в разделе Управление — Ключи доступа к Api
  • ParentComponentId (guid) — Уникальный Id компонента-родителя, в котором будет рекурсивно искаться компонент.
  • SystemName (string) — Системное имя, по которому будет искаться компонент.
  • DisplayName (string) — Отображаемое имя, с которым будет создан компонент, если его не удастся найти.
  • TypeId (guid) — Уникальный Id типа компонента, с которым будет создан компонент, если его не удастся найти.
  • Version (string) — Версия компонента.
  • Properties (array) — Массив дополнительных свойств компонента:
    • Name (string) — Название свойства.
    • Value — Значение свойства.
    • Type (string) — Тип свойства. Может быть одним из: Boolean, DateTime, Double, Int32, Int64, Binary, String, Guid.

Независимо от того, был ли компонент создан или уже существовал, его Версия и Дополнительные свойства будут обновлены на указанные.
Остальные параметры уже существующего компонента не поменяются.

Ответ
{
    "Data": {
        "Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "ParentId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "SystemName": "ComponentSystemName",
        "DisplayName": "ComponentDisplayName",
        "CreatedDate": "2016-04-30T23:25:43.511Z",
        "Version": "1.0.0.0"
        "Type": {
            "Id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            "SystemName": "ComponentTypeSystemName",
            "DisplayName": "ComponentTypeDisplayName",
            "IsSystem": false
        },
        "Properties": [
            {
                "Name": "Property1",
                "Value": "10.0",
                "Type": "double"
            },
            ...
        ]
    },
    "Code": 10
}

Здесь:

  • Id (guid) — Уникальный Id компонента.
  • ParentId (guid) — Уникальный Id компонента-родителя.
  • SystemName (string) — Системное имя компонента.
  • DisplayName (string) — Отображаемое имя компонента.
  • CreatedDate (datetime) — Дата и время создания компонента.
  • Version (string) — Версия компонента.
  • Type — Информация о типе компонента:
    • Id (guid) — Уникальный Id типа компонента.
    • SystemName (string) — Системное имя типа компонента.
    • DisplayName (string) — Отображаемое имя типа компонента.
    • IsSystem (bool) — Является ли тип компонента системным (общим для всех аккаунтов).
  • Properties (array) — Массив дополнительных свойств компонента:
    • Name (string) — Название свойства.
    • Value — Значение свойства.
    • Type (string) — Тип свойства. Может быть одним из: Boolean, DateTime, Double, Int32, Int64, Binary, String, Guid.