steamkit-protos 0.1.0

This crate is designed to be a bunch of tools for interacting with the Steam API.
Documentation
import "steammessages_base.proto";
import "steammessages_unified_base.steamclient.proto";

option cc_generic_services = true;

message CEcon_GetInventoryItemsWithDescriptions_Request {
	message FilterOptions {
		repeated uint64 assetids = 1;
		repeated uint32 currencyids = 2;
		optional bool tradable_only = 3;
		optional bool marketable_only = 4;
	}

	optional fixed64 steamid = 1;
	optional uint32 appid = 2;
	optional uint64 contextid = 3;
	optional bool get_descriptions = 4;
	optional bool for_trade_offer_verification = 10;
	optional string language = 5;
	optional .CEcon_GetInventoryItemsWithDescriptions_Request.FilterOptions filters = 6;
	optional uint64 start_assetid = 8;
	optional int32 count = 9;
}

message CEcon_Asset {
	optional uint32 appid = 1;
	optional uint64 contextid = 2;
	optional uint64 assetid = 3;
	optional uint64 classid = 4;
	optional uint64 instanceid = 5;
	optional uint32 currencyid = 6 [(description) = "Set currencyid if it's a currency, assetid for an item"];
	optional int64 amount = 7;
	optional bool missing = 8;
	optional int64 est_usd = 9;
}

message CEconItem_DescriptionLine {
	optional string type = 1;
	optional string value = 2;
	optional string color = 3;
	optional string label = 4;
}

message CEconItem_Action {
	optional string link = 1;
	optional string name = 2;
}

message CEconItem_Description {
	optional int32 appid = 1;
	optional uint64 classid = 2;
	optional uint64 instanceid = 3;
	optional bool currency = 4;
	optional string background_color = 5;
	optional string icon_url = 6;
	optional string icon_url_large = 7;
	repeated .CEconItem_DescriptionLine descriptions = 8;
	optional bool tradable = 9;
	repeated .CEconItem_Action actions = 10;
	repeated .CEconItem_DescriptionLine owner_descriptions = 11;
	repeated .CEconItem_Action owner_actions = 12;
	repeated string fraudwarnings = 13;
	optional string name = 14;
	optional string name_color = 15;
	optional string type = 16;
	optional string market_name = 17;
	optional string market_hash_name = 18;
	optional string market_fee = 19;
	optional int32 market_fee_app = 28;
	optional .CEconItem_Description contained_item = 20;
	repeated .CEconItem_Action market_actions = 21;
	optional bool commodity = 22;
	optional int32 market_tradable_restriction = 23;
	optional int32 market_marketable_restriction = 24;
	optional bool marketable = 25;
	repeated .CEconItem_Tag tags = 26;
	optional string item_expiration = 27;
	optional string market_buy_country_restriction = 30;
	optional string market_sell_country_restriction = 31;
}

message CEconItem_Tag {
	optional uint32 appid = 1 [(description) = "The app that contains the item"];
	optional string category = 2 [(description) = "The internal name of the category the tag belongs to"];
	optional string internal_name = 3 [(description) = "The internal name of the tag"];
	optional string localized_category_name = 4 [(description) = "The localized name of the category"];
	optional string localized_tag_name = 5 [(description) = "The localized name of the tag"];
	optional string color = 6 [(description) = "The color to use when displaying the tag to the user"];
}

message CEcon_GetInventoryItemsWithDescriptions_Response {
	repeated .CEcon_Asset assets = 1;
	repeated .CEconItem_Description descriptions = 2;
	repeated .CEcon_Asset missing_assets = 3 [(description) = "This list of assets in the original list we could not find in the users inventory"];
	optional bool more_items = 4;
	optional uint64 last_assetid = 5;
	optional uint32 total_inventory_count = 6;
}

message CEcon_GetTradeOfferAccessToken_Request {
	optional bool generate_new_token = 1;
}

message CEcon_GetTradeOfferAccessToken_Response {
	optional string trade_offer_access_token = 1;
}

message CEcon_ClientGetItemShopOverlayAuthURL_Request {
	optional string return_url = 1;
}

message CEcon_ClientGetItemShopOverlayAuthURL_Response {
	optional string url = 1;
}

message CEcon_GetAssetClassInfo_Request {
	message Class {
		optional uint64 classid = 1;
		optional uint64 instanceid = 2;
	}

	optional string language = 1;
	optional uint32 appid = 2;
	repeated .CEcon_GetAssetClassInfo_Request.Class classes = 3;
}

message CEcon_GetAssetClassInfo_Response {
	repeated .CEconItem_Description descriptions = 1;
}

service Econ {
	option (service_description) = "A service that provides communication with the econ servers";

	rpc GetInventoryItemsWithDescriptions (.CEcon_GetInventoryItemsWithDescriptions_Request) returns (.CEcon_GetInventoryItemsWithDescriptions_Response) {
		option (method_description) = "Gets a set of items from a users inventory, along with descriptions";
	}

	rpc GetTradeOfferAccessToken (.CEcon_GetTradeOfferAccessToken_Request) returns (.CEcon_GetTradeOfferAccessToken_Response) {
		option (method_description) = "Get the user's trade offer access token";
	}

	rpc ClientGetItemShopOverlayAuthURL (.CEcon_ClientGetItemShopOverlayAuthURL_Request) returns (.CEcon_ClientGetItemShopOverlayAuthURL_Response) {
		option (method_description) = "Generates a URL which sets a secure cookie for in-game-browser itemshop purchases";
	}

	rpc GetAssetClassInfo (.CEcon_GetAssetClassInfo_Request) returns (.CEcon_GetAssetClassInfo_Response) {
		option (method_description) = "Returns description information about the passed in asset classes";
	}
}