Сущность

Операции доступные через API

REST API

Все элементы

Чтение метаданных

URL: api/item/get/{itemId}
Метод: POST
Описание: получить информацию об элементе по ID элемента
Входные параметры:
itemId: Guid - ID элемента списка
Выходные параметры:
json объект:

{
    id: Guid -  ID элемента
    siteId: Guid -  ID сайта
    listId: Guid -  ID списка
    parentId: Guid -  ID родительского элемента
    itemPath: ItemPath -  путь до элемента + количество дочерних элементов
    сontentTypeId - ID типа контента элемента
    fieldValueMap - объект ключ-значение. Ключ - internalName поля, значение - значение этого поля в элементе
}

Создание/изменение

URL: api/item/update
Метод: POST
Описание: Создать/обновить элемент списка (или массив элементов)
Входные параметры:
multipart/form-data

itemListJson - строка, сериализованный в json массив элементов ItemUpdateRequest

{
    list_id: Guid - ID списка, элемент которого нужно создать (обязательное)
    content_type_id: Guid - ID типа контента элемента (обязательное при создании элемента).
    parent_id: Guid - ID родительского элемента.
   ...поля типа контента элемента, которые нужно изменить, например:
    name: "новое имя"
}

Удаление

URL: api/item/delete
Метод: POST
Описание: Удалить элемент (массив элементов)
Входные параметры:
itemListJson - строка, сериализованный в json массив элементов

[
    {
        id : Guid - ID первого удаляемого элемента
    },
    {
        id : Guid - ID второго  удаляемого элемента
    },
    ...
]

Установить уникальные права доступа к элементу

URL: api/security/setItemUniquePermission/{itemId}
Метод: POST

Описание: Прервать наследование прав/ установить уникальные права доступа к элементу

Входные параметры:
itemId - ID элемента

Удалить уникальные права доступа к элементу

URL: api/security/removeItemUniquePermission/{itemId}
Метод: POST

Описание: Восстановить наследование прав/ Удалить уникальные права доступа к элементу

Входные параметры:
itemId - ID элемента

Назначение прав доступа к элементу пользователю или группе

URL: api/item/update
Метод: POST
Описание: Задать права пользователю на элемент с уникальными правами. Задание прав происходит путем создания элемента «Разрешение пользователя» в списке «Разрывы прав».
Входные параметры:
multipart/form-data

  itemListJson - строка, сериализованный в json массив элементов ItemUpdateRequest

{

  list_id: Guid -  ID списка «Разрывы прав» (обязательное) ,

  content_type_id: Guid – ID типа элемента «Разрешение пользователя» (обязательное),

  source: Guid -  ID элемента, для которого задаются права (обязательное),

  principal: Guid -  ID пользователя или группы (обязательное),

  permission_level: Guid -  ID уровня доступа (обязательное)

}

Списки

Чтение метаданных

URL: api/list/get/{listId}

Метод: POST

Описание: получить информацию о списке по ID списка

Входные параметры:

listId: Guid - ID списка

Выходные параметры:

json объект

List

{

    id: Guid -  ID списка

    name: string - Название списка

    description: string  - описание списка

}

Элементы списка

URL: api/item/getList/{parentId}
Метод: POST
Описание: получить информацию о всех дочерних элементах по ID родительского элемента
Входные параметры:
parentId - ID родительского элемента (ID списка или ID папки внутри списка)
Выходные параметры:
json объект:

Типы элементов списка

URL: api/contenttype/getByList/{listId}

Метод: POST

Описание: получить информацию о типах контента списка по ID списка

Входные параметры:

listId: Guid - ID списка

Выходные параметры:

json объект

ContentType[] - массив типов контента списка

ContentType

{

    id: Guid -  ID типа контента

    name: string - Название типа контента

    description: string  - описание типа контента

    isFolder: boolean - могут ли элементы этого типа контента содержать в себе дочерние элементы

    fieldList: Field[] - массив полей, которые привязаны к типу контента

}

Папки / элементы

Перемещение

URL: api/item/move/{itemId}/{toItemId}/{moveItemType}
Метод: POST
Описание: Переместить элемент
Входные параметры:

itemId - ID перемещаемого элемента
toItemId - ID элемента назначения
moveItemType - тип перемещения:
1 - выше элемента назначения
2 - в конец дочерних элементов элемента назначения
3 - ниже элемента назначения

Файлы


Создание

URL: api/item/update
Метод: POST
Описание: Создать/обновить элемент списка (или массив элементов)
Входные параметры:
multipart/form-data

    itemListJson - строка, сериализованный в json массив элементов ItemUpdateRequest
    fileList - двоичные данные - массив файлов (экземпляр File)

{
    id: Guid -  ID обновляемого элемента. Если создается новый элемент, то это поле не указывается (не обязательное)
    list_id: Guid - ID списка, элемент которого нужно обновить (обязательное)
    content_type_id: Guid - ID типа контента элемента. Указывается только при создании или при изменении типа контента существующего элемента (не обязательное)
    parent_id: Guid - ID типа родительского элемента. Указывается только при создании или при изменении родителя существующего элемента (не обязательное)
    file: int - ID тела файла, индекс из массива fileList . Указывается только при добавлении тела файла или при изменении тела существующего файла (не обязательное)
   ...поля типа контента элемента, которые нужно изменить, например:
    name: "новое имя"
}

Получить список версий файла

URL: api/fileversion/get/{sourceId}

Метод: POST

Описание: получить список версий файла по ID файла

Выходные параметры:

массив – список версий файла

Скачивание файла

URL: api/file/getbyitemid/{itemId}/{version}
Метод: GET
Описание: получить файл по ID элемента списка
Входные параметры:
itemId: Guid - ID элемента списка

version: имя версии файла (0.1, 1.0, 1.1, …)
Выходные параметры: тело файла

Бизнес-процессы

Создание бизнес-процесса

URL: api/item/update
Метод: POST
Описание: Создать/обновить бизнес-процесс
Входные параметры:
multipart/form-data


itemListJson - строка, сериализованный в json массив элементов ItemUpdateRequest


{

  list_id: Guid – ID списка «Процессы»,

  content_type_id: Guid – ID типа элемента запускаемого процесса,

  name: Наименование создаваемого процесса,

  start_date_plan:дата и время запуска процесса в формате "YYYY-MM-DDThh:mm:ss[.f{1,7}]<TZDSuffix>",

  importance: Guid – ID уровня важности процесса из списка «Важность»,

  workflow_template: Guid – ID шаблона проесса из списка «Шаблоны процессов»,

  ...

  … (поля типа контента процесса, которые нужно изменить),

  reference_list: список вложений рабочего процесса

  [

    {

      content_type_id: Guid – ID типа элемента «Вложение рабочего процесса» из списка «Типы контента»,

      destination: Guid – ID элемента, вкладываемого в процесс

    },

  ]

}

Запуск бизнес-процесса

URL: workflow/api/workflow/start/{processId}

Метод: POST
Описание: Запустить бизнес-процесс

Входные параметры:

processId - Guid – ID запускаемого процесса

Вход в систему

Получение токена

URL: api/user/login
Метод: POST
Описание: Авторизация
Входные параметры:
json объект

{

  "UserName": "логин",

  "Password": "пароль"

}
Ответ: токен пользователя

(Токен пользователя передается в заголовке Authorization)



  • No labels