Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.
Путь: GET /user/info
Тело запроса:
{
"access_token": "Токен сессии"
}
Описание параметров запроса:
access_token
(строка, обязательный): Токен сессии, который используется для аутентификации пользователя.
Ответ:
{
"parser": {
"type": "Тип парсера",
"token": "Токен парсера"
},
"locale": "Язык"
}
Описание ответа:
parser
(объект, может быть не определен): Информация о парсере пользователя.type
(строка): Тип парсера. Например, "GPT".token
(строка): Токен парсера.
locale
(строка, может быть не определен): Язык пользователя.
Коды ошибок:
401 Unauthorized
: Еслиaccess_token
недействителен.500 Internal Server Error
: Если произошла внутренняя ошибка сервера.
Путь: 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
: Если произошла внутренняя ошибка сервера.