Документация Steamworks
Интерфейс IPublishedFileService
Предоставляет дополнительные методы взаимодействия с предметами из мастерской Steam.

Основной интерфейс — ISteamRemoteStorage, см. также ICloudService.

Обратите внимание: это служебный интерфейс, поэтому методы в нём должны вызываться с помощью параметра input_json.

Дополнительная информация об использовании веб-API Steamworks доступна в разделе Обзор веб-API.

Delete

GET https://api.steampowered.com/IPublishedFileService/Delete/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации пользователя.
publishedfileiduint64Предмет, который нужно удалить.
appiduint32Приложение, к которому относится предмет.

Удаляет предмет.

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

QueryFiles

GET https://api.steampowered.com/IPublishedFileService/QueryFiles/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации пользователя.
query_typeuint32IPublishedFileService#EPublishedFileQueryType
pageuint32Текущая страница. В данный момент верхний лимит — 1000.
cursorstringКурсор для просмотра страниц результатов (задан на '*' для первого запроса). Рекомендуется вместо использования параметра страницы, поскольку позволит выполнить глубокую разбивку на страницы. Используемый параметр страницы будет проигнорирован. Используйте значение параметра next_cursor, возвращённое в ответе, в следующем запросе для получения следующего набора результатов.
numperpageuint32(Необязательный параметр) Число возвращаемых результатов на страницу.
creator_appiduint32Приложение, создавшее файлы.
appiduint32Приложение, использующее файлы.
requiredtagsstringМетки, по которым будут проверяться опубликованные файлы. См. параметр match_all_tags ниже.
excludedtagsstring(Необязательный параметр) Метки, которых НЕ должно быть в опубликованном файле для соответствия запросу.
match_all_tagsboolЕсли true, у предметов должны быть все указанные метки. В противном случае предметы должны иметь как минимум одну из них.
required_flagsstringНеобходимые флаги, которые должны быть установлены на все возвращённые предметы.
omitted_flagsstringФлаги, которые нельзя устанавливать на возвращённые предметы.
search_textstringТекст, соответствующий названию или описанию предмета.
filetypeuint32IPublishedFileService#EPublishedFileInfoMatchingFileType
child_publishedfileiduint64Поиск всех предметов, которые ссылаются на данный предмет.
daysuint32Если query_type соответствует k_PublishedFileQueryType_RankedByTrend, это означает число дней, в течение которых необходимо получить голоса для [1,7].
include_recent_votes_onlyboolЕсли query_type соответствует k_PublishedFileQueryType_RankedByTrend, результат ограничивается только предметами, за которые проголосовали в пределах указанных дней.
cache_max_age_secondsuint32Позволяет возвращение устаревших данных в течение указанного количества секунд.
languageint32Язык поиска и возвращаемой информации. По умолчанию — английский.
required_kv_tags{message}Метки «ключ-значение», которые должны совпадать.
totalonlybool(Необязательный параметр) Если true, возвращает только общее число файлов, соответствующих запросу.
ids_onlybool(Необязательный параметр) Если true, возвращает только идентификаторы опубликованных файлов, соответствующих запросу.
return_vote_databoolВозвращает информацию о голосовании.
return_tagsboolВозвращает метки в сведениях о файле.
return_kv_tagsboolВозвращает метки «ключ-значение» в сведениях о файле.
return_previewsboolВозвращает изображение для предпросмотра и информацию о видео в сведениях о файле.
return_childrenboolВозвращает идентификаторы связанных предметов в сведениях о файле.
return_short_descriptionboolЗаполняет поле short_description вместо file_description.
return_for_sale_databoolВозвращает информацию о ценах, если таковые имеются.
return_metadataboolЗаполняет метаданные.
return_playtime_statsuint32Возвращает статистику игрового времени за определённое число дней до сегодняшнего.

