Common types¶
While each integration type has it's own gRPC methods and data-types that must be conformed to, there are certain data types that are shared across all integrations. These types are outline below.
For up-to-date list, please refer to the latest protocol definitions.
Errors¶
Provides a way to ensure detailed information about errors can be sent back to Accedo One
syntax = "proto3";
package common;
import "google/protobuf/any.proto";
import "external/common/types.proto";
option java_package = "tv.accedo.one.core.proto.common";
message ErrorDetails {
string requestId = 1;
// Error message arguments
map<string, MessageArgValue> messageArgs = 2;
// These two fields are only used for debugging purposes and will not be exposed publicly
string cause = 100;
string stack = 101;
google.protobuf.Any details = 1000;
message MessageArgValue {
oneof value {
string string = 1;
Strings strings = 2;
int32 integer = 3;
Integers integers = 4;
}
}
}
message ErrorDetailsStringMap {
map<string, string> errors = 1;
}
message ErrorDetailsStringsMap {
map<string, Values> errors = 1;
message Values {
repeated string values = 1;
}
}
Integration Config¶
Configuration parameters are sent to each integration service in a uniform manner. These parameters are abstracted with the following types.
syntax = "proto3";
package common;
import "google/protobuf/timestamp.proto";
import "external/common/types.proto";
option java_package = "tv.accedo.one.core.proto.common";
message IntegrationConfiguration {
map<string, CustomField> values = 1;
}
message IntegrationStatusRequest {
}
message IntegrationStatusResponse {
string integrationId = 1;
google.protobuf.Timestamp timestamp = 2;
Status status = 10;
map<string, ComponentStatusDetails> componentStatus = 11;
message ComponentStatusDetails {
string name = 1;
IntegrationStatusResponse.Status status = 2;
string details = 3;
}
enum Status {
UNKNOWN = 0;
UP = 1;
DOWN = 2;
}
}
Custom Types¶
While Protocol Buffers are versatile in their basic form, often there is a need for more specialized types, especially in a more complex scenarios (such as oneof
repeated types). These are the types that may be shared by multiple integrations.
syntax = "proto3";
package common;
import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
option java_package = "tv.accedo.one.core.proto.common";
message Strings {
repeated string strings = 1;
}
message Integers {
repeated int64 integers = 1;
}
message Timestamps {
repeated google.protobuf.Timestamp timestamps = 1;
}
message CustomField {
oneof value {
string string = 1;
Strings strings = 2;
int64 integer = 3;
Integers integers = 4;
google.protobuf.Timestamp timestamp = 5;
Timestamps timestamps = 6;
google.protobuf.Duration duration = 7;
bool boolean = 8;
}
}
Languages¶
Multiple types of integrations support language-specific information. This is the abstraction of known languages.
syntax = "proto3";
package common;
option java_package = "tv.accedo.one.core.proto.common";
enum LanguageCode {
LANGUAGE_CODE_UNKNOWN = 0;
// Afar
LANGUAGE_CODE_AA = 10;
// Abkhazian
LANGUAGE_CODE_AB = 11;
// Avestan
LANGUAGE_CODE_AE = 12;
// Afrikaans
LANGUAGE_CODE_AF = 13;
// Akan
LANGUAGE_CODE_AK = 14;
// Amharic
LANGUAGE_CODE_AM = 15;
// Aragonese
LANGUAGE_CODE_AN = 16;
// Arabic
LANGUAGE_CODE_AR = 17;
// Assamese
LANGUAGE_CODE_AS = 18;
// Avaric
LANGUAGE_CODE_AV = 19;
// Aymara
LANGUAGE_CODE_AY = 20;
// Azerbaijani
LANGUAGE_CODE_AZ = 21;
// Bashkir
LANGUAGE_CODE_BA = 22;
// Belarusian
LANGUAGE_CODE_BE = 23;
// Bulgarian
LANGUAGE_CODE_BG = 24;
// Bihari languages
LANGUAGE_CODE_BH = 25;
// Bislama
LANGUAGE_CODE_BI = 26;
// Bambara
LANGUAGE_CODE_BM = 27;
// Bengali
LANGUAGE_CODE_BN = 28;
// Tibetan
LANGUAGE_CODE_BO = 29;
// Breton
LANGUAGE_CODE_BR = 30;
// Bosnian
LANGUAGE_CODE_BS = 31;
// Catalan
LANGUAGE_CODE_CA = 32;
// Chechen
LANGUAGE_CODE_CE = 33;
// Chamorro
LANGUAGE_CODE_CH = 34;
// Corsican
LANGUAGE_CODE_CO = 35;
// Cree
LANGUAGE_CODE_CR = 36;
// Czech
LANGUAGE_CODE_CS = 37;
// Church Slavic
LANGUAGE_CODE_CU = 38;
// Chuvash
LANGUAGE_CODE_CV = 39;
// Welsh
LANGUAGE_CODE_CY = 40;
// Danish
LANGUAGE_CODE_DA = 41;
// German
LANGUAGE_CODE_DE = 42;
// Maldivian
LANGUAGE_CODE_DV = 43;
// Dzongkha
LANGUAGE_CODE_DZ = 44;
// Ewe
LANGUAGE_CODE_EE = 45;
// Greek
LANGUAGE_CODE_EL = 46;
// English
LANGUAGE_CODE_EN = 47;
// Esperanto
LANGUAGE_CODE_EO = 48;
// Spanish
LANGUAGE_CODE_ES = 49;
// Estonian
LANGUAGE_CODE_ET = 50;
// Basque
LANGUAGE_CODE_EU = 51;
// Persian
LANGUAGE_CODE_FA = 52;
// Fulah
LANGUAGE_CODE_FF = 53;
// Finnish
LANGUAGE_CODE_FI = 54;
// Fijian
LANGUAGE_CODE_FJ = 55;
// Faroese
LANGUAGE_CODE_FO = 56;
// French
LANGUAGE_CODE_FR = 57;
// Western Frisian
LANGUAGE_CODE_FY = 58;
// Irish
LANGUAGE_CODE_GA = 59;
// Gaelic
LANGUAGE_CODE_GD = 60;
// Galician
LANGUAGE_CODE_GL = 61;
// Guarani
LANGUAGE_CODE_GN = 62;
// Gujarati
LANGUAGE_CODE_GU = 63;
// Manx
LANGUAGE_CODE_GV = 64;
// Hausa
LANGUAGE_CODE_HA = 65;
// Hebrew
LANGUAGE_CODE_HE = 66;
// Hindi
LANGUAGE_CODE_HI = 67;
// Hiri Motu
LANGUAGE_CODE_HO = 68;
// Croatian
LANGUAGE_CODE_HR = 69;
// Haitian
LANGUAGE_CODE_HT = 70;
// Hungarian
LANGUAGE_CODE_HU = 71;
// Armenian
LANGUAGE_CODE_HY = 72;
// Herero
LANGUAGE_CODE_HZ = 73;
// Interlingua
LANGUAGE_CODE_IA = 74;
// Indonesian
LANGUAGE_CODE_ID = 75;
// Interlingue
LANGUAGE_CODE_IE = 76;
// Igbo
LANGUAGE_CODE_IG = 77;
// Sichuan Yi
LANGUAGE_CODE_II = 78;
// Inupiaq
LANGUAGE_CODE_IK = 79;
// Ido
LANGUAGE_CODE_IO = 80;
// Icelandic
LANGUAGE_CODE_IS = 81;
// Italian
LANGUAGE_CODE_IT = 82;
// Inuktitut
LANGUAGE_CODE_IU = 83;
// Japanese
LANGUAGE_CODE_JA = 84;
// Javanese
LANGUAGE_CODE_JV = 85;
// Georgian
LANGUAGE_CODE_KA = 86;
// Kongo
LANGUAGE_CODE_KG = 87;
// Kikuyu
LANGUAGE_CODE_KI = 88;
// Kuanyama
LANGUAGE_CODE_KJ = 89;
// Kazakh
LANGUAGE_CODE_KK = 90;
// Kalaallisut
LANGUAGE_CODE_KL = 91;
// Central Khmer
LANGUAGE_CODE_KM = 92;
// Kannada
LANGUAGE_CODE_KN = 93;
// Korean
LANGUAGE_CODE_KO = 94;
// Kanuri
LANGUAGE_CODE_KR = 95;
// Kashmiri
LANGUAGE_CODE_KS = 96;
// Kurdish
LANGUAGE_CODE_KU = 97;
// Komi
LANGUAGE_CODE_KV = 98;
// Cornish
LANGUAGE_CODE_KW = 99;
// Kirghiz
LANGUAGE_CODE_KY = 100;
// Latin
LANGUAGE_CODE_LA = 101;
// Luxembourgish
LANGUAGE_CODE_LB = 102;
// Ganda
LANGUAGE_CODE_LG = 103;
// Limburgan
LANGUAGE_CODE_LI = 104;
// Lingala
LANGUAGE_CODE_LN = 105;
// Lao
LANGUAGE_CODE_LO = 106;
// Lithuanian
LANGUAGE_CODE_LT = 107;
// Luba-Katanga
LANGUAGE_CODE_LU = 108;
// Latvian
LANGUAGE_CODE_LV = 109;
// Malagasy
LANGUAGE_CODE_MG = 110;
// Marshallese
LANGUAGE_CODE_MH = 111;
// Maori
LANGUAGE_CODE_MI = 112;
// Macedonian
LANGUAGE_CODE_MK = 113;
// Malayalam
LANGUAGE_CODE_ML = 114;
// Mongolian
LANGUAGE_CODE_MN = 115;
// Marathi
LANGUAGE_CODE_MR = 116;
// Malay
LANGUAGE_CODE_MS = 117;
// Maltese
LANGUAGE_CODE_MT = 118;
// Burmese
LANGUAGE_CODE_MY = 119;
// Nauru
LANGUAGE_CODE_NA = 120;
// Norwegian Bokmal
LANGUAGE_CODE_NB = 121;
// North Ndebele
LANGUAGE_CODE_ND = 122;
// Nepali
LANGUAGE_CODE_NE = 123;
// Ndonga
LANGUAGE_CODE_NG = 124;
// Dutch
LANGUAGE_CODE_NL = 125;
// Norwegian Nynorsk
LANGUAGE_CODE_NN = 126;
// Norwegian
LANGUAGE_CODE_NO = 127;
// South Ndebele
LANGUAGE_CODE_NR = 128;
// Navajo
LANGUAGE_CODE_NV = 129;
// Chichewa
LANGUAGE_CODE_NY = 130;
// Occitan
LANGUAGE_CODE_OC = 131;
// Ojibwa
LANGUAGE_CODE_OJ = 132;
// Oromo
LANGUAGE_CODE_OM = 133;
// Oriya
LANGUAGE_CODE_OR = 134;
// Ossetian
LANGUAGE_CODE_OS = 135;
// Punjabi
LANGUAGE_CODE_PA = 136;
// Pali
LANGUAGE_CODE_PI = 137;
// Polish
LANGUAGE_CODE_PL = 138;
// Pushto
LANGUAGE_CODE_PS = 139;
// Portuguese
LANGUAGE_CODE_PT = 140;
// Quechua
LANGUAGE_CODE_QU = 141;
// Romansh
LANGUAGE_CODE_RM = 142;
// Rundi
LANGUAGE_CODE_RN = 143;
// Romanian
LANGUAGE_CODE_RO = 144;
// Russian
LANGUAGE_CODE_RU = 145;
// Kinyarwanda
LANGUAGE_CODE_RW = 146;
// Sanskrit
LANGUAGE_CODE_SA = 147;
// Sardinian
LANGUAGE_CODE_SC = 148;
// Sindhi
LANGUAGE_CODE_SD = 149;
// Northern Sami
LANGUAGE_CODE_SE = 150;
// Sango
LANGUAGE_CODE_SG = 151;
// Sinhala
LANGUAGE_CODE_SI = 152;
// Slovak
LANGUAGE_CODE_SK = 153;
// Slovenian
LANGUAGE_CODE_SL = 154;
// Samoan
LANGUAGE_CODE_SM = 155;
// Shona
LANGUAGE_CODE_SN = 156;
// Somali
LANGUAGE_CODE_SO = 157;
// Albanian
LANGUAGE_CODE_SQ = 158;
// Serbian
LANGUAGE_CODE_SR = 159;
// Swati
LANGUAGE_CODE_SS = 160;
// Sotho
LANGUAGE_CODE_ST = 161;
// Sundanese
LANGUAGE_CODE_SU = 162;
// Swedish
LANGUAGE_CODE_SV = 163;
// Swahili
LANGUAGE_CODE_SW = 164;
// Tamil
LANGUAGE_CODE_TA = 165;
// Telugu
LANGUAGE_CODE_TE = 166;
// Tajik
LANGUAGE_CODE_TG = 167;
// Thai
LANGUAGE_CODE_TH = 168;
// Tigrinya
LANGUAGE_CODE_TI = 169;
// Turkmen
LANGUAGE_CODE_TK = 170;
// Tagalog
LANGUAGE_CODE_TL = 171;
// Tswana
LANGUAGE_CODE_TN = 172;
// Tonga
LANGUAGE_CODE_TO = 173;
// Turkish
LANGUAGE_CODE_TR = 174;
// Tsonga
LANGUAGE_CODE_TS = 175;
// Tatar
LANGUAGE_CODE_TT = 176;
// Twi
LANGUAGE_CODE_TW = 177;
// Tahitian
LANGUAGE_CODE_TY = 178;
// Uighur
LANGUAGE_CODE_UG = 179;
// Ukrainian
LANGUAGE_CODE_UK = 180;
// Urdu
LANGUAGE_CODE_UR = 181;
// Uzbek
LANGUAGE_CODE_UZ = 182;
// Venda
LANGUAGE_CODE_VE = 183;
// Vietnamese
LANGUAGE_CODE_VI = 184;
// Volapuk
LANGUAGE_CODE_VO = 185;
// Walloon
LANGUAGE_CODE_WA = 186;
// Wolof
LANGUAGE_CODE_WO = 187;
// Xhosa
LANGUAGE_CODE_XH = 188;
// Yiddish
LANGUAGE_CODE_YI = 189;
// Yoruba
LANGUAGE_CODE_YO = 190;
// Zhuang
LANGUAGE_CODE_ZA = 191;
// Chinese
LANGUAGE_CODE_ZH = 192;
// Zulu
LANGUAGE_CODE_ZU = 193;
}