43 KiB
Executable File
Документация API
Навыки
Популярные навыки
https://guild.craft-group.xyz/api/skills/skills-on-main-page
Чтобы получить популярные навыки нужно сделать GET запрос на URL https://guild.craft-group.xyz/api/skills/skills-on-main-page
Профиль
Список
https://guild.craft-group.xyz/api/profile
Для получения списка профилей необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/profile
Возможные параметры:
Параметры | Значение |
---|---|
get-document-list | Количество профилей, которое вернет сервер при запросе. |
offset | Количество записей на которое нужно отступить в списке профилей. |
skills | Идентификаторы навыков по которым нужно отфильтровать профили. |
Пример запроса:
https://guild.craft-group.xyz/api/profile?limit=5&offset=5&skills=1,2
Возвращает массив объектов Профилей.
Каждый объект Профиля имеет такой вид:
{
"id": "1",
"fio": "f23f",
"passport": "f23",
"photo": "''",
"email": "f",
"gender": "1",
"dob": "2021-09-17",
"status": "2",
"created_at": "2021-09-08 16:30:34",
"updated_at": "2021-09-09 08:41:02",
"resume": "",
"salary": "",
"position_id": "1",
"deleted_at": null,
"id_user": "1",
"city": "",
"link_vk": "",
"link_telegram": "",
"vc_text": "",
"level": "2", //
"vc_text_short": "",
"years_of_exp": "0",
"specification": "",
"skillValues": [ //Массив навыков привязанных к этому профилю
{
"id": "1",
"card_id": "1", //card_id из таблицы card_skill
"skill_id": "1",//skill_id из таблицы card_skill
"skill": {
"id": "1", //id из таблицы skill
"name": "SQL",
"category_id": "1"
}
},
//...
],
"achievements": [ //Массив достижений привязанных к этому профилю
{
"id": "7",
"user_card_id": "1",//user_card_id из таблицы achievement_user_card
"achievement_id": "1",//achievement_id из таблицы achievement_user_card
"achievement": {
"id": "1", //id из таблицы achievement
"slug": "newguy",
"title": "Новичок",
"img": "",
"description": "Ты начал у нас работу",
"status": "1" // 1 - Активно, 2 - Неактивно
}
},
//...
]
}
Одна запись
https://guild.craft-group.xyz/api/profile/{id}
Для того, чтобы получить данные одной записи необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/profile/{id} , где id это идентификатор профиля.
Пример запроса:
https://guild.craft-group.xyz/api/profile/6
Возвращает объект Профиля.
Как выглядит можно посмотреть выше.
Пригласить на собеседование
https://guild.craft-group.xyz/api/profile/add-to-interview
Для того, отправить приглашение профилю на собеседование, необходимо сделать POST запрос на URL https://guild.craft-group.xyz/api/profile/add-to-interview
Возможные параметры:
Параметры | Значение |
---|---|
email* | Почта пользователя, который хочет пригласить на собеседование. |
profile_id* | Идентификатор профиля. |
phone | Телефон. |
comment | Дополнительные пожелания по собеседованию. |
Отчет
Список
https://guild.craft-group.xyz/api/reports
Для получения списка отчетов необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports
Возможные параметры:
Параметры | Значение |
---|---|
fromDate* | Дата (yyyy-mm-dd) начала поиска отчетов. |
toDate | Дата (yyyy-mm-dd) окончания поиска отчетов. |
limit | Количество отчетов, которое вернет сервер при запросе (по умолчанию 10). |
offset | Количество записей на которое нужно отступить в списке отчетов. |
user_id | Идентификатор карточки пользователя отчета. |
Пример запроса:
https://guild.craft-group.xyz/api/reports/index?fromDate=2021-08-01&toDate=2021-08-31&user_id=2limit=3&offset=2
Один отчет
https://guild.craft-group.xyz/api/reports/{id}
Для получения отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/{id}
Параметры:
Параметры | Значение |
---|---|
id* | ID отчета. |
Пример запроса на просмотр отчета с ID 13:
https://guild.craft-group.xyz/api/reports/13
Создать отчет
https://guild.craft-group.xyz/api/reports/create
Для того, отправить приглашение профилю на собеседование, необходимо сделать POST запрос на URL https://guild.craft-group.xyz/api/reports/create
Возможные параметры:
Параметры | Значение |
---|---|
created_at* | Дата (yyyy-mm-dd) создания. |
user_card_id* | Идентификатор карточки пользователя. |
tasks* |
JSON массив содержащий объекты задач
[{ "task" : "Рефакторинг", "created_at": 1638260728, "status": 1, "minutes_spent": 26, "hours_spent" : 3 }] |
difficulties | Сложности. |
tomorrow | Планы на завтра. |
status | Номер статуса. |
Удалить отчет
https://guild.craft-group.xyz/api/reports/delete
Для удаления отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/delete
Возможные параметры:
Параметры | Значение |
---|---|
id* | Идентификатор отчета. |
Пример запроса:
https://guild.craft-group.xyz/api/reports/delete?id=17
Обновить отчет
https://guild.craft-group.xyz/api/reports/update
Для удаления отчета необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/reports/update
Возможные параметры:
Параметры | Значение |
---|---|
id* | Идентификатор отчета. |
created_at | Дата (yyyy-mm-dd) создания. |
today | Сделанное сегодня. |
difficulties | Сложности. |
tomorrow | Планы на завтра. |
status | Номер статуса. |
Пример запроса:
https://guild.craft-group.xyz/api/reports/update?id=18&created_at=2021-09-17&today=0&difficulties=diff&tomorrow=new task&status=1
Анкеты
###Список анкет
https://guild.craft-group.xyz/api/user-questionnaire/questionnaires-list
Для получения списка анкет необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/user-questionnaire/questionnaires-list
Требуемые параметры запроса:
Параметры | Значение |
---|---|
user_id | ID пользователя(int) |
Пример запроса:
https://guild.craft-group.xyz/api/user-questionnaire/questionnaires-list?user_id=1
Возвращает массив объектов записи Назначенная анкета.
Каждый объектимеет такой вид:
{
"user_id": 1,
"uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"score": 20,
"status": 1,
"percent_correct_answers": 0.8
}
Передаваемые параметры объекта вопроса:
Параметры | Значение |
---|---|
user_id | ID пользователя(int) |
score | Полученные балы(int) |
percent_correct_answers | Процент правильных ответов(float) |
Если пользователь не найден или у пользователя нет активных анкет будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Active questionnaire not found",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Вопросы анкеты
https://guild.craft-group.xyz/api/question/get-questions
Для получения вопросов анкеты необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/question/get-questions
Требуемые параметры запроса:
Параметры | Значение |
---|---|
uuid | UUID анкеты назначеной пользователю |
Пример запроса:
https://guild.craft-group.xyz/api/question/get-questions?uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Возвращает массив объектов Вопросов.
Каждый объект Вопрос имеет такой вид:
{
"id": "4",
"question_type_id": "2",
"question_body": "Один ответ1",
"question_priority": null,
"next_question": null,
"time_limit": "00:22:00"
}
Передаваемые параметры объекта вопроса:
Параметры | Значение |
---|---|
id | ID вопроса(int) |
question_type_id | ID типа вопроса(int) |
question_body | Вопрос(string) |
question_priority | Приоритет вопроса(int)(не используется) |
next_question | Следующий вопрос(int)(не используется) |
time_limit | Ограничение времени на ответ(time) |
Если вопрос не найден или не предпологает передачу ответов будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Questions not found",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Ответы на вопрос
https://guild.craft-group.xyz/api/answer/get-answers
Для получения вариантов ответов на вопрос анкеты нужно сделать GET запрос на URL https://guild.craft-group.xyz/api/answer/get-answers
Требуемые параметры:
Параметры | Значение |
---|---|
question_id | ID вопроса |
Пример запроса:
https://guild.craft-group.xyz/api/answer/get-answers?question_id=7
Возвращает массив объектов Ответов.
Каждый объект Ответа имеет такой вид:
[
{
"id": "12",
"question_id": "7",
"answer_body": "Неск вар1 отв1 истина"
},
]
Передаваемые параметры объекта вопроса:
Параметры | Значение |
---|---|
id | ID вопроса(int) |
question_id | ID вопроса(int) |
answer_body | Ответ(string) |
Если ответы не найдены или вопрос не предпологает их наличие(открытый вопрос) будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Answer not found or question inactive",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Один ответ пользователя
https://guild.craft-group.xyz/api/user-response/set-response
Для добавления ответа на вопрос от пользователя необходимо сделать POST запрос на URL https://guild.craft-group.xyz/api/user-response/set-response
Тело запроса содержит:
Параметры | Значение |
---|---|
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
uuid | UUID анкеты назначенной пользователю(string 36) |
Пример запроса:
https://guild.craft-group.xyz/api/user-response/set-responses?user_id=1&user_questionnaire_id=1&question_id=7&response_body=user response string
Возвращает объект Ответа.
Объект Ответа имеет такой вид:
{
"user_id": "1",
"question_id": "7",
"response_body": "user response string",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"created_at": {
"expression": "NOW()",
"params": []
},
"updated_at": {
"expression": "NOW()",
"params": []
},
"id": 90
}
В случаии ошибки в запросе будет отправлено сообщение следующего вида:
{
"name": "Bad Request",
"message": "{\"question_id\":[\"\В\о\п\р\о\с is invalid.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
Массив ответов пользователя
https://guild.craft-group.xyz/api/user-response/set-responses
Для добавления массива ответов на вопросы от пользователя необходимо сделать POST запрос на URL https://guild.craft-group.xyz/api/user-response/set-responses
Тело запроса содержит JSON c массивом ответов со следующими параметрами:
Параметры | Значение |
---|---|
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
uuid | UUID анкеты назначенной пользователю(string 36) |
Пример тела запроса:
{
"userResponses": [
{
"user_id": "1",
"question_id": "7",
"response_body": "oooooooooooo111111111",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5"
},
{
"user_id": "1",
"question_id": "4",
"response_body": "oooooooooooo2222222",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5"
}
]
}
Возвращает массив объектов ОтветПользователя.
Пример:
[
{
"user_id": "1",
"question_id": "7",
"response_body": "oooooooooooo111111111",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"created_at": {
"expression": "NOW()",
"params": []
},
"updated_at": {
"expression": "NOW()",
"params": []
},
"id": 137
},
{
"user_id": "1",
"question_id": "4",
"response_body": "oooooooooooo2222222",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"created_at": {
"expression": "NOW()",
"params": []
},
"updated_at": {
"expression": "NOW()",
"params": []
},
"id": 138
}
]
В случаии ошибки в запросе будет отправлено сообщение следующего вида:
{
"name": "Bad Request",
"message": "{\"question_id\":[\"\В\о\п\р\о\с is invalid.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
Менеджер
Список менеджеров
https://guild.craft-group.xyz/api/manager/get-manager-list
Для получения списка менеджеров необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/manager/get-manager-list
Пример запроса:
https://guild.craft-group.xyz/api/manager/get-manager?manager_id=1
Возвращает список объектов Менеджера.
Пример ответа:
[
{
"fio": "testUser",
"id": 1,
"email": "admin@admin.com"
},
{
"fio": "workerTest22",
"id": 2,
"email": "awdsdse@njbhj.com"
}
]
Передаваемые параметры объекта Менеджер:
Параметры | Значение |
---|---|
id | ID менеджера(int) |
fio | ФИО пользователя(varchar(255)) |
Почтовый адрес(string) |
Если менеджеры не найдены будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Managers are not assigned",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Список работников менеджера
https://guild.craft-group.xyz/api/manager/get-employees-manager
Для получения списка сотрудников менеджера необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/manager/get-employees-manager
Требуемые параметры:
Параметры | Значение |
---|---|
manager_id | ID менеджера |
Пример запроса:
https://guild.craft-group.xyz/api/manager/get-employees-manager?manager_id=3
Возвращает список объектов Пользователь.
Ответ имеет такой вид:
[
{
"id": 2,
"fio": "workerTest",
"email": "testUseweewer@testUser.com",
},
{
"id": 4,
"fio": "worker1",
"email": "sdfsdvdworker2",
},
]
Передаваемые параметры объекта Менеджер:
Параметры | Значение |
---|---|
id | ID пользователя(работника) у менеджера(int) |
fio | ФИО сотрудника(varchar(255)) |
Почтовый адрес(string) |
Если менеджер не найден или у него нет сотрудников будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Managers are not assigned or employees are not assigned to him",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Данные менеджера
https://guild.craft-group.xyz/api/manager/get-manager
Для получения данных менеджера необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/manager/get-manager
Требуемые параметры:
Параметры | Значение |
---|---|
manager_id | ID менеджера |
Пример запроса:
https://guild.craft-group.xyz/api/manager/get-manager?manager_id=1
Возвращает объект Менеджера.
Каждый объект Менеджер имеет такой вид:
[
{
"id": 5,
"fio": "Иванов Иван Иванович",
"email": "testmail@mail.com",
"photo": "",
"gender": 0
}
]
Передаваемые параметры объекта Менеджер:
Параметры | Значение |
---|---|
id | ID пользователя(работника) у менеджера(int) |
fio | ФИО сотрудника(varchar(255)) |
Почтовый адрес(string) |
Если менеджер не найден будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "Incorrect manager ID",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Задачи
Задача
https://guild.craft-group.xyz/api/task/get-task
Для получения данных задачи необходимо отправить GET запрос на URL https://guild.craft-group.xyz/task/get-task
Требуемые параметры:
Параметры | Значение |
---|---|
task_id | ID менеджера |
Пример запроса:
https://guild.craft-group.xyz/api/task/get-task?task_id=3
Возвращает объект Задачи.
Каждый объект Задачи имеет такой вид:
{
"id": 14,
"project_id": 2,
"title": "Пробная 2",
"status": 0,
"created_at": "2021-12-03 17:22:15",
"updated_at": "2021-12-03 17:22:15",
"user_id": null,
"description": "смасмс",
"user_id_creator": 1
}
Передаваемые параметры объекта Задача:
Параметры | Значение |
---|---|
id | ID задачи(int) |
project_id | ID проекта(int) |
title | Название задачи(string) |
status | Статус(int) |
created_at | Дата создания(string) |
updated_at | Дата изменения(string) |
user_id | ID наблюдателя проекта(int) |
description | Описание задачи(string) |
user_id_creator | ID создателя задачи(int) |
Если задача не найдена будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "The task does not exist",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Список задач
https://guild.craft-group.xyz/api/task/get-task-list
Для получения списка данных задач необходимо отправить GET запрос на URL https://guild.craft-group.xyz/task/get-task-list
Требуемые параметры:
Параметры | Значение |
---|---|
project_id | ID проекта |
Пример запроса:
https://guild.craft-group.xyz/api/task/get-task-list?project_id=2
Возвращает массив объектов Задачи.
Каждый объект Задачи имеет такой вид:
[
{
"id": 3,
"project_id": 2,
"title": "polkjhgbfv task",
"status": 1,
"created_at": "2021-11-24 11:53:11",
"updated_at": "2021-11-24 11:53:11",
"user_id_creator": 1,
"user_id": null,
"description": "dfvdfvfdvfd"
},
{
"id": 7,
"project_id": 2,
"title": "polkjhgbfv taskdfsdfsd",
"status": 1,
"created_at": "2021-11-24 14:55:01",
"updated_at": "2021-11-24 14:55:01",
"user_id_creator": 1,
"user_id": null,
"description": "dfvdfvfdvfdsddsfds"
}
]
Передаваемые параметры объекта Задача:
Параметры | Значение |
---|---|
id | ID задачи(int) |
project_id | ID проекта(int) |
title | Название задачи(string) |
status | Статус(int) |
created_at | Дата создания(string) |
updated_at | Дата изменения(string) |
user_id_creator | ID создателя задачи(int) |
user_id | ID наблюдателя(int) |
description | Описание задачи(string) |
Если задачи не найдена будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "The project does not exist or there are no tasks for it",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Создать задачу
https://guild.craft-group.xyz/api/task/create-task
Для создания задачи необходимо отправить POST запрос на URL https://guild.craft-group.xyz/task/create-task
Требуемые параметры:
Параметры | Значение |
---|---|
project_id | ID проекта(int) |
title | Название задачи(string) |
status | Статус(int) |
user_id_creator | ID сотрудника, создатель задачи(int) |
description | Описание задачи(string) |
Пример запроса:
http://guild.loc/api/task/create-task
Возвращает объект Задачи.
Каждый объект Задачи имеет такой вид:
{
"project_id": "2",
"title": "polkjhgbfv taskdfsdfsd",
"status": "1",
"user_id_creator": "1",
"description": "dfvdfvfdvfdsddsfds",
"created_at": {
"expression": "NOW()",
"params": []
},
"updated_at": {
"expression": "NOW()",
"params": []
},
"id": 12
}
Если требуемый параметр задачи не будет получен, будет отправлено сообщение следующего вида:
{
"name": "Bad Request",
"message": "{\"user_id_creator\":[\"\С\о\з\д\а\т\е\л\ь cannot be blank.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}
Изменить задачу
https://guild.craft-group.xyz/api/task/update
Для изменения задачи необходимо отправить POST запрос на URL https://guild.craft-group.xyz/task/update
Требуемые параметры:
Параметры | Значение |
---|---|
task_id | ID задачи |
Пример запроса:
https://guild.craft-group.xyz/api/task/update
Возвращает объект Задачи.
Каждый объект Задачи имеет такой вид:
{
"id": 11,
"project_id": 2,
"title": "432423",
"status": 1,
"created_at": "2021-11-24 14:40:25",
"updated_at": "2021-11-25 11:44:30",
"user_id_creator": 5,
"user_id": 2,
"description": "888"
}
Параметры объекта Задача:
Параметры | Значение |
---|---|
task_id | ID задачи(int) |
project_id | ID проекта(int) |
title | Название задачи(string) |
status | Статус(int) |
created_at | Дата создания(string) |
updated_at | Дата изменения(string) |
user_id_creator | ID сотрудника, создатель задачи(int) |
user_id | ID сотрудника(int) |
description | Описание задачи(string) |
Если задача не найдена будет отправлено следующее сообщение:
{
"name": "Not Found",
"message": "The task does not exist",
"code": 0,
"status": 404,
"type": "yii\\web\\NotFoundHttpException"
}
Исполнители задачи
Список исполнителей задачи
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/get-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"
}