guild/docs/api/projects_and_tasks.md
2023-01-24 17:32:46 +03:00

19 KiB
Raw Blame History

Проекты

Методы

Метод Описание
project Получить проект
project-list Получить список проектов
status-list Получить список статусов для проекта
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/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"
}