## Проекты ## Методы
Метод | Описание |
---|---|
project | Получить проект |
project-list | Получить список проектов |
status-list | Получить список статусов для проекта |
project task category list | список категорий задач проекта |
create project category task | создать категорию задач проекта |
update project category task | изменить категорию задач проекта |
create | Создать проект |
update | Изменить проект |
Для получения проекта необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/project/get-project
Требуемые параметры:
Параметры | Значение |
---|---|
project_id | ID проекта |
Пример запроса:
`https://guild.craft-group.xyz/api/project/get-project?project_id=1`Возвращает объект проекта имеющий такой вид:
```json5 { "id": 1, "name": "проект название", "budget": "333", "status": 5, "hh_id": { "id": 1, "hh_id": null, "url": "knkjsefnejkdbvjfdbv", "title": null, "dt_add": null, "photo": null }, "company": { "id": 1, "name": "Рога и копыта", "description": "Живодёрня" }, "_links": { "self": { "href": "http://guild.loc/api/project/index?project_id=1" } } } ``` ### Получить список проектов `https://guild.craft-group.xyz/api/project/project-list`Для получения списка проектов необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/project/project-list
Параметры:
Параметры | Значение |
---|---|
card_id | ID профиля пользователя (При передаче этого параметра будет возвращён список проектов в которых задействован конкретный пользователь, без него будет возвращён список всех проектов) |
Пример запроса:
`https://guild.craft-group.xyz/api/project/project-list?card_id=1`Возвращает массив объектов проект имеющий такой вид:
```json5 { "projects": [ { "id": 1, "name": "проект название", "budget": "333", "status": 5, "hh_id": { "id": 1, "hh_id": null, "url": "knkjsefnejkdbvjfdbv", "title": null, "dt_add": null, "photo": null }, "company": { "id": 1, "name": "Рога и копыта", "description": "Живодёрня" }, "_links": { "self": { "href": "http://guild.loc/api/project/index?project_id=1" } } }, { "id": 3, "name": "тестовый проект", "budget": "333", "status": 5, "hh_id": { "id": 1, "hh_id": null, "url": "knkjsefnejkdbvjfdbv", "title": null, "dt_add": null, "photo": null }, "company": null, "_links": { "self": { "href": "http://guild.loc/api/project/index?project_id=3" } } } ], "_links": { "self": { "href": "http://guild.loc/api/project/project-list?card_id=1&page=1" }, "first": { "href": "http://guild.loc/api/project/project-list?card_id=1&page=1" }, "last": { "href": "http://guild.loc/api/project/project-list?card_id=1&page=1" } }, "_meta": { "totalCount": 2, "pageCount": 1, "currentPage": 1, "perPage": 20 } } ``` ### Получить список статусов для проекта `https://guild.craft-group.xyz/api/project/status-list`Для получения списка статусов проекта необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/project/status-list
Требуемые параметры: не требуются
Пример запроса:
`https://guild.craft-group.xyz/api/project/status-list`Возвращает массив объектов статус имеющий такой вид:
```json5 [ { "id": 5, "name": "проект" }, { "id": 6, "name": "проект статус 2" } ] ``` ### Список категорий задач проекта `https://guild.craft-group.xyz/api/project/project-task-category-list`Для получения списка категорий задач проекта необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/project/project-task-category-list
Требуемые параметры:
Параметры | Значение |
---|---|
project_id | ID проекта |
Пример запроса:
`https://guild.craft-group.xyz/api/project/project-task-category-list?project_id=1`Возвращает массив категорий задач проекта имеющий такой вид:
```json5 [ { "id": 1, "title": "mlkmld", "project_id": 1 }, { "id": 2, "title": "тест", "project_id": 1 } ] ``` ### Создать категорию задач проекта `https://guild.craft-group.xyz/api/project/create-project-task-category`Для для создания категории задач проекта необходимо отправить POST запрос на URL https://guild.craft-group.xyz/api/project/create-project-task-category
Требуемые параметры:
Параметры | Значение |
---|---|
project_id | ID проекта |
title | название категории |
Пример запроса:
`https://guild.craft-group.xyz/api/project/create-project-task-category`Возвращает категорию задач проекта имеющий такой вид:
```json5 { "project_id": "1", "title": "test333", "id": 4 } ``` ### Изменить категорию задач проекта `https://guild.craft-group.xyz/api/project/update-project-task-category`Для для создания категории задач проекта необходимо отправить POST запрос на URL https://guild.craft-group.xyz/api/project/update-project-task-category
Возможные параметры:
Параметры | Значение |
---|---|
project_id | ID проекта |
title | название категории |
new_title | новое название категории |
Пример запроса:
`https://guild.craft-group.xyz/api/project/update-project-task-category`Возвращает категорию задач проекта имеющий такой вид:
```json5 { "id": 1, "title": "hfbvhdfbv3", "project_id": 1 } ``` ### Создать проект `https://guild.craft-group.xyz/api/project/create`Для создания нового проекта необходимо отправить POST запрос на URL https://guild.craft-group.xyz/api/project/create
Параметры:
* - обязательные параметрыПараметры | Значение |
---|---|
* name | название проекта |
* status | статус проекта |
description | описание проекта |
budget | бюджет проекта |
company_id | ID компании |
$hh_id | ID hh |
Пример запроса:
`https://guild.craft-group.xyz/api/project/create`Возвращает массив объектов статус имеющий такой вид:
```json5 { "id": 10, "name": "test", "budget": "333", "status": "5", "hh_id": null, "company": null, "_links": { "self": { "href": "http://guild.loc/api/project/index?project_id=10" } } } ``` ### Обновить проект `https://guild.craft-group.xyz/api/project/update`Для создания нового проекта необходимо отправить POST запрос на URL https://guild.craft-group.xyz/api/project/update
Параметры:
* - обязательные параметрыПараметры | Значение |
---|---|
* project_id | ID проекта |
status | статус проекта |
name | название |
description | описание проекта |
budget | бюджет проекта |
company_id | ID компании |
hh_id | ID hh |
Пример запроса:
`https://guild.craft-group.xyz/api/project/update`Возвращает массив объектов статус имеющий такой вид:
```json5 { "id": 7, "name": "777nnknkfg666", "budget": "333", "status": "5", "hh_id": { "id": 1, "hh_id": null, "url": "knkjsefnejkdbvjfdbv", "title": null, "dt_add": null, "photo": null }, "company": { "id": 1, "name": "Рога и копыта", "description": "Живодёрня" }, "_links": { "self": { "href": "http://guild.loc/api/project/index?project_id=7" } } } ``` # Задачи ## МетодыМетод | Описание |
---|---|
get-task-list | Возвращает список задач |
get-task | Возвращает задачу |
create-task | Создаёт задачу |
update | Обновить задачу |
Параметры:
Параметры | Значение |
---|---|
project_id | Id проекта |
Без передачи параметра возвращает массив объектов Задача . С параметром project_id, метод возвращает объекты Задача определённого проекта.
Возвращает массив объектов Задача.
Каждый объект Задача имеет такой вид:
Параметры:
Параметры | Значение |
---|---|
task_id | Id задачи |
Возвращает объект Задача.
Каждый объект Задача имеет такой вид:
Пример ошибки:
```json5 { "name": "Not Found", "message": "The task does not exist", "code": 0, "status": 404, "type": "yii\\web\\NotFoundHttpException" } ``` ## Создать документ `https://guild.craft-group.xyz/api/document/create-document`Параметры:
Параметры | Значение |
---|---|
title | Название задачи |
project_id | Id проекта |
status | статус задачи |
card_id_creator | Id профиля создателя |
card_id | Id профиля наблюдателя(не обязательный параметр) |
description | Описание |
Создаёт Задача. Требует передачи POST запроса с соответствующими параметрами
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
```json5 { "name": "Internal Server Error", "message": "{\"project_id\":[\"\П\р\о\е\к\т is invalid.\"]}", "code": 0, "status": 500, "type": "yii\\web\\ServerErrorHttpException" } ``` ## Обновить задачу `https://guild.craft-group.xyz/api/task/update`Параметры:
Параметры | Значение |
---|---|
title | Название задачи |
project_id | Id проекта |
status | статус задачи |
card_id_creator | Id профиля создателя |
card_id | Id профиля наблюдателя(не обязательный параметр) |
description | Описание |
Обновляет объект Задача. Требует передачи POST запроса с соответствующими параметрами
В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:
```json5 { "name": "Not Found", "message": "The task does not exist", "code": 0, "status": 404, "type": "yii\\web\\NotFoundHttpException" } ``` ## Исполнители задачи ## МетодыМетод | Описание |
---|---|
get-task-users | Список исплнителей задачи |
set-task-users | Назначить исполнителя на задачу |
Для получения списка исполнителей необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/task-user/get-task-users
Требуемые параметры:
Параметры | Значение |
---|---|
task_id | ID задачи |
Пример запроса:
`https://guild.craft-group.xyz/api/task-user/get-task-users?task_id=10`
Возвращает массив сотрудников проекта закреплённых за задачей.
Каждый ответ имеет такой вид:
Параметры объекта Исполнитель:
Параметры | Значение |
---|---|
id | ID исполнителя задачи(int) |
task_id | ID задачи(int) |
project_user_id | ID сотрудника на проекте(int) |
Если задача не найдена будет отправлено следующее сообщение:
```json5 { "name": "Not Found", "message": "The task does not exist or there are no employees for it", "code": 0, "status": 404, "type": "yii\\web\\NotFoundHttpException" } ``` ### Назначить сотрудника на задачу `https://guild.craft-group.xyz/api/task-user/set-task-users`Для назначения исполнителя необходимо отправить POST запрос на URL https://guild.craft-group.xyz/api/task-user/set-task-user
Требуемые параметры:
Параметры | Значение |
---|---|
task_id | ID задачи |
project_user_id | ID сотрудника на проекте |
Пример запроса:
`https://guild.craft-group.xyz/api/task-user/set-task-user`
Возвращает объект Исполнителя задачи.
Каждый ответ имеет такой вид:
Если задача не найдена будет отправлено следующее сообщение:
```json5 { "name": "Bad Request", "message": "{\"task_id\":[\"\З\а\д\а\ч\а is invalid.\"]}", "code": 0, "status": 400, "type": "yii\\web\\BadRequestHttpException" } ```