Протокол¶
Оглавление¶
-
keyapis/telemetry_control/v1/keyapis_telemetry_control_building_v1.proto
- BuildingFilter
- BuildingGroup
- BuildingGroupFilter
- BuildingGroupPaging
- BuildingPaging
- DeleteBuildingRequest
- DeleteBuildingResponse
- GetBuildingCountRequest
- GetBuildingCountResponse
- GetBuildingGroupCountRequest
- GetBuildingGroupCountResponse
- GetBuildingGroupListRequest
- GetBuildingGroupListResponse
- GetBuildingListRequest
- GetBuildingListResponse
- GetBuildingRequest
- GetBuildingResponse
- PostBuildingFullDuplexRequest
- PostBuildingFullDuplexRequest.BuildingAsyncStatus
- PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error
- PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error.UnknownError
- PostBuildingFullDuplexRequest.BuildingAsyncStatus.Success
- PostBuildingFullDuplexResponse
- PostBuildingFullDuplexResponse.RemoveBuildingEvent
- PostBuildingFullDuplexResponse.UpsertBuildingEvent
- PostBuildingRequest
- PostBuildingResponse
- PutBuildingGroupAttachRequest
- PutBuildingGroupAttachResponse
- PutBuildingGroupDetachRequest
- Building.RfType
- Building.StatusType
- BuildingGroupPaging.DirectionType
- BuildingGroupPaging.OrderByType
- BuildingPaging.DirectionType
- BuildingPaging.OrderByType
Схема классов¶
keyapis/telemetry_control/v1/keyapis_telemetry_control_building_v1.proto¶
Сервис реализует функционал управления объектами строительства телеметрии
BuildingService¶
Сервис управления объектами строительства телеметрии. Авторизация: - Authorization: Bearer token. - X-Api-Key: apiKey
| Название метода | Описание | Тип запроса | Тип ответа |
|---|---|---|---|
| GetBuilding | Метод получения объекта строительства. Разрешения: telemetry_control:building:card, telemetry_control:building:card:own. Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. При наличии разрешений. Метод доступен для: ApiKey: При наличии разрешений | keyapis.telemetry_control.v1.GetBuildingRequest | keyapis.telemetry_control.v1.GetBuildingResponse |
| GetBuildingList | Метод получения списка объектов строительства. Разрешения: telemetry_control:building:list, telemetry_control:building:list:own. Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. При наличии разрешений. Метод доступен для: ApiKey: При наличии разрешений | keyapis.telemetry_control.v1.GetBuildingListRequest | keyapis.telemetry_control.v1.GetBuildingListResponse stream |
| GetBuildingCount | Метод получения количества объектов строительства. Разрешения: telemetry_control:building:list, telemetry_control:building:list:own. Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. При наличии разрешений. Метод доступен для: ApiKey: При наличии разрешений | keyapis.telemetry_control.v1.GetBuildingCountRequest | keyapis.telemetry_control.v1.GetBuildingCountResponse |
| PostBuilding | Метод сохранения объекта строительства. Поддерживает создание и обновление. Разрешения: telemetry_control:building:save, telemetry_control:building:save:own. Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. При наличии разрешений | keyapis.telemetry_control.v1.PostBuildingRequest | keyapis.telemetry_control.v1.PostBuildingResponse |
| PostBuildingFullDuplex | Полнодуплексный метод отправки статусов на сервер и получения изменения со стороны сервера. Разрешения: telemetry_control:building:list, telemetry_control:building:list:own. Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. При наличии разрешений. Метод доступен для: ApiKey: Без учета разрешений | keyapis.telemetry_control.v1.PostBuildingFullDuplexRequest stream | keyapis.telemetry_control.v1.PostBuildingFullDuplexResponse stream |
| DeleteBuilding | Метод удаления объекта строительства. Разрешения: telemetry_control:building:remove, telemetry_control:building:remove:own. Метод доступен для: admin, service, bti, seller, application, owner, employee. При наличии разрешений | keyapis.telemetry_control.v1.DeleteBuildingRequest | keyapis.telemetry_control.v1.DeleteBuildingResponse |
| GetBuildingGroupList | Метод получения списка связей объектов строительства и группы пользователя. Метод доступен для: Token: admin, service, bti, seller. Без учета разрешений | keyapis.telemetry_control.v1.GetBuildingGroupListRequest | keyapis.telemetry_control.v1.GetBuildingGroupListResponse stream |
| GetBuildingGroupCount | Метод получения количества связей объектов строительства и группы пользователя. Метод доступен для: Token: admin, service, bti, seller. Без учета разрешений | keyapis.telemetry_control.v1.GetBuildingGroupCountRequest | keyapis.telemetry_control.v1.GetBuildingGroupCountResponse |
| PutBuildingGroupAttach | Метод сохранения связей объектов строительства и группы пользователя. Поддерживает только создание. Метод доступен для: Token: admin, service, bti, seller. Без учета разрешений | keyapis.telemetry_control.v1.PutBuildingGroupAttachRequest | keyapis.telemetry_control.v1.PutBuildingGroupAttachResponse |
| PutBuildingGroupDetach | Метод удаления связей объектов строительства и группы пользователя. Метод доступен для: Token: admin, service, bti, seller. Без учета разрешений | keyapis.telemetry_control.v1.PutBuildingGroupDetachRequest | keyapis.telemetry_control.v1.PutBuildingGroupDetachResponse |
Building¶
Объект строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | |
| title | Наименование объекта строительства | string | |
| created_at | Дата создания | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта | google.protobuf.Timestamp | OUTPUT_ONLY |
| utc_offset | Смещение временной зоны объекта строительства от UTC в минутах | int32 | REQUIRED |
| fias_id | ФИАС | google.protobuf.StringValue | |
| mrf_type | Принадлежность объекта строительства к МРФ | keyapis.telemetry_control.v1.Building.MrfType | |
| rf_type | Принадлежность объекта строительства к РФ | keyapis.telemetry_control.v1.Building.RfType | |
| status_type | Статус объекта строительства | keyapis.telemetry_control.v1.Building.StatusType | |
| full_address | Адрес объекта строительства | string | |
| orpon | ОРПОН | int64 |
BuildingFilter¶
Фильтр для запроса объектов строительства. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| fias_id | По ФИАС | repeated google.protobuf.StringValue | |
| title | По заголовку | google.protobuf.StringValue | |
| after_created_at | По нижней границе дате создания | google.protobuf.Timestamp | |
| before_created_at | По верхней границе дате создания | google.protobuf.Timestamp | |
| mrf_types | По МРФ (Макрорегион) | repeated keyapis.telemetry_control.v1.Building.MrfType | |
| rf_types | По РФ (Регион) | repeated keyapis.telemetry_control.v1.Building.RfType | |
| status_types | По статусам объекта строительства | repeated keyapis.telemetry_control.v1.Building.StatusType | |
| orpons | По ОРПОНам | repeated int64 |
BuildingGroup¶
Связка объекта строительства и группы пользователя. Задает область ресурсов (resource scope), доступную пользователю. Используется для контроля доступа к объекту строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| group_id | Идентификатор группы. # Тип: Guid | string | REQUIRED |
| building_id | Идентификатор объекта строительства. # Диапазон: 0..2147483647 | int32 | REQUIRED |
BuildingGroupFilter¶
Фильтр для запроса связей объектов строительства и группы пользователя. При передаче массива в параметр фильтра элементы массива работают в выборке через ИЛИ. При передаче нескольких разных параметров фильтра они работают в выборке через И
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| group_ids | По Идентификатору группы пользователя | repeated string | |
| building_ids | По Объекту строительства | repeated int32 |
BuildingGroupPaging¶
Пагинация связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. По умолчанию: ID | keyapis.telemetry_control.v1.BuildingGroupPaging.OrderByType | |
| direction_type | Тип направления сортировки. По умолчанию: DESC | keyapis.telemetry_control.v1.BuildingGroupPaging.DirectionType | |
| limit | Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию | int32 | |
| offset | Сдвиг. По умолчанию: 0 | int32 |
BuildingPaging¶
Пагинация объектов строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. По умолчанию: ID | keyapis.telemetry_control.v1.BuildingPaging.OrderByType | |
| direction_type | Тип направления сортировки. По умолчанию: DESC | keyapis.telemetry_control.v1.BuildingPaging.DirectionType | |
| limit | Количество записей на страницу. Минимальное значение: 1. Максимальное значение: 100. По умолчанию: 20. Если значение 0 (не передано), то выставляем значение по умолчанию | int32 | |
| offset | Сдвиг. По умолчанию: 0 | int32 |
DeleteBuildingRequest¶
Запрос удаления объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
DeleteBuildingResponse¶
Ответ на запрос удаления объекта строительства
GetBuildingCountRequest¶
Запрос получения количества объектов строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр по индикаторам | keyapis.telemetry_control.v1.BuildingFilter |
GetBuildingCountResponse¶
Ответ на запрос получения количества объектов строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего индикаторов | optional int32 |
GetBuildingGroupCountRequest¶
Запрос получения количества связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр связей объектов строительства и группы пользователя | keyapis.telemetry_control.v1.BuildingGroupFilter |
GetBuildingGroupCountResponse¶
Ответ на запрос получения количества связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Всего связей объектов строительства и группы пользователя | optional int32 |
GetBuildingGroupListRequest¶
Запрос получения списка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр связей объектов строительства и группы пользователя | keyapis.telemetry_control.v1.BuildingGroupFilter | |
| paging | Пагинация | optional keyapis.telemetry_control.v1.BuildingGroupPaging |
GetBuildingGroupListResponse¶
Ответ на запрос получения списка связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Связь объекта строительства и группы пользователя | optional keyapis.telemetry_control.v1.BuildingGroup |
GetBuildingListRequest¶
Запрос получения списка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр индикаторов | keyapis.telemetry_control.v1.BuildingFilter | |
| paging | Пагинация по индикаторам | optional keyapis.telemetry_control.v1.BuildingPaging |
GetBuildingListResponse¶
Ответ на запрос получения списка объектов строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Индикатор | optional keyapis.telemetry_control.v1.Building |
GetBuildingRequest¶
Запрос получения объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор объекта строительства | int32 | REQUIRED |
GetBuildingResponse¶
Ответ на запрос получения объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Объект строительства | optional keyapis.telemetry_control.v1.Building |
PostBuildingFullDuplexRequest¶
Запрос создания задачи с клиента на сервере
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| request_id | Идентификатор запроса | string | REQUIRED |
| building_async_status | Результат обработки объекта строительства на клиенте | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexRequest.BuildingAsyncStatus |
PostBuildingFullDuplexRequest.BuildingAsyncStatus¶
Результат обработки объекта строительства на клиенте
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| building_id | Идентификатор объекта строительства | int32 | REQUIRED |
| data | Успех | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexRequest.BuildingAsyncStatus.Success | |
| error | Ошибка | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error |
PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error¶
Ошибки обработки объекта строительства на клиенте
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| unknown | Неизвестная ошибка | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error.UnknownError |
PostBuildingFullDuplexRequest.BuildingAsyncStatus.Error.UnknownError¶
Неизвестная ошибка на стороне клиента
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| message | Произвольный текст ошибки на стороне клиента. Отправляется в случае если в спецификации нет подходящей ошибки. После анализа таких ошибок в спецификацию добавляется специальный тип под эту ошибку | string | REQUIRED |
PostBuildingFullDuplexRequest.BuildingAsyncStatus.Success¶
Команда принята
PostBuildingFullDuplexResponse¶
Событие создания/изменения объекта строительства на сервера
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| request_id | Идентификатор запроса | string | REQUIRED |
| upsert_building_event | Событие создания/обновления объекта строительства | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexResponse.UpsertBuildingEvent | |
| remove_building_event | Событие удаления объекта строительства | optional keyapis.telemetry_control.v1.PostBuildingFullDuplexResponse.RemoveBuildingEvent |
PostBuildingFullDuplexResponse.RemoveBuildingEvent¶
Событие удаления объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор объекта строительства | int32 | REQUIRED |
PostBuildingFullDuplexResponse.UpsertBuildingEvent¶
Событие создания/обновления объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Объект строительства | keyapis.telemetry_control.v1.Building | REQUIRED |
PostBuildingRequest¶
Запрос сохранения объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Объект строительства | keyapis.telemetry_control.v1.Building | REQUIRED |
PostBuildingResponse¶
Ответ на запрос сохранения объекта строительства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Объект строительства | optional keyapis.telemetry_control.v1.Building |
PutBuildingGroupAttachRequest¶
Запрос сохранения связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| building_group | Связь объекта строительства и группы пользователя | keyapis.telemetry_control.v1.BuildingGroup | REQUIRED |
PutBuildingGroupAttachResponse¶
Ответ на запрос сохранения связи объекта строительства и группы пользователя
PutBuildingGroupDetachRequest¶
Запрос удаления связей объектов строительства и группы пользователя
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| building_group | Связь объекта строительства и группы пользователя | keyapis.telemetry_control.v1.BuildingGroup | REQUIRED |
PutBuildingGroupDetachResponse¶
Ответ на запрос удаления связи объекта строительства и группы пользователя
Building.MrfType¶
Справочник МРФ (Макрорегионы)
| Номер | Тип | Название |
|---|---|---|
| 0 | MRF_TYPE_UNKNOWN | Значение не указано |
| 1 | TSENTR | Центр |
| 2 | YUG | Юг |
| 3 | URAL | Урал |
| 4 | SIBIR | Сибирь |
| 5 | SEVERO_ZAPAD | Северо-Запад |
| 6 | DALNIY_VOSTOK | Дальний Восток |
| 7 | VOLGA | Волга |
Building.RfType¶
Справочник РФ (Регионы)
| Номер | Тип | Название |
|---|---|---|
| 0 | RF_TYPE_UNKNOWN | Значение не указано |
| 1 | UFA | Республика Башкортостан |
| 2 | KIROV | Кировская область |
| 3 | IVANOVO | Ивановский филиал |
| 4 | KALUGA | Калужский филиал |
| 5 | KOSTROMA | Костромской филиал |
| 6 | KURSK | Курский филиал |
| 7 | LIPETSK | Липецкий филиал |
| 8 | MOSOBLAST | Московская область |
| 9 | OREL | Орловский филиал |
| 10 | RYAZAN | Рязанский филиал |
| 11 | TAMBOV | Тамбовский филиал |
| 12 | TVER | Тверской филиал |
| 13 | YAROSLAVL | Ярославский филиал |
| 14 | SMOLENSK | Смоленский филиал |
| 15 | TULA | Тульский филиал |
| 16 | MOSCOW | Москва |
| 17 | EAO | ЕАО |
| 18 | KURGAN | Филиал в Тюменской и Курганской областях |
| 19 | TUMEN | Филиал в Тюменской и Курганской областях |
| 20 | HANTY | Ханты-Мансийский филиал |
| 21 | AMUR | Амурская область |
| 22 | KAMCHATKA | Камчатский край |
| 23 | MAGADAN | Магаданская область |
| 24 | PRIMORYE | Приморский край |
| 25 | SAKHALIN | Сахалинская область |
| 26 | KHABAROVSK | Хабаровский край |
| 27 | CHITA | Забайкальский край |
| 28 | CHUKOTKA | ЧАО |
| 29 | ARCHANGELSK | Архангельск |
| 30 | VOLOGDA | Вологда |
| 31 | KALININGRAD | Калининград |
| 32 | KARELIA | Карелия |
| 33 | KOMI | Коми |
| 34 | LENOBLAST | Лен область |
| 35 | MURMANSK | Мурманск |
| 36 | NOVGOROD | Новгород |
| 37 | PSKOV | Псков |
| 38 | SPB | СПб |
| 39 | ALTAI | Алтайский филиал |
| 40 | BURYATIYA | Бурятский филиал |
| 41 | IRKUTSK | Иркутский филиал |
| 42 | KEMEROVO | Кемеровский филиал |
| 43 | KRASNOYARSK | Красноярский филиал |
| 44 | OMSK | Омский филиал |
| 45 | HAKASIYA | Республика Хакасия |
| 46 | RALTAY | Республика Алтай |
| 47 | TUVA | Республика Тыва |
| 48 | TOMSK | Томский филиал |
| 49 | ORENBURG | Оренбургская область |
| 50 | BELGOROD | Белгородский филиал |
| 51 | SAKHA | Саха |
| 52 | EKT | Екатеринбургский филиал |
| 53 | VOLGOGRAD | Волгоградский филиал |
| 54 | YAMAL | Ямало-Ненецкий филиал |
| 55 | CHELYABINSK | Челябинский филиал |
| 56 | PERM | Пермский филиал ПАО "Ростелеком" |
| 57 | MARYEL | Республика Марий Эл |
| 58 | PENZA | Пензенская область |
| 59 | INGUSHETIA | Ингушский филиал |
| 60 | NALCHIK | Кабардино-Балкарский филиал |
| 61 | ELISTA | Калмыцкий филиал |
| 62 | ROSTOV | Ростовский филиал |
| 63 | MAHACHKALA | Дагестанский филиал |
| 64 | MORDOVIYA | Республика Мордовия |
| 65 | KAZAN | Республика Татарстан (Татарстан) |
| 66 | SAMARA | Самарская область |
| 67 | SARATOV | Саратовская область |
| 68 | UDMURTIYA | Удмуртская Республика |
| 69 | ULYANOVSK | Ульяновская область |
| 70 | CHUVASHIYA | Чувашская Республика - Чувашия |
| 71 | NNOVGOROD | Нижегородская область |
| 72 | BRYANSK | Брянский филиал |
| 73 | VLADIMIR | Владимирский филиал |
| 74 | VORONEZH | Воронежский филиал |
| 75 | VLADIKAVKAZ | Северо-Осетинский филиал |
| 76 | STAVROPOL | Ставропольский филиал |
| 77 | CHERKESSK | Республика Карачаево-Черкесская |
| 78 | MAYKOP | Республика Адыгея |
| 79 | ASTRAKHAN | Астраханский филиал |
| 80 | KRASNODAR | Краснодарский филиал |
| 81 | TEST | Тестовый |
| 82 | NOVOSIBIRSK | Новосибирский филиал |
Building.StatusType¶
Статусы объектов строительства
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | BUILDING | СМР |
| 2 | ACCEPTANCE | Реализован |
| 3 | ACTIVE | Обслуживание |
| 4 | ARCHIVE | Снят с обслуживания |
| 5 | CANCELLED | Отказ от заключения договора |
| 6 | TEST_STATUS_TYPE | Тестовый |
BuildingGroupPaging.DirectionType¶
Справочник типов направлений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
BuildingGroupPaging.OrderByType¶
Справочник типов сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | GROUP_ID | По Идентификатору группы пользователя |
| 2 | BUILDING_ID | По Объекту строительства |
BuildingPaging.DirectionType¶
Справочник типов направлений сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
BuildingPaging.OrderByType¶
Справочник типов сортировки
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ID | По уникальному ключу |
| 2 | TITLE | По наименованию |
| 3 | CREATED_AT | По дате создания |
| 4 | CHANGED_AT | По дате изменения |
| 5 | FIAS_ID | По ФИАС |
Скалярные типы значений¶
| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
|---|---|---|---|---|---|---|---|---|
| double | float | float64 | Float | double | double | double | float | |
| float | float | float32 | Float | float | float | float | float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| uint32 | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| uint64 | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | int | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | int/long | uint64 | Bignum | ulong | uint64 | long | integer/string |
| sfixed32 | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| sfixed64 | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| bool | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| bytes | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |