21 KiB
Анкеты
Методы
Метод | Описание |
---|---|
questionnaire/questionnaires-list | Возвращает список анкет |
questionnaire/questionnaire-completed | Завершение прохождение анкеты, проверка ответов |
questionnaire/get-points-number | Число балов в анкете |
questionnaire/get-question-number | Число вопросов в анкете |
question/get-questions | Вопросы анкеты |
answer/get-answers | Список возможных ответов на вопрос |
user-response/set-response | Сохранить ответ пользователя |
user-response/set-responses | Сохранить массив ответов пользователя |
get | Возвращает менеджера |
Список анкет
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": 11,
"status": 2,
"percent_correct_answers": 0.25,
"testing_date": "2022-03-17 11:14:22",
"questionnaire_title": "Кат1 Анкета 1 активна"
}
Возвращаемые параметры объекта анкета:
Параметры | Значение |
---|---|
user_id | ID пользователя(int) |
uuid | uuid анкеты пользователя |
score | Полученные балы(int) |
status | Статус: 0 - не активен; 1 - активен; 2 - завершён; 3 - на проверке; |
percent_correct_answers | Процент правильных ответов(float) |
testing_date | Дата тестирования |
questionnaire_title | Название анкеты |
Передаваемые параметры объекта вопроса:
Параметры | Значение |
---|---|
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/user-questionnaire/questionnaire-completed
Для выполнения проверки анкеты необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/user-questionnaire/questionnaire-completed
Требуемые параметры запроса:
Параметры | Значение |
---|---|
user_questionnaire_uuid | UUID анкеты назначеной пользователю |
Пример запроса:
https://guild.craft-group.xyz/api/user-questionnaire/questionnaire-completed?user_questionnaire_uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Возвращает массив объектов Вопросов.
Каждый объект Вопрос имеет такой вид:
{
"id": 1,
"questionnaire_id": 1,
"user_id": 1,
"uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5",
"created_at": "2021-10-20 13:06:12",
"updated_at": {
"expression": "NOW()",
"params": []
},
"score": 4,
"status": 1,
"percent_correct_answers": 0.5,
"testing_date": null
}
Число балов в анкете
https://guild.craft-group.xyz/api/user-questionnaire/get-points-number?user_questionnaire_uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Для максимального числа балов в анкеты необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/user-questionnaire/get-points-number
Требуемые параметры запроса:
Параметры | Значение |
---|---|
user_questionnaire_uuid | UUID анкеты назначеной пользователю |
Пример запроса:
https://guild.craft-group.xyz/api/user-questionnaire/get-points-number?user_questionnaire_uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Возвращает максимально возможное число балов за анкету b>.
Объект Ответа имеет такой вид:
{
"sum_point": "61"
}
Число вопросов в анкете
https://guild.craft-group.xyz/api/user-questionnaire/get-question-number?user_questionnaire_uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Для числа вопросов в анкете необходимо отправить GET запрос на URL https://guild.craft-group.xyz/api/user-questionnaire/get-question-number
Требуемые параметры запроса:
Параметры | Значение |
---|---|
user_questionnaire_uuid | UUID анкеты назначеной пользователю |
Пример запроса:
https://guild.craft-group.xyz/api/user-questionnaire/get-question-number?user_questionnaire_uuid=d222f858-60fd-47fb-8731-dc9d5fc384c5
Возвращает число вопросов в анкете b>.
Объект Ответа имеет такой вид:
{
"question_number": "7"
}
Вопросы анкеты
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
Тело запроса содержит:
Параметры | Значение |
---|---|
user_id | ID пользователя |
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
user_questionnaire_uuid | UUID анкеты назначенной пользователю(string 36) |
Пример тела запроса:
{
"user_id": "1",
"question_id": "7",
"response_body": "oooooooooooo111111111",
"user_questionnaire_uuid": "d222f858-60fd-47fb-8731-dc9d5fc384c5"
}
https://guild.craft-group.xyz/api/user-response/set-response
Возвращает объект Ответа.
Объект Ответа имеет такой вид:
{
"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": 191,
"answer_flag": 0
}
Ответ содержит:
Параметры | Значение |
---|---|
user_id | ID пользователя |
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
user_questionnaire_uuid | UUID анкеты назначенной пользователю(string 36) |
answer_flag | Флаг ответа(1 - верно, 0 - ложно). Если отправлен ответ на открытый вопрос, флаг ответа не будет возвращаться до момента проверки в админ панели. |
В случаии ошибки в запросе будет отправлено сообщение следующего вида:
{
"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 массивом ответов со следующими параметрами:
Параметры | Значение |
---|---|
user_id | ID пользователя |
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
user_questionnaire_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": 192,
"answer_flag": 0
},
{
"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": 193,
"answer_flag": 0
}
]
Ответ содержит:
Параметры | Значение |
---|---|
user_id | ID пользователя |
question_id | ID вопроса(int) |
response_body | Ответ пользователя(string 255) |
user_questionnaire_uuid | UUID анкеты назначенной пользователю(string 36) |
answer_flag | Флаг ответа(1 - верно, 0 - ложно) |
В случаии ошибки в запросе будет отправлено сообщение следующего вида:
{
"name": "Bad Request",
"message": "{\"question_id\":[\"\В\о\п\р\о\с is invalid.\"]}",
"code": 0,
"status": 400,
"type": "yii\\web\\BadRequestHttpException"
}