Проекты (projects)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/domain/projects

Создание нового проекта

GET

/rest/v1/domain/projects

Получение списка проектов

GET

/rest/v1/domain/projects/<id>

Получение данных проекта

PATCH

/rest/v1/domain/projects/<id>

Изменение данных проекта

DELETE

/rest/v1/domain/projects/<id>

Удаление проекта

LOOKUP

/rest/v1/domain/projects

Поиск идентификатора проекта


Создание нового проекта

Запрос

Описание полей: project entity

Пример запроса
POST /rest/v1/domain/projects HTTP/1.1
Content-Type: application/json; charset=utf-8

project entity

Ответ

Описание полей: project entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "866c3624-016c-d34e-07a7-50e54938780c",
  "code": "5102",
  "name": "ProjectY",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T13:40:02.87Z",
    "lwt": "2019-08-27T13:40:02.87Z"
  }
}

Получение списка проектов

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: id, code, name, opts.title, ext.lwt, ext.ct.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

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

Пример запроса
GET /rest/v1/domain/projects?offset=0&limit=2 HTTP/1.1

Ответ

Описание полей: project entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "54e07833-016c-d34d-dc92-50e54938780c",
    "code": "5101",
    "name": "ProjectX",
    "ext": {
      "ct": "2019-08-27T13:38:55.14Z",
      "lwt": "2019-08-27T13:38:55.14Z"
    }
  },
  {
    "id": "866c3624-016c-d34e-07a7-50e54938780c",
    "code": "5102",
    "name": "ProjectY",
    "ext": {
      "ct": "2019-08-27T13:40:02.87Z",
      "lwt": "2019-08-27T13:40:02.87Z"
    }
  }
]

Получение данных проекта

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

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

Пример запроса
GET /rest/v1/domain/projects/866c3624-016c-d34e-07a7-50e54938780c HTTP/1.1

Ответ

Описание полей: project entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "866c3624-016c-d34e-07a7-50e54938780c",
  "code": "5102",
  "name": "ProjectY",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T13:40:02.87Z",
    "lwt": "2019-08-27T13:40:02.87Z"
  }
}

Изменение данных проекта

Поля запрещенные для изменения: id

Запрос

Описание полей: project entity

Пример запроса
PATCH /rest/v1/domain/projects/866c3624-016c-d34e-07a7-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

project entity

Ответ

Описание полей: project entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "866c3624-016c-d34e-07a7-50e54938780c",
  "code": "5102",
  "name": "ProjectY",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-27T13:40:02.87Z",
    "lwt": "2019-09-11T10:39:54.27Z"
  }
}

Удаление проекта

Запрос

Пример запроса
DELETE /rest/v1/domain/projects/866c3624-016c-d34e-07a7-50e54938780c HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поиск идентификатора проекта

Производит поиск ресурса по указанному ключу, возвращает идентификатор(ы) для построения endpoint.

Ключевые поля для поиска: id, code

Запрос

Пример запроса
LOOKUP /rest/v1/domain/projects HTTP/1.1
Content-Type: application/json; charset=utf-8

"5102"

Ответ

Пример успешного ответа
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

[
  "866c3624-016c-d34e-07a7-50e54938780c"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

{
  "error_code": 1404,
  "error_message": "Lookup failed"
}