В API мастерской находятся методы, позволяющие просматривать, создавать, изменять и удалять работы. Одним словом CRUD.
Возвращает список доступных к просмотру работ в мастерской.
Имя | Описание | Тип данных | Стандартное значение |
---|---|---|---|
take |
Количество работ на одной странице. | number |
20 |
page |
Запрашиваемая страница. | number |
0 |
search |
Фрагмент названия/описания/id/имени автора для поиска. | string |
"" |
filters |
Список категорий, которые должны иметь возвращаемые работы. Передаются id категорий через запятую без пробела. |
string (array) |
"" |
sort |
Требуемый порядок сортировки. О возможных значениях ниже | string |
"" |
Возможные значения для параметра сортировки:
relevant_up
— Сначала наиболее актуальные.popular_up
— Сначала с наибольшим количеством звёзд.date_up
— Сначала более новые.name_up
— Сортировка по алфавиту.
Note
Данный эндпоинт не требует обязательной аутентификации, однако токен сессии, переданный в cookies будет учтён при составлении списка работ. Подробнее об этом ниже.
Если работа имеет категорию, имеющую параметр only_admins = true
или если работа имеет доступ только по ссылке, а так же если автор работы заблокирован на сайте, то она исключается из списка работ, возвращаемых этим эндпоинтом.
Note
Если пользователь имеет право ManageBandages
или является супер админом, то модификаторы доступа игнорируются. Так же если пользователь с такими правами запросит работы с категориями, имеющими параметры only_admins = true
, передав id
этих категорий в query параметре filters
, то вышеописанные правила так же проигнорируются и бекенд вернет такие работы.
Массив, состоящий из объектов повязки.
Поле | Описание | Тип данных |
---|---|---|
id |
Внутренний инкрементальный id повязки в базе данных. | number |
external_id |
Внешний id повязки. Используется в URL. | string |
title |
Заголовок повязки. | string |
description |
Описание повязки. | string | null |
base64 |
Изображение повязки в формате Base 64 . Префикс data:image/png;base64, не передается. |
string |
split_type |
Показывает, используются ли разные изображения для разных типов рук. | boolean |
creation_date |
Время создания повязки. | Date as string |
stars_count |
Количество пользователей, добавивших повязку в избранное | number |
starred |
Если передан токен авторизации, то параметр показывает, добавлена ли данная повязка у текущего пользователя в избранное. В ином случае всегда равно false . |
boolean |
author |
Профиль автора повязки. Об этом ниже. | Author |
categories |
Массив категорий повязки. Об этом ниже. | Category[] |
О пользователях подробнее в другом разделе.
Поле | Описание | Тип данных |
---|---|---|
id |
Id пользователя. | string |
name |
Глобальное имя пользователя. | string |
username |
Имя пользователя для URL. | string |
public |
Является ли профиль пользователя публичным. | boolean |
Поле | Описание | Тип данных |
---|---|---|
id |
id категории. | number |
name |
Название категории. | string |
icon |
Ключ иконки категории. | string |
Пример JSON ответа
{
"data": [
{
"id": 69,
"external_id": "coolid",
"title": "Повязка",
"description": "Описание",
"base64": "Base 64",
"split_type": false,
"creation_date": "2023-07-26T15:55:00.000Z",
"stars_count": 1,
"starred": false,
"author": {
"id": "69",
"name": "AndcoolSystems",
"username": "andcoolsystems",
"public": true
},
"categories": [
{
"id": 0,
"name": "Официальные",
"icon": "IconRosetteDiscountCheck"
},
{
"id": 6,
"name": "Тематические",
"icon": "IconBrush"
}
]
}
],
"totalCount": 41,
"next_page": 2
}
Strict Auth required
Создает новую работу в мастерской.
Note
Данный эндпоинт доступен только авторизованным пользователям!
Все повязки, создаваемые пользователем, автоматически получают категорию На проверке
, которая исключает её из мастерской до момента удаления. Один пользователь может иметь только 5 одновременных повязок на проверке! Общих ограничений по количеству нет.
Поле | Описание | Тип данных | Обязательный | Ограничения |
---|---|---|---|---|
base64 |
Повязка в формате Base 64 . |
string |
Да | - |
base64_slim |
Повязка в формате Base 64 для тонких рук. Обрабатывается только в случае, когда split_type равен split_type |
string |
Нет | - |
title |
Заголовок повязки | string |
Да | Длина от 1 до 50 символов |
description |
Описание повязки | string |
Нет | Длина до 300 символов |
categories |
Массив id категорий | number[] |
Да | - |
split_type |
Использовать ли разные повязки для разных типов рук. Делает параметр base64_slim обязательным |
boolean |
Нет | - |
Если параметр split_type
равен true
, то поле base64_slim
должно быть представлено в теле запроса. Так же в таком случае изображения повязок должны быть равны по высоте.
По умолчанию на повязку всегда применяется категория На проверке
, независимо от переданных категорий в теле запроса. Так же все категории проходят валидацию, где несуществующие или недоступные для установки категории (у которых reachable
равен true
) игнорируются.
Любая повязка должна иметь ширину в 16
пикселей и чётную высоту от 2
до 24
.
При удачном создании повязки, сервер вернёт HTTP код 201
и тело ответа:
Поле | Описание | Тип данных |
---|---|---|
external_id |
Внешний id повязки | string |
statusCode |
Дублирует HTTP Status Code | number |
Получить объект повязки.
Доступ к этому эндпоинту можно получить только передав Unique-Access
хедер в запрос, содержащий токен доступа. Токен не разглашается.
Поле | Описание | Тип данных |
---|---|---|
id |
Внутренний инкрементальный id повязки в базе данных. | number |
external_id |
Внешний id повязки. Используется в URL. | string |
title |
Заголовок повязки. | string |
description |
Описание повязки. | string | null |
base64 |
Изображение повязки в формате Base 64 . Префикс data:image/png;base64, не передается. |
string |
base64_slim |
Изображение повязки для тонких рук. Передаётся только если split_type равен true . |
string | undefined |
split_type |
Показывает, используются ли разные изображения для разных типов рук. | boolean |
creation_date |
Время создания повязки. | Date as string |
stars_count |
Количество пользователей, добавивших повязку в избранное | number |
starred |
Если передан токен авторизации, то параметр показывает, добавлена ли данная повязка у текущего пользователя в избранное. В ином случае всегда равно false . |
boolean |
author |
Профиль автора повязки. Об этом ниже. | Author |
categories |
Массив категорий повязки. Об этом ниже. | Category[] |
me_profile |
Привязанный к текущему пользователю Minecraft профиль. Об этом ниже. | Profile | undefined |
permissions_level |
Уровень доступа при редактировании. | number |
access_level |
Общий уровень доступа к повязке в мастерской. | number |
check_state |
Этап проверки повязки. | string | null |
permissions_level
показывает, какие действия пользователь может совершать с повязкой:
0
— Пользователь не является владельцем повязки, а так же админом.1
— Пользователь является владельцем повязки, но она уже прошла модерацию. (Об этом подробнее в разделе редактирования повязок). У него есть доступ к удалению, изменению категорий и уровня доступа.2
— Пользователь является админом с рольюManageBandages
или владельцем повязки во время модерации. Возможно совершать любое действие с повязкой.
access_level
показывает, кто и как может получить доступ к повязке:
0
— Доступ имеют только владелец и администраторы с правомManageBandages
1
— Доступ есть у всех, у кого есть ссылка. В мастерской эта повязка не видна.2
— Повязка отображается в мастерской.
check_state
показывает этап проверки повязки модерацией:
'under review'
— Повязка сейчас проходит модерацию.'denied'
— Повязка отклонена.null
— Повязка прошла модерацию.
Поле | Описание | Тип данных |
---|---|---|
uuid |
UUID профиля Minecraft. | string |
nickname |
Никнейм профиля Minecraft | string |
Профиль передается только в том случае, когда он подключён к аккаунту и в настройках включена автозагрузка скина в мастерской.
Пример JSON ответа
{
"statusCode": 200,
"data": {
"id": 69,
"external_id": "coolid",
"title": "Повязка",
"description": "Описание",
"base64": "base64",
"split_type": false,
"creation_date": "2023-07-26T15:55:00.000Z",
"stars_count": 1,
"starred": false,
"author": {
"id": "1",
"name": "AndcoolSystems",
"username": "andcoolsystems",
"public": true
},
"categories": [
{
"id": 0,
"name": "Официальные",
"icon": "IconRosetteDiscountCheck"
},
{
"id": 6,
"name": "Тематические",
"icon": "IconBrush"
}
],
"me_profile": {
"uuid": "1420c63cb1114453993fb3479ba1d4c6",
"nickname": "AndcoolSystems"
},
"permissions_level": 2,
"access_level": 2,
"check_state": null
}
}
Возвращает основную информацию о повязке. Используется для генерации Open Graph.
Доступ к этому эндпоинту можно получить только передав Unique-Access
хедер в запрос, содержащий токен доступа. Токен не разглашается.
Поле | Описание | Тип данных |
---|---|---|
id |
Внутренний инкрементальный id повязки в базе данных. | number |
external_id |
Внешний id повязки. Используется в URL. | string |
title |
Заголовок повязки. | string |
description |
Описание повязки. | string | null |
stars_count |
Количество пользователей, добавивших повязку в избранное | number |
average_og_color |
Средний цвет повязки в формате HEX | string |
author |
Профиль автора повязки. Об этом ниже. | Author |
Пример JSON ответа
{
"statusCode": 200,
"data": {
"id": 69,
"external_id": "coolid",
"title": "Повязка",
"description": "Описание",
"average_og_color": "#b46691",
"stars_count": 1,
"author": {
"id": "1",
"name": "AndcoolSystems",
"username": "andcoolsystems",
"public": true
}
}
}
GET /workshop/<external_id>/as_image
(Deprecated)
Content-Type: image/png
Возвращает изображение повязки в формате png
.
Имя | Описание | Тип данных | Стандартное значение |
---|---|---|---|
width |
Ширина повязки. Минимальный размер 16, максимальный 1024. Должен целочисленно делиться на 16 |
number |
512 |
Возвращает список категорий.
Имя | Описание | Тип данных | Стандартное значение |
---|---|---|---|
for_edit |
Показывает, должен ли бекенд возвращать категории, доступные только для применения при создании, а не для поиска. | boolean |
false |
Возвращает массив объектов, типа Category
Пример JSON ответа
[
{
"id": 0,
"name": "Официальные",
"icon": "IconRosetteDiscountCheck"
},
{
"id": 3,
"name": "Окрашиваемые",
"icon": "IconPalette"
}
]
Strict Auth required
Добавляет/удаляет повязку в избранное.
Имя | Описание | Тип данных |
---|---|---|
set |
Добавить или удалить повязку из избранного. | boolean |
Strict Auth required
Обновляет повязку.
Поле | Описание | Тип данных | Обязательный | Ограничения |
---|---|---|---|---|
title |
Заголовок повязки. | string |
Да | Длина от 1 до 50 символов |
description |
Описание повязки | string |
Нет | Длина до 300 символов |
categories |
Массив id категорий. | number[] |
Нет | - |
access_level |
Уровень доступа к повязке. | number |
Нет | - |
Во время проверки повязки её владелец имеет равные с администратором права на ее редактирование. После одобрения повязки, её владелец теряет возможность изменять описание и заголовок, администраторы же этого права не теряют. После создания повязки изменить ее изображение невозможно.
Если повязка до редактирования имела категории Официальные
, На проверке
, Отклонено
они так же принудительно добавляются к списку переданных категорий.
Strict Auth required
Удаляет повязку. Пользователь должен быть владельцем повязки или администратором.