Skip to content

Instantly share code, notes, and snippets.

@priyankcommits
Last active May 9, 2017 18:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save priyankcommits/88513fca3144d7888251e660d00c0192 to your computer and use it in GitHub Desktop.
Save priyankcommits/88513fca3144d7888251e660d00c0192 to your computer and use it in GitHub Desktop.
example_proto2.proto
syntax = "proto3";
package com;
/* Service definitions */
service COMService {
/* get all IOs for an account */
rpc GetIOs (Account) returns (IOs) {}
/* get a single IO */
rpc GetIO (IO) returns (IO) {}
/* get all line items for an IO */
rpc GetLineItems (IO) returns (LineItems) {}
/* get a single line item */
rpc GetLineItem (LineItem) returns (LineItem) {}
/* get all creatives for an account */
rpc GetCreativesForAccount (Account) returns (Creatives) {}
/* get all creates for a line item */
rpc GetCreatives (LineItem) returns (Creatives) {}
/* get a single creative */
rpc GetCreative (Creative) returns (Creative) {}
}
/* Messages */
/* Platform - enum to hold different platforms */
message PlatformType {
enum enum {
SFDC = 0;
FACEBOOK = 1;
}
}
/* Account message */
message Account {
string id = 1;
string name = 2;
PlatformType type = 3;
}
/* user message */
message User {
string id = 1;
string email = 2;
string token = 3;
PlatformType type = 4;
}
/* Array of IO */
message IOs {
repeated IO data = 1;
}
/* IO message */
message IO {
string account_id = 1;
string id = 2;
string name = 3;
string start_date = 4;
string end_date = 5;
SFDCIOFields sfdc_fields = 6;
FacebookIOFields fb_fields = 7;
}
/* SFDC oppotunity extra fields message */
message SFDCIOFields {
string sfdc_field_1 = 1;
}
/* Facebook campaign extra fields message */
message FacebookIOFields {
string fb_field_1 = 1;
}
/* Array of Line Item */
message LineItems {
repeated LineItem data = 1;
}
/* Line Item message */
message LineItem {
string io_id = 1;
string id = 2;
string name = 3;
SFDCLineItemFields sfdc_line_item_fields = 4;
FacebookLineItemFields fb_line_item_fields = 5;
}
/* SFDC line item extra fields message */
message SFDCLineItemFields {
string sfdc_field_1 = 1;
}
/* Facebook adset extra fields message */
message FacebookLineItemFields {
string fb_field_1 = 1;
}
/* Array of Creative */
message Creatives {
repeated Creative data = 1;
}
/* Creative message */
message Creative {
string line_item_id = 1;
string account_id = 2;
string id = 3;
string name = 4;
SFDCCreativeFields sfdc_creative_fields = 5;
FacebookCreativeFields fb_creative_fields = 6;
}
/* SFDC creative set extra fields message */
message SFDCCreativeFields {
string sfdc_field_1 = 1;
}
/* Facebook creative extra fields message */
message FacebookCreativeFields {
string fb_field_1 = 1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment