Skip to content

Latest commit

 

History

History
483 lines (431 loc) · 12.1 KB

APIDOCS.md

File metadata and controls

483 lines (431 loc) · 12.1 KB

API

v1.0

1. Обзор

API для связи клиента и сервера

1.1 Users

POST

Пример запроса в формате json для регистрации пользователя

{
    "name": {name}, 
    "age": {age}, 
    "phone_number": {phone_number}, 
    "password": {password}, 
    "points": {points}
}

name - имя пользователя.
age - возраст пользователя.
phone_number - номер телефона (логин) пользователя.
password - хэшированный пароль пользователя.
points - количество очков пользователя.

Пример запроса для регистрации пользователя

import requests

json = {
    "name": {name}, 
    "age": {age}, 
    "phone_number": {phone_number}, 
    "password": {password}, 
    "points": {points}
}

requests.post("http://{host}/app/api/v1.0/users/", json=json)

name - имя пользователя.
age - возраст пользователя.
phone_number - номер телефона (логин) пользователя.
password - хэшированный пароль пользователя.
points - количество очков пользователя.

Ответ

{
    "success": True
}

Пример запроса в формате json для обновления поинтов пользователя

{
    "id": {id}, 
    "points": {points}
}

id - id пользователя.
points - количество очков пользователя.

Пример запроса для обновления поинтов пользователя

import requests

json = {
    "id": {id}, 
    "points": {points}
}

requests.post("http://{host}/app/api/v1.0/users/", json=json)

id - id пользователя.
points - количество очков пользователя.

Ответ

{
    "id": {id},
    "name": {name},
    "age": {age},
    "phone_number": {phone_number},
    "password": {password},
    "points": {points}
}

id - id пользователя.
name - имя пользователя.
age - возраст пользователя.
naphone_number - номер телефона (логин) пользователя.
password - хэшированный пароль пользователя.
points - количество очков пользователя.

GET

Пример запроса

import requests

requests.get("http://{host}/app/api/v1.0/users/<phone>")

<phone> - номер телефона (логин) пользователя.

Ответ

{
    "id": {id},
    "name": {name},
    "age": {age},
    "phone_number": {phone_number},
    "password": {password},
    "points": {points}
}

id - id пользователя.
name - имя пользователя.
age - возраст пользователя.
naphone_number - номер телефона (логин) пользователя.
password - хэшированный пароль пользователя.
points - количество очков пользователя.

1.2 Answers

POST

Пример запроса в формате json

{
    "question_id": {question_id}, 
    "answer": {answer}, 
    "is_correct": {is_correct}
}

question_id - id вопроса, к которому привязан ответ.
answer - ответ на вопрос.
is_correct - корректность вопроса.

Пример запроса

import requests

json = {
    "question_id": {question_id}, 
    "answer": {answer}, 
    "is_correct": {is_correct}
}

requests.post("http://{host}/app/api/v1.0/answers/", json=json)

question_id - id вопроса, к которому привязан ответ.
answer - ответ на вопрос.
is_correct - корректность ответа.

Ответ

{
    "success": True
}

GET

Пример запроса

import requests

requests.get("http://{host}/app/api/v1.0/answers/<int:question_id>")

<int:question_id> - id вопроса.

Ответ

{
    "id": {id},
    "question_id": {question_id},
    "answer": {answer},
    "is_correct": {is_correct}
}

id - id ответана вопрос.
question_id - id вопроса, к которому привязан ответ.
answer - ответ на вопрос.
is_correct - корректность ответа.

DELETE

Пример запроса

import requests

requests.delete("http://{host}/app/api/v1.0/answers/<int:question_id>")

<int:question_id> - id вопроса.

Ответ

{
    "success": True
}

1.3 Questions

POST

Пример запроса в формате json

{
    "age": {age}, 
    "question": {question}, 
    "difficulty": {difficulty}, 
    "value": {value},
    "subject_id": {subject_id}, 
    "explanation": {explanation}, 
    "author_id": {author_id}
}

age - возраст целевой аудитории.
question - вопрос.
difficulty - сложность вопроса.
value - кличество очков за правильный ответ.
subject_id - id предмета, к которому привязан вопрос.
explanation - объеснение ответа на вопрос.
author_id - id автора вопроса.

Пример запроса

import requests

json = {
    "age": {age}, 
    "question": {question}, 
    "difficulty": {difficulty}, 
    "value": {value},
    "subject_id": {subject_id}, 
    "explanation": {explanation}, 
    "author_id": {author_id}
}

