Перейти к основному содержимому

Evolutrix CRM Rest API | Automation (1.0.0)

Download OpenAPI specification:Download

Описание Rest API — методов для взаимодействия с серверной стороной модуля Storage.


Коллекция Postman со всеми методами.

Расширение ядра

Модуль расширяет некоторые API методы ядра системы. Ниже перечислены соответствующие изменения:

Диски

Описание методов для взаимодействия с дисками.

index

Возвращает список дисков.

Требуются права доступа:

  • FILE_SHOW
Authorizations:
BearerToken
query Parameters
page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинации).

sort_by
string
Default: "id"
Enum: "id" "title" "created_at" "updated_at"

Поле сортировки.

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

search
string

Произвольный текстовый запрос для поиска записей.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Создаёт новый диск.

Обязательность и структура параметра driver_data зависит от сервиса, на котором расположен диск:

  • Яндекс.Диск — При создании диска на базе сервиса Яндекс.Диск в параметр driver_data необходимо передать json-объект с полем key, содержащим OAuth-токен.
    Параметр client_id, необходимый для получения OAuth-токена, следует запросить у старшего разработчика EvolutrixCRM.

Требуются права доступа:

  • FILE_SHOW
  • DISK_STORE
Authorizations:
BearerToken
Request Body schema: application/json
required

Данные диска

title
required
string

Название диска

driver
required
string
Value: "yandex-disk"

Сервис, на котором расположен диск

driver_data
object

Параметры сервиса, на котором расположен диск

is_default
boolean

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

Responses

Request samples

