guild/docs/api/projects_and_tasks.md
2023-01-25 11:50:07 +03:00

23 KiB
Raw Permalink Blame History

Проекты

Методы

Метод Описание
project Получить проект
project-list Получить список проектов
status-list Получить список статусов для проекта
project task category list список категорий задач проекта
create project category task создать категорию задач проекта
update project category task изменить категорию задач проекта
create Создать проект
update Изменить проект

Получить проект

https://guild.craft-group.xyz/api/project/get-project

Для получения проекта необходимо отправить 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

Возвращает объект проекта имеющий такой вид:

{
  "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

Возвращает массив объектов проект имеющий такой вид:

{
  "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

Возвращает массив объектов статус имеющий такой вид:

[
  {
    "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

Возвращает массив категорий задач проекта имеющий такой вид:

[
  {
    "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

Возвращает категорию задач проекта имеющий такой вид:

{
  "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

Возвращает категорию задач проекта имеющий такой вид:

{
  "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

Возвращает массив объектов статус имеющий такой вид:

{
  "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

Возвращает массив объектов статус имеющий такой вид:

{
  "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 Обновить задачу

Список задач

https://guild.craft-group.xyz/api/task/get-task-list?project_id=1

Параметры:

Параметры Значение
project_id Id проекта

Без передачи параметра возвращает массив объектов Задача . С параметром project_id, метод возвращает объекты Задача определённого проекта.

Возвращает массив объектов Задача.
Каждый объект Задача имеет такой вид:

[
  {
    "id": "6",
    "project_id": "74",
    "title": "Название задачи",
    "status": "1",
    "created_at": "2021-12-20 16:29:39",
    "updated_at": "2021-12-20 17:35:04",
    "description": "Описание задачи",
    "card_id_creator": "1",
    "card_id": "3"
  },
 '...'
]

Получить документ

https://guild.craft-group.xyz/api/task/get-task?task_id=15

Параметры:

Параметры Значение
task_id Id задачи

Возвращает объект Задача.
Каждый объект Задача имеет такой вид:

{
  "id": 15,
  "project_id": 74,
  "title": "4324238888",
  "status": 1,
  "created_at": "2022-01-05 17:37:37",
  "updated_at": "2022-01-05 17:46:10",
  "description": "888",
  "card_id_creator": 1,
  "card_id": null
}

Пример ошибки:

{
  "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 запроса с соответствующими параметрами

В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:

{
  "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 запроса с соответствующими параметрами

В случае указания не верных параметров буде возвращена соответствующая ошибка. Пример ошибки:

{
  "name": "Not Found",
  "message": "The task does not exist",
  "code": 0,
  "status": 404,
  "type": "yii\\web\\NotFoundHttpException"
}

Исполнители задачи

Методы

Метод Описание
get-task-users Список исплнителей задачи
set-task-users Назначить исполнителя на задачу

Список исполнителей задачи

https://guild.craft-group.xyz/api/task-user/get-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": 5,
    "task_id": 10,
    "project_user_id": 1
  },
  {
    "id": 7,
    "task_id": 10,
    "project_user_id": 5
  }
]

Параметры объекта Исполнитель:

Параметры Значение
id ID исполнителя задачи(int)
task_id ID задачи(int)
project_user_id ID сотрудника на проекте(int)

Если задача не найдена будет отправлено следующее сообщение:

{
  "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

Возвращает объект Исполнителя задачи.
Каждый ответ имеет такой вид:

{
  "task_id": "10",
  "project_user_id": "5",
  "id": 8
}

Если задача не найдена будет отправлено следующее сообщение:

{
  "name": "Bad Request",
  "message": "{\"task_id\":[\"\З\а\д\а\ч\а is invalid.\"]}",
  "code": 0,
  "status": 400,
  "type": "yii\\web\\BadRequestHttpException"
}