requests.post("http://{host}/app/api/v1.0/questions/", json=json)

age - возраст целевой аудитории.
question - вопрос.
difficulty - сложность вопроса.
value - кличество очков за правильный ответ.
subject_id - id предмета, к которому привязан вопрос.
explanation - объеснение ответа на вопрос.
author_id - id автора вопроса.

Ответ

{
    "success": True
}

GET

Пример запроса для одного question

import requests

requests.get("http://{host}/app/api/v1.0/questions/<int:question_id>")

<int:question_id> - id вопроса.

Ответ

{
    "id": {id},
    "age": {age},
    "question": {question},
    "difficulty": {difficulty},
    "value": {value},
    "subject_id": {subject_id},
    "explanation": {explanation}, 
    "author_id": {author_id}
}

id - id вопроса.
age - возраст целевой аудитории.
question - вопрос.
difficulty - сложность вопроса.
value - кличество очков за правильный ответ.
subject_id - id предмета, к которому привязан вопрос.
explanation - объеснение ответа на вопрос.
author_id - id автора вопроса.

Пример запроса для всех questions

import requests

requests.get("http://{host}/app/api/v1.0/questions/")

Ответ

[
    {
        "id": {subject_id},
        "subject": {subject_subject},
        "questions": [
            {
                "age": {question_age},
                "author_id": {question_author_id},
                "difficulty": {question_difficulty},
                "explanation": {question_explanation},
                "id": {question_id},
                "question": {question_question},
                "subject_id": {question_subject_id},
                "value": {question_value},
                "answers": [
                    {
                        "answer": {answer_answer},
                        "id": {answer_id},
                        "is_correct": {answer_is_correct},
                        "question_id": {answer_question_id}
                    }
                ]
            }
        ]
    }
]

subject_id - id предмета, к которому привязан вопрос.
subject_subject - название предмета, к которому привязан вопрос.
question_age - возраст целевой аудитории вопроса.
question_author_id - id автора вопроса.
question_difficulty - уровень сложности вопроса.
question_explanation - объеснения.
question_id - id вопроса.
question_question - вопрос.
question_subject_id - id предмета, к которому привязан вопрос.
question_value - кличество очков за правильный ответ.
answer_answer - ответ на вопрос.
answer_id - id ответа на вопрос.
answer_is_correct - корректность ответа на вопрос.
answer_question_id - id вопроса, привязанного к ответу.

DELETE

Пример запроса

import requests

requests.delete("http://{host}/app/api/v1.0/questions/<int:question_id>")

<int:question_id> - id вопроса.

Ответ

{
    "success": True
}

1.4 Subjects

POST

Пример запроса в формате json

{
    "name": {name}
}

name - название предмета.

Пример запроса

import requests

json = {
    "name": {name}
}

requests.post("http://{host}/app/api/v1.0/subjects/", json=json)

name - название предмета.

Ответ

{
    "success": True
}

GET

Пример запроса для всех subjects

import requests

requests.get("http://{host}/app/api/v1.0/subjects/")

Ответ

[
    {
        "id": {id},
        "subject": {subject}
    }
]

id - id предмета.
subject - название предмета.

Пример запроса для одного subject

import requests

requests.get("http://{host}/app/api/v1.0/subjects/<name>")

<name> - название предмета.

Ответ

{
    "id": {id},
    "subject": {subject}
}

id - id предмета.
subject - название предмета.

DELETE

Пример запроса

import requests

requests.delete("http://{host}/app/api/v1.0/subjects/<name>")

<name> - название предмета.

Ответ

{
    "success": True
}

1.5 Quizzes

POST

Пример запроса в формате json

{
    "room_id": {room_id}
}

room_id - id комнаты квиза.

Пример запроса

import requests

json = {
    "room_id": {room_id}
}
requests.post("http://{host}/app/api/v1.0/quizzes/", json=json)

room_id - id комнаты квиза.

Ответ

{
    "success": True
}

GET

Пример запроса

import requests

requests.get("http://{host}/app/api/v1.0/quizzes/<int:room_id>")

<int:room_id> - id комнаты квиза.

Ответ

{
    "id": {id}, 
    "room_id": {room_id}, 
    "start_at": {start_at}
}

id - id квиза.
room_id - id комнаты квиза.
start_at - дата начала квиза.

DELETE

Пример запроса

import requests

requests.delete("http://{host}/app/api/v1.0/quizzes/<int:room_id>")

<int:room_id> - id комнаты квиза.

Ответ

{
    "success": True
}