# Протокол

## Оглавление

- [keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto](#keyapis_vc_v1_keyapis_vc_camera_video_data_v1-proto)
    - [CameraVideoDataService](#keyapis-vc-v1-CameraVideoDataService)
  
    - [CameraVideoData](#keyapis-vc-v1-CameraVideoData)
    - [CameraVideoData.Category](#keyapis-vc-v1-CameraVideoData-Category)
    - [CameraVideoData.Location](#keyapis-vc-v1-CameraVideoData-Location)
    - [CameraVideoData.Status](#keyapis-vc-v1-CameraVideoData-Status)
    - [CameraVideoDataFilter](#keyapis-vc-v1-CameraVideoDataFilter)
    - [CameraVideoDataPaging](#keyapis-vc-v1-CameraVideoDataPaging)
    - [CameraVideoDataScope](#keyapis-vc-v1-CameraVideoDataScope)
    - [GetCameraVideoDataCountRequest](#keyapis-vc-v1-GetCameraVideoDataCountRequest)
    - [GetCameraVideoDataCountResponse](#keyapis-vc-v1-GetCameraVideoDataCountResponse)
    - [GetCameraVideoDataCountResponse.Error](#keyapis-vc-v1-GetCameraVideoDataCountResponse-Error)
    - [GetCameraVideoDataListRequest](#keyapis-vc-v1-GetCameraVideoDataListRequest)
    - [GetCameraVideoDataListResponse](#keyapis-vc-v1-GetCameraVideoDataListResponse)
    - [GetCameraVideoDataListResponse.Error](#keyapis-vc-v1-GetCameraVideoDataListResponse-Error)
  
    - [CameraVideoDataPaging.DirectionType](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType)
    - [CameraVideoDataPaging.OrderByType](#keyapis-vc-v1-CameraVideoDataPaging-OrderByType)
  


## [Схема классов](/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto.svg)
<a href="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto.svg"><img src="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto.svg" alt="/svg/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto.svg" style="height:100%;"></a>




<a name="keyapis_vc_v1_keyapis_vc_camera_video_data_v1-proto"></a>

## [keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto](/protos/key/keyapis/vc/v1/keyapis_vc_camera_video_data_v1.proto)
Спецификация для работы с видеоданными камер


<a name="keyapis-vc-v1-CameraVideoDataService"></a>

### CameraVideoDataService
 Сервис управления видеоданными камер

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-vc-v1-GetCameraVideoDataCount"></a> [GetCameraVideoDataCount](#keyapis-vc-v1-GetCameraVideoDataCount) | Метод получения количества камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee | [keyapis.vc.v1.GetCameraVideoDataCountRequest](#keyapis-vc-v1-GetCameraVideoDataCountRequest) | [keyapis.vc.v1.GetCameraVideoDataCountResponse](#keyapis-vc-v1-GetCameraVideoDataCountResponse) |
| <a id="keyapis-vc-v1-GetCameraVideoDataList"></a> [GetCameraVideoDataList](#keyapis-vc-v1-GetCameraVideoDataList) | Метод получения списка камер. Для master это камеры, привязанные к пользователю, используем поля токена vc_user_id, user_id, company_id. Для owner, employee это камеры, привязанные к компании, используем поле токена company_id. Для admin, service, bti, ltp_first это камеры, привязанные к компании, используем поле scope.company_id. Для admin, service, bti, ltp_first это камеры, привязанные к пользователю, используем поле scope.user_id. Метод доступен для: admin, service, bti, ltp_first, master, owner, employee | [keyapis.vc.v1.GetCameraVideoDataListRequest](#keyapis-vc-v1-GetCameraVideoDataListRequest) | [keyapis.vc.v1.GetCameraVideoDataListResponse](#keyapis-vc-v1-GetCameraVideoDataListResponse) |

 <!-- end services -->


<a name="keyapis-vc-v1-CameraVideoData"></a>


### [CameraVideoData](#keyapis-vc-v1-CameraVideoData)
 Камера


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoData-uid"></a> [uid](#keyapis-vc-v1-CameraVideoData-uid) | Идентификатор камеры в системе Видеокомфорт. Тип: Guid |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-category"></a> [category](#keyapis-vc-v1-CameraVideoData-category) | Категория камеры |    [keyapis.vc.v1.CameraVideoData.Category](#keyapis-vc-v1-CameraVideoData-Category) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoData-title"></a> [title](#keyapis-vc-v1-CameraVideoData-title) | Наименование камеры |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-serial_number"></a> [serial_number](#keyapis-vc-v1-CameraVideoData-serial_number) | Серийный номер камеры |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-ip"></a> [ip](#keyapis-vc-v1-CameraVideoData-ip) | IP камеры |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-streamer_url"></a> [streamer_url](#keyapis-vc-v1-CameraVideoData-streamer_url) | Адрес видео-потока (https соединение) |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-mac"></a> [mac](#keyapis-vc-v1-CameraVideoData-mac) | MAC-адрес камеры |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-model"></a> [model](#keyapis-vc-v1-CameraVideoData-model) | Модель камеры |    [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoData-vendor"></a> [vendor](#keyapis-vc-v1-CameraVideoData-vendor) | Производитель камеры |    [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoData-status"></a> [status](#keyapis-vc-v1-CameraVideoData-status) | Статус камеры |    [keyapis.vc.v1.CameraVideoData.Status](#keyapis-vc-v1-CameraVideoData-Status) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-screenshot_url_template"></a> [screenshot_url_template](#keyapis-vc-v1-CameraVideoData-screenshot_url_template) | URL скриншотов разных размеров в JPG-формате |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-screenshot_precise_url_template"></a> [screenshot_precise_url_template](#keyapis-vc-v1-CameraVideoData-screenshot_precise_url_template) | Шаблон для “точных” скриншотов. Выдаёт скриншоты всех размеров |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-user_token"></a> [user_token](#keyapis-vc-v1-CameraVideoData-user_token) | U-Токен, кука, которая выдается Умному Дому |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-streamer_token"></a> [streamer_token](#keyapis-vc-v1-CameraVideoData-streamer_token) | Токен для воспроизведения видео с камеры |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-screenshot_token"></a> [screenshot_token](#keyapis-vc-v1-CameraVideoData-screenshot_token) | Токен для получения контента с cdn (например, файлов изображений) |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-archive_length"></a> [archive_length](#keyapis-vc-v1-CameraVideoData-archive_length) | Глубина хранения видео в минутах |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoData-location"></a> [location](#keyapis-vc-v1-CameraVideoData-location) | Координаты месторасположения |    [keyapis.vc.v1.CameraVideoData.Location](#keyapis-vc-v1-CameraVideoData-Location) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoData-created_at"></a> [created_at](#keyapis-vc-v1-CameraVideoData-created_at) | Дата создания |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-vc-v1-CameraVideoData-updated_at"></a> [updated_at](#keyapis-vc-v1-CameraVideoData-updated_at) | Дата обновления |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-vc-v1-CameraVideoData-utc_offset"></a> [utc_offset](#keyapis-vc-v1-CameraVideoData-utc_offset) | Смещение таймзоны в минутах. # Диапазон: -720..840 |    [int32](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-CameraVideoData-Category"></a>


### [CameraVideoData.Category](#keyapis-vc-v1-CameraVideoData-Category)
 Категория камеры


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoData-Category-id"></a> [id](#keyapis-vc-v1-CameraVideoData-Category-id) | Идентификатор группы |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-Category-type"></a> [type](#keyapis-vc-v1-CameraVideoData-Category-type) | Тип группы |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-Category-title"></a> [title](#keyapis-vc-v1-CameraVideoData-Category-title) | Имя группы |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-CameraVideoData-Location"></a>


### [CameraVideoData.Location](#keyapis-vc-v1-CameraVideoData-Location)
 Координаты месторасположения


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoData-Location-lat"></a> [lat](#keyapis-vc-v1-CameraVideoData-Location-lat) | Широта |    [double](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-Location-lng"></a> [lng](#keyapis-vc-v1-CameraVideoData-Location-lng) | Долгота |    [double](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-CameraVideoData-Status"></a>


### [CameraVideoData.Status](#keyapis-vc-v1-CameraVideoData-Status)
 Статус камеры


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoData-Status-id"></a> [id](#keyapis-vc-v1-CameraVideoData-Status-id) | Идентификатор статуса |    [int32](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-Status-type"></a> [type](#keyapis-vc-v1-CameraVideoData-Status-type) | online/offline |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-vc-v1-CameraVideoData-Status-title"></a> [title](#keyapis-vc-v1-CameraVideoData-Status-title) | Доступна/Не доступна |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-vc-v1-CameraVideoDataFilter"></a>


### [CameraVideoDataFilter](#keyapis-vc-v1-CameraVideoDataFilter)
 Фильтр камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoDataFilter-uids"></a> [uids](#keyapis-vc-v1-CameraVideoDataFilter-uids) | Идентификатор камеры в системе Видеокомфорт. Тип: Guid |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataFilter-title"></a> [title](#keyapis-vc-v1-CameraVideoDataFilter-title) | Наименование камеры |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataFilter-mac"></a> [mac](#keyapis-vc-v1-CameraVideoDataFilter-mac) | MAC-адрес камеры |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataFilter-ip"></a> [ip](#keyapis-vc-v1-CameraVideoDataFilter-ip) | IP камеры |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataFilter-serial_number"></a> [serial_number](#keyapis-vc-v1-CameraVideoDataFilter-serial_number) | Серийный номер камеры |  repeated  [string](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataFilter-category"></a> [category](#keyapis-vc-v1-CameraVideoDataFilter-category) | Категория камеры |  repeated  [string](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-CameraVideoDataPaging"></a>


### [CameraVideoDataPaging](#keyapis-vc-v1-CameraVideoDataPaging)
 Постраничный вывод


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoDataPaging-order_by_type"></a> [order_by_type](#keyapis-vc-v1-CameraVideoDataPaging-order_by_type) | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. По умолчанию: UID |    [keyapis.vc.v1.CameraVideoDataPaging.OrderByType](#keyapis-vc-v1-CameraVideoDataPaging-OrderByType) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataPaging-direction_type"></a> [direction_type](#keyapis-vc-v1-CameraVideoDataPaging-direction_type) | Тип направления сортировки. # По умолчанию: DESC |    [keyapis.vc.v1.CameraVideoDataPaging.DirectionType](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataPaging-limit"></a> [limit](#keyapis-vc-v1-CameraVideoDataPaging-limit) | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataPaging-offset"></a> [offset](#keyapis-vc-v1-CameraVideoDataPaging-offset) | Сдвиг. # Диапазон: 0..2147483647 |    [int32](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-CameraVideoDataScope"></a>


### [CameraVideoDataScope](#keyapis-vc-v1-CameraVideoDataScope)
 Ограничение выборки камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-CameraVideoDataScope-company_id"></a> [company_id](#keyapis-vc-v1-CameraVideoDataScope-company_id) | Идентификатор компании |  optional  [int64](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-CameraVideoDataScope-user_id"></a> [user_id](#keyapis-vc-v1-CameraVideoDataScope-user_id) | Идентификатор пользователя |  optional  [int32](#scalar-types) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataCountRequest"></a>


### [GetCameraVideoDataCountRequest](#keyapis-vc-v1-GetCameraVideoDataCountRequest)
 Запрос на получение количества камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataCountRequest-scope"></a> [scope](#keyapis-vc-v1-GetCameraVideoDataCountRequest-scope) | Ограничение выборки |    [keyapis.vc.v1.CameraVideoDataScope](#keyapis-vc-v1-CameraVideoDataScope) | <nil>|
| <a id="keyapis-vc-v1-GetCameraVideoDataCountRequest-filter"></a> [filter](#keyapis-vc-v1-GetCameraVideoDataCountRequest-filter) | Фильтр |    [keyapis.vc.v1.CameraVideoDataFilter](#keyapis-vc-v1-CameraVideoDataFilter) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataCountResponse"></a>


### [GetCameraVideoDataCountResponse](#keyapis-vc-v1-GetCameraVideoDataCountResponse)
 Ответ на получение количества камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataCountResponse-data"></a> [data](#keyapis-vc-v1-GetCameraVideoDataCountResponse-data) | Всего количество |  optional  [int32](#scalar-types) | <nil>|
| <a id="keyapis-vc-v1-GetCameraVideoDataCountResponse-error"></a> [error](#keyapis-vc-v1-GetCameraVideoDataCountResponse-error) | Ошибка |  optional  [keyapis.vc.v1.GetCameraVideoDataCountResponse.Error](#keyapis-vc-v1-GetCameraVideoDataCountResponse-Error) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataCountResponse-Error"></a>


### [GetCameraVideoDataCountResponse.Error](#keyapis-vc-v1-GetCameraVideoDataCountResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataCountResponse-Error-validation"></a> [validation](#keyapis-vc-v1-GetCameraVideoDataCountResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataListRequest"></a>


### [GetCameraVideoDataListRequest](#keyapis-vc-v1-GetCameraVideoDataListRequest)
 Запрос на получение списка камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataListRequest-scope"></a> [scope](#keyapis-vc-v1-GetCameraVideoDataListRequest-scope) | Ограничение выборки |    [keyapis.vc.v1.CameraVideoDataScope](#keyapis-vc-v1-CameraVideoDataScope) | <nil>|
| <a id="keyapis-vc-v1-GetCameraVideoDataListRequest-filter"></a> [filter](#keyapis-vc-v1-GetCameraVideoDataListRequest-filter) | Фильтр |    [keyapis.vc.v1.CameraVideoDataFilter](#keyapis-vc-v1-CameraVideoDataFilter) | <nil>|
| <a id="keyapis-vc-v1-GetCameraVideoDataListRequest-paging"></a> [paging](#keyapis-vc-v1-GetCameraVideoDataListRequest-paging) | Постраничный вывод |  optional  [keyapis.vc.v1.CameraVideoDataPaging](#keyapis-vc-v1-CameraVideoDataPaging) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataListResponse"></a>


### [GetCameraVideoDataListResponse](#keyapis-vc-v1-GetCameraVideoDataListResponse)
 Ответ на получение списка камер


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataListResponse-data"></a> [data](#keyapis-vc-v1-GetCameraVideoDataListResponse-data) | Камера |  repeated  [keyapis.vc.v1.CameraVideoData](#keyapis-vc-v1-CameraVideoData) | <nil>|
| <a id="keyapis-vc-v1-GetCameraVideoDataListResponse-error"></a> [error](#keyapis-vc-v1-GetCameraVideoDataListResponse-error) | Ошибка |    [keyapis.vc.v1.GetCameraVideoDataListResponse.Error](#keyapis-vc-v1-GetCameraVideoDataListResponse-Error) | <nil>|






<a name="keyapis-vc-v1-GetCameraVideoDataListResponse-Error"></a>


### [GetCameraVideoDataListResponse.Error](#keyapis-vc-v1-GetCameraVideoDataListResponse-Error)
 Ошибка запроса


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-vc-v1-GetCameraVideoDataListResponse-Error-validation"></a> [validation](#keyapis-vc-v1-GetCameraVideoDataListResponse-Error-validation) | Ошибка валидации |  optional  [keyapis.vc.v1.ValidationError](#keyapis-vc-v1-ValidationError) | <nil>|





 <!-- end messages -->



<a name="keyapis-vc-v1-CameraVideoDataPaging-DirectionType"></a>

### [CameraVideoDataPaging.DirectionType](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType)
 Справочник типов направлений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-vc-v1-CameraVideoDataPaging-DirectionType-DIRECTION_TYPE_UNKNOWN"></a> [DIRECTION_TYPE_UNKNOWN](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType-DIRECTION_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-vc-v1-CameraVideoDataPaging-DirectionType-DESC"></a> [DESC](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType-DESC) | От большего к меньшему |
| 2 | <a id="keyapis-vc-v1-CameraVideoDataPaging-DirectionType-ASC"></a> [ASC](#keyapis-vc-v1-CameraVideoDataPaging-DirectionType-ASC) | От меньшего к большему |




<a name="keyapis-vc-v1-CameraVideoDataPaging-OrderByType"></a>

### [CameraVideoDataPaging.OrderByType](#keyapis-vc-v1-CameraVideoDataPaging-OrderByType)
 Справочник типов значений сортировки.
# Тип: byte

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-vc-v1-CameraVideoDataPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-vc-v1-CameraVideoDataPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-vc-v1-CameraVideoDataPaging-OrderByType-CREATED_AT"></a> [CREATED_AT](#keyapis-vc-v1-CameraVideoDataPaging-OrderByType-CREATED_AT) | По дате создания |


 <!-- end enums -->

 <!-- end HasExtensions -->



## Скалярные типы значений
<a id="scalar-types"></a>

| .proto Type | Примечание | Python | Go | Ruby | C# | C++ | Java | PHP |
| ----------- | ---------- | ------ | -- | ---- | -- | --- | ---- | --- |
| [double](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float64 | Float | double | double | double | float |
| [float](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | float | float32 | Float | float | float | float | float |
| [int32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint32 | Bignum or Fixnum (as required) | uint | uint32 | int | integer |
| [uint64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Uses variable-length encoding. | int/long | uint64 | Bignum or Fixnum (as required) | ulong | uint64 | long | integer/string |
| [sint32](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | 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](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always four bytes. | int | int32 | Bignum or Fixnum (as required) | int | int32 | int | integer |
| [sfixed64](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | Always eight bytes. | int/long | int64 | Bignum | long | int64 | long | integer/string |
| [bool](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) |  | boolean | bool | TrueClass/FalseClass | bool | bool | boolean | boolean |
| [string](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | A string must always contain UTF-8 encoded or 7-bit ASCII text. | str/unicode | string | String (UTF-8) | string | string | String | string |
| [bytes](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | May contain any arbitrary sequence of bytes. | str | []byte | String (ASCII-8BIT) | ByteString | string | ByteString | string |