Выполняет запрос поиска опубликованных файлов.
Обратите внимание: вы можете отправлять запросы, используя параметры filetype (IPublishedFileService#EPublishedFileInfoMatchingFileType), однако в результатах будет содержаться значение file_type. Это значение будет соответствовать ISteamRemoteStorage#EWorkshopFileType.

SetDeveloperMetadata

POST https://partner.steam-api.com/IPublishedFileService/SetDeveloperMetadata/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
publishedfileiduint64
appiduint32
metadatastring

Задаёт метаданные для разработчика в опубликованном файле.

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО нужно вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

UpdateAppUGCBan

POST https://partner.steam-api.com/IPublishedFileService/UpdateAppUGCBan/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
steamiduint64SteamID пользователя.
appiduint32
expiration_timestringВременная метка окончания блокировки в формате UNIX, 0 — для удаления.
reasonuint64Причина, по которой пользователь был заблокирован. Будет показана пользователю.

Добавляет, обновляет или отменяет блокировку на пользовательские предметы в приложении. Чтобы отменить блокировку, для expiration_time выберите значение «0».

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО нужно вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

UpdateBanStatus

POST https://partner.steam-api.com/IPublishedFileService/UpdateBanStatus/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
publishedfileiduint64
appiduint32
bannedbool
reasonstringПричина, по которой предмет был заблокирован. Видят только администраторы.

Обновляет статус блокировки в опубликованном файле.

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО нужно вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

UpdateIncompatibleStatus

POST https://partner.steam-api.com/IPublishedFileService/UpdateIncompatibleStatus/v1/
НазваниеТипОбязательно?Описание
keyuint64Ключ веб-API Steamworks для аутентификации издателя.
publishedfileiduint64
appiduint32
incompatiblebool

Обновляет статус несовместимости в опубликованном файле. «Несовместимые» предметы скрыты в центрах сообщества и профилях пользователей, но доступны по прямой ссылке.

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО нужно вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

UpdateTags

POST https://partner.steam-api.com/IPublishedFileService/UpdateTags/v1/
НазваниеТипОбязательно?Описание
keystringКлюч веб-API Steamworks для аутентификации издателя.
publishedfileiduint64
appiduint32
add_tagsuint32Метки, которые нужно добавить
remove_tagsstringМетки, которые нужно удалить

Обновляет метки в опубликованном файле. Существующие метки не будут удалены, за исключением случаев, когда они указаны в параметре remove_tags.

Обратите внимание: этот вызов требует наличие API-ключа издателя. Поэтому этот API ОБЯЗАТЕЛЬНО вызывать с защищённого сервера и ни при каких обстоятельствах не допускать его использование клиентами!

Перечисления

Далее приведён список перечислений, которые определены для использования с ISteamRemoteStorage.

EPublishedFileQueryType

Как отправить запрос о пользовательских предметах.

НазваниеЗначение
k_PublishedFileQueryType_RankedByVote0
k_PublishedFileQueryType_RankedByPublicationDate1
k_PublishedFileQueryType_AcceptedForGameRankedByAcceptanceDate2
k_PublishedFileQueryType_RankedByTrend3
k_PublishedFileQueryType_FavoritedByFriendsRankedByPublicationDate4
k_PublishedFileQueryType_CreatedByFriendsRankedByPublicationDate5
k_PublishedFileQueryType_RankedByNumTimesReported6
k_PublishedFileQueryType_CreatedByFollowedUsersRankedByPublicationDate7
k_PublishedFileQueryType_NotYetRated8
k_PublishedFileQueryType_RankedByTotalUniqueSubscriptions9
k_PublishedFileQueryType_RankedByTotalVotesAsc10
k_PublishedFileQueryType_RankedByVotesUp11
k_PublishedFileQueryType_RankedByTextSearch12
k_PublishedFileQueryType_RankedByPlaytimeTrend13
k_PublishedFileQueryType_RankedByTotalPlaytime14
k_PublishedFileQueryType_RankedByAveragePlaytimeTrend15
k_PublishedFileQueryType_RankedByLifetimeAveragePlaytime16
k_PublishedFileQueryType_RankedByPlaytimeSessionsTrend17
k_PublishedFileQueryType_RankedByLifetimePlaytimeSessions18
k_PublishedFileQueryType_RankedByInappropriateContentRating19
k_PublishedFileQueryType_RankedByBanContentCheck20
k_PublishedFileQueryType_RankedByLastUpdatedDate21

EPublishedFileInfoMatchingFileType

Как отправить запрос к общему файлу с помощью QueryFile.

НазваниеЗначениеОписание
k_PFI_MatchingFileType_Items0Предметы.
k_PFI_MatchingFileType_Collections1Коллекция предметов мастерской.
k_PFI_MatchingFileType_Art2Иллюстрации.
k_PFI_MatchingFileType_Videos3Видео.
k_PFI_MatchingFileType_Screenshots4Скриншоты.
k_PFI_MatchingFileType_CollectionEligible5Предметы, которые можно добавить в коллекцию.
k_PFI_MatchingFileType_Games6Не используется.
k_PFI_MatchingFileType_Software7Не используется.
k_PFI_MatchingFileType_Concepts8Не используется.
k_PFI_MatchingFileType_GreenlightItems9Не используется.
k_PFI_MatchingFileType_AllGuides10Руководства.
k_PFI_MatchingFileType_WebGuides11Веб-руководство Steam.
k_PFI_MatchingFileType_IntegratedGuides12Интегрированное руководство для приложения.
k_PFI_MatchingFileType_UsableInGame13
k_PFI_MatchingFileType_Merch14Атрибутика мастерской, которая предназначена для того, чтобы за неё можно было проголосовать. Создаётся для продажи.
k_PFI_MatchingFileType_ControllerBindings15Настройки управления Steam Controller.
k_PFI_MatchingFileType_SteamworksAccessInvites16Для внутреннего использования.
k_PFI_MatchingFileType_Items_Mtx17Предметы мастерской, которые можно продавать в игре.
k_PFI_MatchingFileType_Items_ReadyToUse18Предметы мастерской, которые игрок может использовать сразу.
k_PFI_MatchingFileType_WorkshopShowcase19
k_PFI_MatchingFileType_GameManagedItems20Управляется игрой, а не пользователем. Не показывается в сети.