add filters, update api, update api docs
This commit is contained in:
408
docs/api/main.md
408
docs/api/main.md
@ -435,3 +435,411 @@
|
||||
|
||||
`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`
|
||||
<p>
|
||||
Для получения списка анкет необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/user-questionnaire/questionnaires-list
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Требуемые параметры запроса:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
user_id
|
||||
</td>
|
||||
<td>
|
||||
ID пользователя(int)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Пример запроса:
|
||||
</p>
|
||||
|
||||
`https://guild.craft-group.xyz/api/user-questionnaire/questionnaires-list?user_id=1`
|
||||
|
||||
<p>
|
||||
Возвращает <b>массив</b> объектов записи <b>Назначенная анкета</b>. <br>
|
||||
Каждый объектимеет такой вид:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"user_id": 1,
|
||||
"uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
|
||||
"score": 20,
|
||||
"status": 1,
|
||||
"percent_correct_answers": 0.8
|
||||
}
|
||||
```
|
||||
|
||||
<p>
|
||||
Передаваемые параметры объекта вопроса:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
user_id
|
||||
</td>
|
||||
<td>
|
||||
ID пользователя(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
score
|
||||
</td>
|
||||
<td>
|
||||
Полученные балы(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
percent_correct_answers
|
||||
</td>
|
||||
<td>
|
||||
Процент правильных ответов(float)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Если пользователь не найден или у пользователя нет активных анкет будет отправлено следующее сообщение:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"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`
|
||||
<p>
|
||||
Для получения вопросов анкеты необходимо отправить <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/question/get-questions
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Требуемые параметры запроса:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
uuid
|
||||
</td>
|
||||
<td>
|
||||
UUID анкеты назначеной пользователю
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Пример запроса:
|
||||
</p>
|
||||
|
||||
`https://guild.craft-group.xyz/api/question/get-questions?uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5`
|
||||
|
||||
<p>
|
||||
Возвращает <b>массив</b> объектов <b>Вопросов</b>. <br>
|
||||
Каждый объект <b>Вопрос</b> имеет такой вид:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"id": "4",
|
||||
"question_type_id": "2",
|
||||
"question_body": "Один ответ1",
|
||||
"question_priority": null,
|
||||
"next_question": null,
|
||||
"time_limit": "00:22:00"
|
||||
}
|
||||
```
|
||||
<p>
|
||||
Передаваемые параметры объекта вопроса:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
id
|
||||
</td>
|
||||
<td>
|
||||
ID вопроса(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_type_id
|
||||
</td>
|
||||
<td>
|
||||
ID типа вопроса(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_body
|
||||
</td>
|
||||
<td>
|
||||
Вопрос(string)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_priority
|
||||
</td>
|
||||
<td>
|
||||
Приоритет вопроса(int)(не используется)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
next_question
|
||||
</td>
|
||||
<td>
|
||||
Следующий вопрос(int)(не используется)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
time_limit
|
||||
</td>
|
||||
<td>
|
||||
Ограничение времени на ответ(time)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Если вопрос не найден или не предпологает передачу ответов будет отправлено следующее сообщение:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"name": "Not Found",
|
||||
"message": "Questions not found",
|
||||
"code": 0,
|
||||
"status": 404,
|
||||
"type": "yii\\web\\NotFoundHttpException"
|
||||
}
|
||||
```
|
||||
### Ответы на вопрос
|
||||
`https://guild.craft-group.xyz/api/answer/get-answers`
|
||||
<p>
|
||||
Для получения вариантов ответов на вопрос анкеты нужно сделать <b>GET</b> запрос на URL https://guild.craft-group.xyz/api/answer/get-answers
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Требуемые параметры:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_id
|
||||
</td>
|
||||
<td>
|
||||
ID вопроса
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<p>
|
||||
Пример запроса:
|
||||
</p>
|
||||
|
||||
`https://guild.craft-group.xyz/api/answer/get-answers?question_id=7`
|
||||
|
||||
<p>
|
||||
Возвращает <b>массив</b> объектов <b>Ответов</b>. <br>
|
||||
Каждый объект <b>Ответа</b> имеет такой вид:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
[
|
||||
{
|
||||
"id": "12",
|
||||
"question_id": "7",
|
||||
"answer_body": "Неск вар1 отв1 истина"
|
||||
},
|
||||
]
|
||||
|
||||
```
|
||||
<p>
|
||||
Передаваемые параметры объекта вопроса:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
id
|
||||
</td>
|
||||
<td>
|
||||
ID вопроса(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_id
|
||||
</td>
|
||||
<td>
|
||||
ID вопроса(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
answer_body
|
||||
</td>
|
||||
<td>
|
||||
Ответ(string)
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<p>
|
||||
Если ответы не найдены или вопрос не предпологает их наличие(открытый вопрос) будет отправлено следующее сообщение:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"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`
|
||||
<p>
|
||||
Для добавления ответа на вопрос от пользователся необходимо сделать <b>POST</b> запрос на URL https://guild.craft-group.xyz/api/user-response/set-response
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Тело запроса содержит:
|
||||
</p>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Параметры
|
||||
</th>
|
||||
<th>
|
||||
Значение
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
question_id
|
||||
</td>
|
||||
<td>
|
||||
ID вопроса(int)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
response_body
|
||||
</td>
|
||||
<td>
|
||||
Ответ пользователя(string 255)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
uuid
|
||||
</td>
|
||||
<td>
|
||||
UUID анкеты назначенной пользователю(string 36)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
Пример запроса:
|
||||
</p>
|
||||
|
||||
`http://guild.loc/api/user-response/set-responses?user_id=1&user_questionnaire_id=1&question_id=7&response_body=user response string`
|
||||
|
||||
<p>
|
||||
Возвращает объект <b>Ответа</b>. <br>
|
||||
Объект <b>Ответа</b> имеет такой вид:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"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
|
||||
}
|
||||
```
|
||||
<p>
|
||||
В случаии ошибки в запросе будет отправлено сообщение следующего вида:
|
||||
</p>
|
||||
|
||||
```json5
|
||||
{
|
||||
"name": "Bad Request",
|
||||
"message": "{\"question_id\":[\"\В\о\п\р\о\с is invalid.\"]}",
|
||||
"code": 0,
|
||||
"status": 400,
|
||||
"type": "yii\\web\\BadRequestHttpException"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user