You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

203 lines
7.5 KiB

syntax = "proto2";
import "steammessages_base.proto";
import "steammessages_unified_base.proto";
import "steammessages_storebrowse.proto";
option py_generic_services = true;
enum EMarketingMessageType {
k_EMarketingMessageInvalid = 0;
k_EMarketingMessageNowAvailable = 1;
k_EMarketingMessageWeekendDeal = 2;
k_EMarketingMessagePrePurchase = 3;
k_EMarketingMessagePlayNow = 4;
k_EMarketingMessagePreloadNow = 5;
k_EMarketingMessageGeneral = 6;
k_EMarketingMessageDemoQuit = 7;
k_EMarketingMessageGifting = 8;
k_EMarketingMessageEJsKorner = 9;
}
enum EMarketingMessageVisibility {
k_EMarketingMessageVisibleBeta = 1;
k_EMarketingMessageVisiblePublic = 2;
}
enum EMarketingMessageAssociationType {
k_EMarketingMessageNoAssociation = 0;
k_EMarketingMessageAppAssociation = 1;
k_EMarketingMessageSubscriptionAssociation = 2;
k_EMarketingMessagePublisherAssociation = 3;
k_EMarketingMessageGenreAssociation = 4;
k_EMarketingMessageBundleAssociation = 5;
}
enum EMarketingMessageLookupType {
k_EMarketingMessageLookupInvalid = 0;
k_EMarketingMessageLookupByGID = 1;
k_EMarketingMessageLookupActive = 2;
k_EMarketingMessageLookupByTitleWithType = 3;
k_EMarketingMessageLookupByGIDList = 4;
}
message CMarketingMessages_GetActiveMarketingMessages_Request {
optional string country = 1;
}
message CMarketingMessageProto {
optional fixed64 gid = 1;
optional string title = 2;
optional .EMarketingMessageType type = 3 [default = k_EMarketingMessageInvalid];
optional .EMarketingMessageVisibility visibility = 4 [default = k_EMarketingMessageVisibleBeta];
optional uint32 priority = 5;
optional .EMarketingMessageAssociationType association_type = 6 [default = k_EMarketingMessageNoAssociation];
optional uint32 associated_id = 7;
optional string associated_name = 8;
optional uint32 start_date = 9;
optional uint32 end_date = 10;
optional string country_allow = 11;
optional string country_deny = 12;
optional bool ownership_restrictions_overridden = 13;
optional uint32 must_own_appid = 14;
optional uint32 must_not_own_appid = 15;
optional uint32 must_own_packageid = 16;
optional uint32 must_not_own_packageid = 17;
optional uint32 must_have_launched_appid = 18;
optional string additional_restrictions = 19;
optional string template_type = 20;
optional string template_vars = 21;
optional uint32 flags = 22;
optional string creator_name = 23;
}
message CMarketingMessages_GetActiveMarketingMessages_Response {
repeated .CMarketingMessageProto messages = 1;
optional uint32 time_next_message_age = 2;
}
message CMarketingMessages_GetMarketingMessagesForUser_Request {
optional bool include_seen_messages = 1;
optional string country_code = 2;
optional int32 elanguage = 3;
optional int32 operating_system = 4 [(description) = "EOSType from client"];
optional int32 client_package_version = 5;
optional .StoreBrowseContext context = 6 [(description) = "Optional, server can fill in from country code/language if not set"];
optional .StoreBrowseItemDataRequest data_request = 7 [(description) = "If passed, item data will be returned"];
}
message CDisplayMarketingMessage {
optional fixed64 gid = 1;
optional string title = 2;
optional .EMarketingMessageType type = 3 [default = k_EMarketingMessageInvalid];
optional .StoreItemID associated_item_id = 4;
optional .StoreItem associated_item = 5;
optional string associated_name = 6;
optional string template_type = 10;
optional string template_vars_json = 11;
}
message CMarketingMessages_GetMarketingMessagesForUser_Response {
message MarketingMessageForUser {
optional bool already_seen = 1;
optional .CDisplayMarketingMessage message = 2;
}
repeated .CMarketingMessages_GetMarketingMessagesForUser_Response.MarketingMessageForUser messages = 1;
}
message CMarketingMessages_GetDisplayMarketingMessage_Request {
optional fixed64 gid = 1;
optional .StoreBrowseContext context = 2;
optional .StoreBrowseItemDataRequest data_request = 3 [(description) = "If passed, item data will be returned"];
}
message CMarketingMessages_GetDisplayMarketingMessage_Response {
optional .CDisplayMarketingMessage message = 1;
}
message CMarketingMessages_MarkMessageSeen_Notification {
optional fixed64 gid = 1;
}
message CMarketingMessages_GetMarketingMessage_Request {
optional fixed64 gid = 1;
}
message CMarketingMessages_GetMarketingMessage_Response {
optional .CMarketingMessageProto message = 1;
}
message CMarketingMessages_CreateMarketingMessage_Request {
optional .CMarketingMessageProto message = 1;
}
message CMarketingMessages_CreateMarketingMessage_Response {
optional fixed64 gid = 1;
}
message CMarketingMessages_UpdateMarketingMessage_Request {
optional fixed64 gid = 1;
optional .CMarketingMessageProto message = 2;
}
message CMarketingMessages_UpdateMarketingMessage_Response {
}
message CMarketingMessages_DeleteMarketingMessage_Request {
optional fixed64 gid = 1;
}
message CMarketingMessages_DeleteMarketingMessage_Response {
}
message CMarketingMessages_FindMarketingMessages_Request {
optional .EMarketingMessageLookupType lookup_type = 1 [default = k_EMarketingMessageLookupInvalid];
optional fixed64 gid = 2;
optional .EMarketingMessageType message_type = 3 [default = k_EMarketingMessageInvalid];
repeated fixed64 gidlist = 4;
optional string title = 5;
}
message CMarketingMessages_FindMarketingMessages_Response {
repeated .CMarketingMessageProto messages = 1;
}
service MarketingMessages {
option (service_description) = "Marketing message data (\"Steam News\" updates at client startup).";
rpc GetActiveMarketingMessages (.CMarketingMessages_GetActiveMarketingMessages_Request) returns (.CMarketingMessages_GetActiveMarketingMessages_Response) {
option (method_description) = "Get a list of active marketing messages.";
}
rpc GetMarketingMessagesForUser (.CMarketingMessages_GetMarketingMessagesForUser_Request) returns (.CMarketingMessages_GetMarketingMessagesForUser_Response) {
option (method_description) = "Get a list of active marketing messages filtered for a specific user.";
}
rpc GetDisplayMarketingMessage (.CMarketingMessages_GetDisplayMarketingMessage_Request) returns (.CMarketingMessages_GetDisplayMarketingMessage_Response) {
option (method_description) = "Get a single marketing message, cacheable.";
}
rpc MarkMessageSeen (.CMarketingMessages_MarkMessageSeen_Notification) returns (.NoResponse) {
option (method_description) = "Mark that a user has viewed a message (so we won't show it again)'.";
}
rpc GetMarketingMessage (.CMarketingMessages_GetMarketingMessage_Request) returns (.CMarketingMessages_GetMarketingMessage_Response) {
option (method_description) = "Get a single marketing message. Admin account needed for non-active messages";
}
rpc CreateMarketingMessage (.CMarketingMessages_CreateMarketingMessage_Request) returns (.CMarketingMessages_CreateMarketingMessage_Response) {
option (method_description) = "Create a new marketing message.";
}
rpc UpdateMarketingMessage (.CMarketingMessages_UpdateMarketingMessage_Request) returns (.CMarketingMessages_UpdateMarketingMessage_Response) {
option (method_description) = "Modify a marketing message.";
}
rpc DeleteMarketingMessage (.CMarketingMessages_DeleteMarketingMessage_Request) returns (.CMarketingMessages_DeleteMarketingMessage_Response) {
option (method_description) = "Delete a marketing message.";
}
rpc FindMarketingMessages (.CMarketingMessages_FindMarketingMessages_Request) returns (.CMarketingMessages_FindMarketingMessages_Response) {
option (method_description) = "Search for marketing messages by name, type, etc.";
}
}