Skip to content

Latest commit

 

History

History
352 lines (255 loc) · 15.9 KB

REST_Rus.md

File metadata and controls

352 lines (255 loc) · 15.9 KB

Source Search

Путь: POST source/search

Тело запроса:

{
    "query": "Строка поиска",
    "limit": 10,
    "cursor": "Строка курсора",
    "order": "Параметр сортировки"
}

Описание параметров запроса:

  • query (строка, обязательный): Используется для поиска по именам источников. Регистронезависимый поиск включен.
  • limit (целое число, опциональный): Ограничивает количество источников, которые возвращаются за один запрос. Максимальное значение может быть установлено на уровне сервера. Дефолтное значение 10.
  • cursor (строка, опциональный): Используется для пагинации. Это уникальный идентификатор, который указывает, где начать следующую выборку источников при больших объемах данных. Дефолтное значение null.
  • order (строка, опциональный): Определяет параметр сортировки источников. Допустимые значения: "name" (сортировка по имени), "source_type" (сортировка по типу источника), "waffler_score" (сортировка по оценке Waffler). Дефолтное значение "waffler_score".

Ответ:

{
    "sources": [
        {
            "id": "ID источника",
            "name": "Имя",
            "source_type": "Тип источника",
            "source_url": "URL источника",
            "waffler_score": "Waffler Score"
        },
        {
            "id": "ID источника",
            "name": "Имя",
            "source_type": "Тип источника",
            "source_url": "URL источника",
            "waffler_score": "Waffler Score"
        }
    ],
    "cursor": "Строка следующего курсора"
}

Описание ответа:

  • sources (массив объектов, обязательный): Список источников, соответствующих запросу. Каждый объект содержит следующие поля:
    • id (строка): Уникальный идентификатор источника.
    • name (строка): Имя источника.
    • source_type (строка): Тип источника. Допустимые значения: "tg", "youtube", и т.д.
    • source_url (строка): URL источника.
    • waffler_score (число): Оценка Waffler.
  • cursor (строка): Уникальный идентификатор следующей страницы источников. Возвращается только в том случае, если есть еще доступные страницы. Должен использоваться в качестве значения cursor в следующем запросе для получения следующей страницы источников.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

Source Score

Путь: POST /source/score

Тело запроса:

{
    "source_id": "ID источника",
    "type": "Тип счета",
    "limit": 10,
    "cursor": "Строка курсора",
    "order": "Параметр сортировки"
}

Описание параметров запроса:

  • source_id (строка, обязательный): Используется для идентификации источника, для которого нужно получить счета.
  • type (строка, обязательный): Определяет тип счета, который нужно получить. Например, "waffler".
  • limit (целое число, опциональный): Ограничивает количество записей счета, которые возвращаются за один запрос. Максимальное значение может быть установлено на уровне сервера. Дефолтное значение 10.
  • cursor (строка, опциональный): Используется для пагинации. Это уникальный идентификатор, который указывает, где начать следующую выборку записей при больших объемах данных. Дефолтное значение null.
  • order (строка, опциональный): Определяет параметр сортировки записей. Допустимые значения: "score" (сортировка по счету), "timestamp" (сортировка по дате записи). Дефолтное значение "timestamp".

Ответ:

{
    "records": [
        {
            "record_text": "Текст записи",
            "score": "Счет",
            "timestamp": "Время записи"
        },
        {
            "text": "Текст записи",
            "score": "Счет",
            "timestamp": "Время записи"
        }
    ],
    "cursor": "Строка следующего курсора"
}

Описание ответа:

  • records (массив объектов, обязательный): Список записей, соответствующих запросу. Каждый объект содержит следующие поля:
    • text (строка): Текст записи.
    • score (число): Счет, соответствующий данной записи.
    • timestamp (строка): Время, когда была сделана запись.
  • cursor (строка): Уникальный идентификатор следующей страницы записей. Возвращается только в том случае, если есть еще доступные страницы. Должен использоваться в качестве значения cursor в следующем запросе для получения следующей страницы записей.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

Source Info

Путь: POST /source/info

Тело запроса:

{
    "source_url": "URL источника"
}

Описание параметров запроса:

  • source_url (строка, обязательный): URL источника, для которого нужно получить информацию.

Ответ:

{
    "name": "Имя источника",
    "type": "Тип источника"
}

Описание ответа:

  • name (строка): Имя источника, соответствующее переданному URL. Если URL недействителен или отсутствует, вернется пустая строка.
  • type (строка): Тип источника, соответствующий переданному URL. Если URL недействителен или отсутствует, вернется "Unknown".