Content type
application/json
{
  • "title": "Тестовый диск",
  • "driver": "yandex-disk",
  • "driver_data": {
    },
  • "is_default": false
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

show

Возвращает данные диска.

Требуются права доступа:

  • FILE_SHOW
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные не системного диска.

Требуются права доступа:

  • FILE_SHOW
  • DISK_STORE
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Request Body schema: application/json
required

Данные диска

title
required
string

Название диска

is_default
boolean

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

Responses

Request samples

Content type
application/json
{
  • "title": "Тестовый диск",
  • "is_default": false
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет не системный диск.

При удалении диска файлы, хранящиеся на нём, не удаляются, но становятся недоступны в EvolutrixCRM.

Требуются права доступа:

  • FILE_SHOW
  • DISK_DESTROY
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

show default

Возвращает null или данные диска, который установлен как диск по умолчанию.

Требуются права доступа:

  • FILE_SHOW
Authorizations:
BearerToken

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

sync

Синхронизирует файлы/директории с указанным внешним диском.

Синхронизация происходит в фоновом режиме, в качестве ответа возвращается объект фоновой задачи.

Если в запросе присутствует параметр directory_id - будет синхронизирована указанная директория (и её вложенные директории). В противном случае будет синхронизирована корневая директория диска (и её вложенные директории).

  • Файлы/директории, отсутствующие в базе данных Evolutrix CRM, но присутствующие на диске, будут добавлены в базу данных Evolutrix CRM.
  • Файлы/директории, присутствующие в базе данных Evolutrix CRM, но отсутствующие на диске, будут удалены из базы данных Evolutrix CRM.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
  • FILE_DESTROY
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Request Body schema: application/json
required

Данные директории для синхронизации

directory_id
integer

Идентификатор директории (файла), в которой необходимо произвести синхронизацию.

Responses

Request samples

Content type
application/json
{
  • "directory_id": 1
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

change provider data

Обновляет данные сервиса, на котором расположен не системный диск.

Структура параметра driver_data зависит от сервиса, на котором расположен диск:

  • Яндекс.Диск — При редактировании данных диска на базе сервиса Яндекс.Диск в параметр driver_data необходимо передать json-объект с полем key, содержащим OAuth-токен. Параметр client_id, необходимый для получения OAuth-токена, следует запросить у старшего разработчика EvolutrixCRM.

Требуются права доступа:

  • FILE_SHOW
  • DISK_STORE
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Request Body schema: application/json
required

Данные диска

driver_data
required
object

Параметры сервиса, на котором расположен диск

Responses

Request samples

Content type
application/json
{
  • "driver_data": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

Файлы

Описание методов для взаимодействия с файлами.

index

Возвращает список файлов.

Если указан параметр parent_id - вернутся только файлы, расположенные в корне указанной директории. В случае наличия в запросе параметров фильтрации (search, has_tags и т.д.) - вернутся файлы не только из корня указанной директории, но и из всех дочерних директорий (с учётом соответствия фильтру).

Параметр disk_id игнорируется, если в запросе присутствует параметр parent_id - в этом случае будут возвращены файлы, расположенные на диске указанной директории.

В данном методе действует ограничение на максимальное количество возвращаемых связей клиентов, а именно:

  • Возвращается не более 5 меток файла.

Требуются права доступа:

  • FILE_SHOW
Authorizations:
BearerToken
query Parameters
parent_id
integer

Идентификатор родительской директории (файла)

disk_id
integer

Идентификатор диска

page
integer

Номер страницы (для постраничной пагинации).

cursor
string

Курсор (для курсорной пагинации).

sort_by
string
Default: "id"
Enum: "id" "name" "extension" "created_at" "updated_at"

Поле сортировки.

descending
boolean

Флаг обратного направления сортировки.

per_page
integer
Default: 10
Enum: 10 25 50

Кол-во отображаемых записей на странице.

directories_only
boolean

Флаг необходимости возвращения только файлов, являющихся директориями.

search
string

Произвольный текстовый запрос для поиска записей.

has_tags
Array of integers

Массив идентификаторов меток, которые ДОЛЖНЫ быть у файла.

has_no_tags
Array of integers

Массив идентификаторов меток, которых НЕ ДОЛЖНО быть у файла.

Responses

Response samples

Content type
application/json
Example
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

store

Сохраняет файл на локальном диске. Для загрузки файла на внешний диск используйте create upload url.

При наличии в теле запроса параметра parent_id файл будет сохранён в указанной директории. В противном случае файл будет сохранён в корне локального диска.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
Request Body schema: multipart/form-data
required

Данные загружаемого файла

file
required
string <binary>

Загружаемый файл

parent_id
integer

Идентификатор директории (файла), в которую должен быть сохранён файл

Responses

Request samples

Content type
multipart/form-data
{
  "file": "file.pdf",
  "parent_id": 2
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

show

Возвращает данные файла.

Требуются права доступа:

  • FILE_SHOW
Authorizations:
BearerToken
path Parameters
fileId
required
integer

Идентификатор файла

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

update

Обновляет данные файла/не системной директории.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
path Parameters
fileId
required
integer

Идентификатор файла

Request Body schema: application/json
required

Данные файла

original_name
required
string

Название файла

description
string

Примечание к файлу

type_id
integer

Идентификатор типа файла

tags
Array of integers

Массив идентификаторов меток файла (Не более 50 меток)

Responses

Request samples

Content type
application/json
{
  • "original_name": "2024_04_17-11_40_22.png",
  • "description": "description",
  • "type_id": 8,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

destroy

Удаляет не системный файл/директорию.

Требуются права доступа:

  • FILE_SHOW
  • FILE_DESTROY
Authorizations:
BearerToken
path Parameters
fileId
required
integer

Идентификатор файла

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

move

Перемещает файл в новую дирректорию.

При отсутствующем параметре parent_id файл (директория) будет сохранён в корне диска, на котором он сохранён. При заполненном параметре parent_id файл (директория) будет сохранён в указанной директории. При попытке переместить файл в директорию на другом диске будет возвращена ошибка с кодом 400.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
path Parameters
fileId
required
integer

Идентификатор файла

Request Body schema: application/json
required

Данные файла

parent_id
integer

Идентификатор директории (файла), в которую должен быть сохранён файл (директория)

Responses

Request samples

Content type
application/json
{
  • "parent_id": 2
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

make dir

Создаёт директорию на указанном диске.

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

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
Request Body schema: application/json
required

Данные загружаемого файла

name
required
string

Название директории

parent_id
integer

Идентификатор директории (файла), в которую должна быть сохранена директория. Обязательный параметр при отсутствии параметра disk_id

disk_id
integer

Идентификатор диска, на который должна быть сохранена директория. Обязательный параметр при отсутствии параметра parent_id

Responses

Request samples

Content type
application/json
{
  • "name": "Новая папка 2",
  • "parent_id": 2,
  • "disk_id": 2
}

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

create upload url

Возвращает ссылку для загрузки файла на внешний диск и UUID для подтверждения статуса его загрузки.

Механизм работы с полученой ссылкой описывается в документации соответствующего внешнего сервиса диска, на который необходимо загрузить файл:

После успешной загрузки файла необходимо выполнить подтверждение его загрузки.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

Request Body schema: application/json
required

Данные файла

name
required
string

Название загружаемого файла

date_time_original
string

Оригинальные дата и время создания файла (при наличии) (https://developer.mozilla.org/en-US/docs/Web/API/File/lastModified)

parent_id
integer

Идентификатор директории (файла), в которую должен быть сохранён файл

Responses

Request samples

Content type
application/json
{
  • "name": "2024_04_17-11_40_22.png",
  • "date_time_original": "01.01.2000 12:34:56",
  • "parent_id": 2
}

Response samples

Content type
application/json
{}

confirm upload

Подтверждает успешность загрузки файла на внешний диск.

Требуются права доступа:

  • FILE_SHOW
  • FILE_STORE
Authorizations:
BearerToken
path Parameters
confirmationUUID
required
string

UUID для подтверждения статуса загрузки файла (см. метод "upload url")

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}

client directory

Возвращает папку клиента на диске.

Требуются права доступа:

  • FILE_SHOW
  • CLIENT_SHOW
Authorizations:
BearerToken
path Parameters
diskId
required
integer

Идентификатор диска

clientId
required
integer

Идентификатор клиента

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "data": {
    },
  • "message": "ОК"
}