Коды ошибок:

  • 400 Bad Request: Если параметр запроса неверный или отсутствует.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

Source Parse

Путь: ws://waffler.vercel.app/source/parse

Параметры запроса:

  • source_url (строка, обязательный): URL источника, который нужно обработать.
  • score_type (строка, обязательный): Тип счета, который нужно вычислить для обработанной информации.
  • parser (объект, обязательный): Объект, содержащий информацию о парсере, который будет использован для обработки источника.
    • type (строка): Тип парсера. Например, "GPT".
    • token (строка): Токен, используемый парсером для доступа к источнику или обработки данных.
  • client_id (строка, обязательный): id клиента для поддрежки работы вебсокета (если это вообще нужно в современых вебсокетах).

Пример сообщений от сервера:

{
    "progress": "Статус прогресса"
}

Описание сообщений от сервера:

  • progress (строка): Статус прогресса обработки источника. Может быть обновлен в реальном времени для отображения на прогрессбаре на стороне клиента.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

User Auth

Путь: POST /user/auth

Тело запроса:

{
    "username": "Имя пользователя",
    "password": "Пароль"
}

или

{
    "refresh_token": "Токен обновления"
}

Описание параметров запроса:

  • username (строка, обязательный если не используется refresh_token): Имя пользователя для входа в систему.
  • password (строка, обязательный если не используется refresh_token): Пароль пользователя.
  • refresh_token (строка, обязательный если не используются username и password): Токен обновления для входа в систему.

Ответ:

{
    "access_token": "Токен сессии",
    "refresh_token": "Токен обновления"
}

Описание ответа:

  • access_token (строка): Токен сессии, который клиент должен использовать для аутентификации последующих запросов.
  • refresh_token (строка): Токен обновления, который клиент может использовать для получения нового access_token после истечения срока его действия.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 401 Unauthorized: Если имя пользователя или пароль неверные, или если refresh_token недействителен.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

User Register

Путь: POST /user/register

Тело запроса:

{
    "username": "Имя пользователя",
    "password": "Пароль"
}

Описание параметров запроса:

  • username (строка, обязательный): Имя пользователя для регистрации в системе.
  • password (строка, обязательный): Пароль пользователя.

Ответ:

{
    "access_token": "Токен сессии",
    "refresh_token": "Токен обновления"
}

Описание ответа:

  • access_token (строка): Токен сессии, который клиент должен использовать для аутентификации последующих запросов.
  • refresh_token (строка): Токен обновления, который клиент может использовать для получения нового access_token после истечения срока его действия.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 409 Conflict: Если имя пользователя уже существует.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

User Info

Путь: GET /user/info

Тело запроса:

{
    "access_token": "Токен сессии"
}

Описание параметров запроса:

  • access_token (строка, обязательный): Токен сессии, который используется для аутентификации пользователя.

Ответ:

{
    "parser": {
        "type": "Тип парсера",
        "token": "Токен парсера"
    },
    "locale": "Язык"
}

Описание ответа:

  • parser (объект, может быть не определен): Информация о парсере пользователя.
    • type (строка): Тип парсера. Например, "GPT".
    • token (строка): Токен парсера.
  • locale (строка, может быть не определен): Язык пользователя.

Коды ошибок:

  • 401 Unauthorized: Если access_token недействителен.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.

User Save

Путь: POST /user/save

Тело запроса:

{
    "access_token": "Токен сессии",
    "parser": {
        "type": "Тип парсера",
        "token": "Токен парсера"
    },
    "locale": "Язык"
}

Описание параметров запроса:

  • access_token (строка, обязательный): Токен сессии, который используется для аутентификации пользователя.
  • parser (объект, опциональный): Информация о парсере, которую нужно сохранить для пользователя.
    • type (строка): Тип парсера. Например, "GPT".
    • token (строка): Токен парсера.
  • locale (строка, опциональный): Язык пользователя, который нужно сохранить.

Ответ:

{
    "message": "Сообщение об успешном сохранении"
}

Описание ответа:

  • message (строка): Сообщение, подтверждающее успешное сохранение данных пользователя. Фактический текст сообщения может варьироваться в зависимости от реализации на сервере.

Коды ошибок:

  • 400 Bad Request: Если параметры запроса неверные или отсутствуют.
  • 401 Unauthorized: Если access_token недействителен.
  • 500 Internal Server Error: Если произошла внутренняя ошибка сервера.