Протокол¶
Оглавление¶
-
keyapis/device/v1/keyapis_device_device_v1.proto
- DeleteDeviceRequest
- DeleteDeviceResponse
- Device
- Device.AutochangePasswordSettings
- Device.Credentials
- Device.Dispatching
- Device.Location
- Device.Redirect
- Device.SavingError
- Device.SavingError.AbcNumberIsExistOnAnotherDevice
- Device.SavingError.CapabilityIsNotSupported
- Device.SavingError.ConciergeRoomNotFound
- Device.SavingError.CredentialsAreRequired
- Device.SavingError.FieldIsNotSupported
- Device.SavingError.LoginIsExist
- Device.SavingError.MacAddressInvalid
- Device.SavingError.MacAddressIsExist
- Device.SavingError.NotAllowedForModel
- Device.SavingError.NotAllowedForType
- Device.SavingError.PublicIdentityIsExist
- Device.SavingError.SerialNumberForModelIsExist
- Device.SavingError.SerialNumberInvalid
- Device.Settings
- Device.Settings.Autocollect
- Device.Settings.ConciergeCall
- Device.Settings.CoordinateMatrixSwitch
- Device.Settings.EmergencyCall
- Device.Settings.FaceRecognition
- Device.Settings.Sl3Mode
- Device.SipTrunk
- Device.SputnikCredentials
- DeviceConfigurationStatus
- DeviceConfigurationStatus.Payload
- DeviceConfigurationStatus.Payload.Autocollect
- DeviceConfigurationStatusGrouped
- DeviceConfigurationStatusGroupedFilter
- DeviceConfigurationStatusGroupedPaging
- DeviceFilter
- DeviceLite
- DevicePaging
- GetDeviceConfigurationStatusGroupedCountRequest
- GetDeviceConfigurationStatusGroupedCountResponse
- GetDeviceConfigurationStatusGroupedListRequest
- GetDeviceConfigurationStatusGroupedListResponse
- GetDeviceConfigurationStatusGroupedListResponse.Error
- GetDeviceConfigurationStatusesRequest
- GetDeviceConfigurationStatusesResponse
- GetDeviceConfigurationStatusesResponse.Error
- GetDeviceConfigurationStatusesResponse.Statuses
- GetDeviceCountRequest
- GetDeviceCountResponse
- GetDeviceCountResponse.Error
- GetDeviceListRequest
- GetDeviceListResponse
- GetDeviceListResponse.Error
- GetDeviceLiteRequest
- GetDeviceLiteResponse
- GetDeviceRequest
- GetDeviceResponse
- PostDeviceConfigurationStatusRequest
- PostDeviceConfigurationStatusResponse
- PostDeviceConfigurationStatusResponse.Error
- PostDeviceInstallPresetRequest
- PostDeviceInstallPresetResponse
- PostDeviceInstallPresetResponse.Error
- PostDeviceInstallPresetResponse.Error.PresetStatusIsProcessing
- PostDeviceReconfigureRequest
- PostDeviceReconfigureResponse
- PostDeviceReconfigureResponse.Error
- PostDeviceReplaceRequest
- PostDeviceReplaceResponse
- PostDeviceReplaceResponse.Error
- PostDeviceReplaceResponse.Error.HostExists
- PostDeviceReplaceResponse.Error.LoginExists
- PostDeviceReplaceResponse.Error.LoginIsRequired
- PostDeviceReplaceResponse.Error.MacAddressExists
- PostDeviceReplaceResponse.Error.SerialNumberExists
- PostDeviceRequest
- PostDeviceResponse
- PostDeviceResponse.Error
- Preset
- Preset.Dtmf
- Preset.FaceRecognition
- Preset.Ntp
- Preset.Room
- Preset.SavingError
- Preset.SavingError.Conflict
- Preset.SavingError.NotAllowedForDefault
- Preset.Sip
- Preset.Syslog
- Preset.VideoConfig
- Preset.VideoConfig.RtspUser
- PutDeviceRequest
- PutDeviceResponse
- ReinstallError
- ReinstallError.SipLoginIsMissing
- SyncStatus
- Device.Credentials.UserAccessType
- Device.ModelType
- Device.PresetStatusType
- Device.SipTrunk.SipType
- Device.StatusType
- Device.Type
- DeviceConfigurationStatus.ConfigurationType
- DeviceConfigurationStatus.StatusType
- DeviceConfigurationStatusGroupedPaging.DirectionType
- DeviceConfigurationStatusGroupedPaging.OrderByType
- DevicePaging.DirectionType
- DevicePaging.OrderByType
- Preset.FaceRecognition.ConfigurationType
- Preset.StatusType
- Preset.Syslog.ProtocolType
- Preset.VideoConfig.QualityType
- SyncStatus.StatusType
Схема классов¶
keyapis/device/v1/keyapis_device_device_v1.proto¶
Сервис реализует функционал управления устройствами
DeviceService¶
Сервис устройств
CameraStatus¶
Статус камеры.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор камеры uid. # Тип: Guid | google.protobuf.StringValue | |
| status_type | Статус камеры | keyapis.device.v1.CameraStatus.StatusType | OUTPUT_ONLY |
| error_message | Сообщение об ошибке | string | OUTPUT_ONLY |
DeleteDeviceRequest¶
Запрос удаления устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор устройства | int32 | REQUIRED |
DeleteDeviceResponse¶
Ответ на запрос удаления устройства
Device¶
Устройство.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. # Диапазон: 0..2147483647 | int32 | |
| preset_id | Идентификатор пресета. # Диапазон: 1..2147483647 | int32 | REQUIRED |
| preset_status_type | Deprecated. Статус установки пресета. # Поле вычисляется в коде приложения | keyapis.device.v1.Device.PresetStatusType | OUTPUT_ONLY |
| preset_configured_at | Deprecated. Дата установки пресета на устройство. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| is_sl3_mode_enabled | Deprecated. Настройка режима SL3 | bool | REQUIRED |
| type | Тип назначения устройства | keyapis.device.v1.Device.Type | REQUIRED |
| mac_address | MAC-адрес. # Диапазон: 17..17. # Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/ | string | REQUIRED |
| title | Наименование устройства. # Диапазон: 3..256 | string | REQUIRED |
| model_type | Модель устройства | keyapis.device.v1.Device.ModelType | REQUIRED |
| owner_company_id | Идентификатор компании владельца. # Диапазон: 1..2147483647 | int32 | REQUIRED |
| serial_number | Серийный номер. # Диапазон: 1..16 | string | REQUIRED |
| flatgramm_id | Идентификатор квартирограммы. # Диапазон: 1..2147483647 | int32 | REQUIRED |
| utc_offset | Смещение таймзоны в минутах. # Диапазон: -720..840 | int32 | REQUIRED |
| status_type | Статус устройства | keyapis.device.v1.Device.StatusType | OUTPUT_ONLY |
| ip_address | Сетевой адрес. # Диапазон: 0..250 | google.protobuf.StringValue | |
| port | Сетевой порт. # Диапазон: 0..65535 | google.protobuf.Int32Value | |
| sputnik_credentials | Учетные данные. Используется для устройств с типом модели SPUTNIK_IO | keyapis.device.v1.Device.SputnikCredentials | |
| location | Координаты | keyapis.device.v1.Device.Location | |
| camera_id | Идентификатор камеры uid. # Тип: Guid | google.protobuf.StringValue | |
| tags | Список тегов устройства. # Диапазон: 1..50 | repeated string | |
| settings | Настройки устройства | keyapis.device.v1.Device.Settings | |
| hardware_version | Версия аппаратного обеспенения | string | OUTPUT_ONLY |
| software_version | Версия программного обеспенения | string | OUTPUT_ONLY |
| dispatching | Диспетчеризации | keyapis.device.v1.Device.Dispatching | |
| sip_trunk | Транк | keyapis.device.v1.Device.SipTrunk | |
| redirect | Переадресация | keyapis.device.v1.Device.Redirect | |
| autochange_password_settings | Настройки автозамены пароля | keyapis.device.v1.Device.AutochangePasswordSettings | |
| credentials | Учетные данные пользователей | repeated keyapis.device.v1.Device.Credentials | OUTPUT_ONLY |
| sip_account | Сип-аккаунт | google.protobuf.StringValue | OUTPUT_ONLY |
| sync_status | Статус синхронизации | keyapis.device.v1.SyncStatus | OUTPUT_ONLY |
Device.AutochangePasswordSettings¶
Настройки автозамены пароля
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки автозамены пароля | bool | REQUIRED |
Device.Credentials¶
Учетные данные пользователей
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| login | Логин. # Диапазон: 0..100 | google.protobuf.StringValue | |
| password | Пароль. # Диапазон: 0..100 | google.protobuf.StringValue | |
| user_access_type | Тип доступа пользователя | keyapis.device.v1.Device.Credentials.UserAccessType |
Device.Dispatching¶
Диспетчеризации
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки диспетчеризации | bool | REQUIRED |
| public_identity | Публичный номер. # Паттерн: /^[1-9]\d{3,7}$/ | google.protobuf.StringValue |
Device.Location¶
Координаты
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| latitude | Широта | float | REQUIRED |
| longitude | Долгота | float | REQUIRED |
Device.Redirect¶
Переадресация. Требуется капабилити SIP_CALLS
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled_sip | Переадресация на SIP | bool | REQUIRED |
| is_enabled_phone | Переадресация на телефон | bool | REQUIRED |
Device.SavingError¶
Ошибка сохранения. Эти проверки выполняются при работе с базой данных и сторонними сервисами
Device.SavingError.AbcNumberIsExistOnAnotherDevice¶
ABC-номер присвоен другому устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| device_id | Идентификатор устройства на котором находится ABC-номер | int32 | REQUIRED |
Device.SavingError.CapabilityIsNotSupported¶
Функциональность не поддерживается моделью устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| model_capability_type | Возможность | keyapis.device.v1.Model.CapabilityType |
Device.SavingError.ConciergeRoomNotFound¶
Не найдена квартира для консьержа
Device.SavingError.CredentialsAreRequired¶
Отсутствуют реквизиты для модели "Спутник"
Device.SavingError.FieldIsNotSupported¶
Переданное поле не поддерживается
Device.SavingError.LoginIsExist¶
Логин уже существует на платформе
Device.SavingError.MacAddressInvalid¶
Переданный мак-адрес не валидный
Device.SavingError.MacAddressIsExist¶
MAC-адрес уже существует на платформе
Device.SavingError.NotAllowedForModel¶
Нельзя изменить модель девайса
Device.SavingError.NotAllowedForType¶
Нельзя изменить тип назначения девайса
Device.SavingError.PublicIdentityIsExist¶
Публичный номер уже существует на платформе
Device.SavingError.SerialNumberForModelIsExist¶
Серийный номер для данной модели уже существует на платформе
Device.SavingError.SerialNumberInvalid¶
Переданный серийный номер не валидный
Device.Settings¶
Настройки устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| coordinate_matrix_switch | Настройки ККМ | keyapis.device.v1.Device.Settings.CoordinateMatrixSwitch | |
| concierge_call | Настройки вызова консьержа. Требуется капабилити CONCIERGE_CALL | keyapis.device.v1.Device.Settings.ConciergeCall | |
| autocollect | Настройки автосбора | keyapis.device.v1.Device.Settings.Autocollect | |
| face_recognition | Настройки распознования лиц | keyapis.device.v1.Device.Settings.FaceRecognition | |
| sl3_mode | Настройки режима SL3 | keyapis.device.v1.Device.Settings.Sl3Mode | |
| emergency_call | Настройки вызова экстренной службы. Только для устройств с CapabilityType=EMERGENCY_CALL | keyapis.device.v1.Device.Settings.EmergencyCall |
Device.Settings.Autocollect¶
Настройки автосбора
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки автосбора | bool | REQUIRED |
Device.Settings.ConciergeCall¶
Настройки вызова консьержа
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки вызова консьержа | bool | REQUIRED |
| orpon | Идентификатор ОРПОН | int64 | REQUIRED |
| room_number | Номер квартиры. # Диапазон: 1..5 | string | REQUIRED |
| sip_number | Номер сип-трубки | string | OUTPUT_ONLY |
Device.Settings.CoordinateMatrixSwitch¶
Настройки ККМ. Коммутатор координатно-матричный (устройство для подключения аналоговых трубок к домофону)
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Состояние | bool | REQUIRED |
Device.Settings.EmergencyCall¶
Настройки вызова экстренной службы. Только для устройств с CapabilityType=EMERGENCY_CALL
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_call_available | Возможность вызова экстренной службы | bool | REQUIRED |
| emergency_number | АБС-номер экстренной службы. # Паттерн: /^+[1-9][0-9]{10}$/ | string | REQUIRED |
Device.Settings.FaceRecognition¶
Настройки распознования лиц
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки | bool | REQUIRED |
Device.Settings.Sl3Mode¶
Настройки режима SL3
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| is_enabled | Статус настройки | bool | REQUIRED |
| encryption_profile_id | Идентификатор профиля шифрования | google.protobuf.StringValue |
Device.SipTrunk¶
Транк. Параметры для соединения между устрйоством и телефонной сетью общего пользования. Требуется капабилити SIP_CALLS
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| abc_number | ABC-номер. # Паттерн: /^(+7)(\d{10})$/ | string | REQUIRED |
| host | Хост. # Диапазон: 0..250 | google.protobuf.StringValue | |
| port | Порт. # Диапазон: 0..65535 | google.protobuf.Int32Value | |
| sip_type | Тип сети связи | keyapis.device.v1.Device.SipTrunk.SipType | REQUIRED |
Device.SputnikCredentials¶
Учетные данные. Используется для устройств с типом модели SPUTNIK_IO
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| login | Логин. # Тип: Guid | string | REQUIRED |
| password | Пароль. На чтение выводится только для пользователя с типом service | google.protobuf.StringValue |
DeviceConfigurationStatus¶
Статус конфигурации устройства.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | |
| device_id | Идентификатор устройства | int32 | REQUIRED |
| configuration_type | Тип конфигурации | keyapis.device.v1.DeviceConfigurationStatus.ConfigurationType | REQUIRED |
| status_type | Статус конфигурации настройки устройства | keyapis.device.v1.DeviceConfigurationStatus.StatusType | REQUIRED |
| configured_at | Дата последней конфигурации устройства. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| error_message | Текст ошибки | google.protobuf.StringValue | |
| retry_count | Количество попыток | int32 | REQUIRED |
| payload | Дополнительная полезная нагрузка | keyapis.device.v1.DeviceConfigurationStatus.Payload | OUTPUT_ONLY |
| next_retry_at | Минимально возможная дата выполнения следующей попытки. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
DeviceConfigurationStatus.Payload¶
Дополнительная полезная нагрузка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| autocollect | Автоколлект | optional keyapis.device.v1.DeviceConfigurationStatus.Payload.Autocollect |
DeviceConfigurationStatus.Payload.Autocollect¶
Автоколлект
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| enabled_at | Дата включения автосбора. # Тип: DateTime | google.protobuf.Timestamp | |
| to_be_disabled_at | Дата отключения автосбора. # Тип: DateTime | google.protobuf.Timestamp |
DeviceConfigurationStatusGrouped¶
Сгруппированный по устройству список конфигураций
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| device_id | Идентификатор устройства | int32 | REQUIRED |
| statuses | Список конфигураций | repeated keyapis.device.v1.DeviceConfigurationStatus | REQUIRED |
DeviceConfigurationStatusGroupedFilter¶
Фильтр конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| device_ids | По идентификаторам устройства | repeated int32 | |
| configuration_types | По типам конфигурации | repeated keyapis.device.v1.DeviceConfigurationStatus.ConfigurationType | |
| status_types | По статусам конфигурации настройки | repeated keyapis.device.v1.DeviceConfigurationStatus.StatusType | |
| is_ready_for_retry | Флаг, указывающий на готовность настройки к конфигурированию. Значение next_retry_at меньше текущей даты | google.protobuf.BoolValue | |
| retry_count_less_then | Пороговое значение количества попыток. Возвращает записи, у которых retry_count меньше этого значения | google.protobuf.Int32Value |
DeviceConfigurationStatusGroupedPaging¶
Постраничный вывод конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: DEVICE_ID | keyapis.device.v1.DeviceConfigurationStatusGroupedPaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.device.v1.DeviceConfigurationStatusGroupedPaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..1000. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
DeviceFilter¶
Фильтр устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| owner_company_ids | По идентификаторам компании владельца | repeated int32 | |
| text | Поиск по тексту. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64. # Поиск производится по полям: # - Наименование; # - MAC-адрес; # - Список тегов устройства; # - Сетевой адрес; # - Серийный номер | google.protobuf.StringValue | |
| flatgramm_ids | Идентификатор квартирограммы | repeated int32 | |
| serial_numbers | Серийный номер | repeated string | |
| device_status_types | Статус устройства | repeated keyapis.device.v1.Device.StatusType | |
| device_types | Тип назначения устройства | repeated keyapis.device.v1.Device.Type | |
| device_model_types | Модель устройства | repeated keyapis.device.v1.Device.ModelType | |
| is_concierge_enabled | Переадресация на консъержа | google.protobuf.BoolValue | |
| is_dispatching_enabled | Диспетчеризация | google.protobuf.BoolValue | |
| dispatching_public_number | Поиск по публичному номеру диспетчеризации. Если значение не передано то поиск по нему не производится. # Диапазон: 3..64 | google.protobuf.StringValue | |
| hardware_version | Версия аппаратного обеспенения. # Диапазон: 3..64 | google.protobuf.StringValue | |
| software_version | Версия программного обеспенения. # Диапазон: 3..64 | google.protobuf.StringValue | |
| is_autochange_password_enabled | Автозамена пароля | google.protobuf.BoolValue | |
| abc_number | ABC-номер | repeated string | |
| camera_ids | Идентификаторы камер | repeated string | |
| sync_status_status_types | Фильтр по статусу синхронизации (SyncStatus.status_type) | repeated keyapis.device.v1.SyncStatus.StatusType | |
| sync_retry_count_less_then | Пороговое значение количества попыток синхронизации. Возвращает записи, у которых sync_retry_count меньше этого значения | google.protobuf.Int32Value | |
| begin_sync_successful_at | От даты успешной синхронизации включительно (>=) | google.protobuf.Timestamp | |
| end_sync_successful_at | До даты успешной синхронизации (<) | google.protobuf.Timestamp | |
| begin_sync_at | От даты синхронизации включительно (>=) | google.protobuf.Timestamp | |
| end_sync_at | До даты синхронизации (<) | google.protobuf.Timestamp |
DeviceLite¶
Облегчённое устройство.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. # Диапазон: 0..2147483647 | int32 | |
| type | Тип назначения устройства | keyapis.device.v1.Device.Type | REQUIRED |
| title | # Диапазон: 3..256 | string | REQUIRED |
| location | Координаты | keyapis.device.v1.Device.Location | |
| status_type | Статус устройства | keyapis.device.v1.Device.StatusType |
DevicePaging¶
Постраничный вывод
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| order_by_type | Тип значения сортировки. Если значение не передано, то будет взято значение по умолчанию. # По умолчанию: ID | keyapis.device.v1.DevicePaging.OrderByType | |
| direction_type | Тип направления сортировки. # По умолчанию: DESC | keyapis.device.v1.DevicePaging.DirectionType | |
| limit | Количество записей на страницу. Если значение 0 (не передано), то будет взято значение по умолчанию. # Диапазон: 0..100. # По умолчанию: 20 | int32 | |
| offset | Сдвиг. # Диапазон: 0..2147483647 | int32 |
GetDeviceConfigurationStatusGroupedCountRequest¶
Запрос получения количества конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.device.v1.DeviceConfigurationStatusGroupedFilter |
GetDeviceConfigurationStatusGroupedCountResponse¶
Ответ на запрос получения количества конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Количество | optional int32 |
GetDeviceConfigurationStatusGroupedListRequest¶
Запрос получения списка конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.device.v1.DeviceConfigurationStatusGroupedFilter | |
| paging | Стандартный постраничный вывод | optional keyapis.device.v1.DeviceConfigurationStatusGroupedPaging |
GetDeviceConfigurationStatusGroupedListResponse¶
Ответ на запрос получения списка конфигураций сгруппированных по устройству
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Конфигурации устройства | optional keyapis.device.v1.DeviceConfigurationStatusGrouped | |
| error | Ошибка | optional keyapis.device.v1.GetDeviceConfigurationStatusGroupedListResponse.Error |
GetDeviceConfigurationStatusGroupedListResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.device.v1.ValidationError |
GetDeviceConfigurationStatusesRequest¶
Запрос получения статусов конфигурации устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
GetDeviceConfigurationStatusesResponse¶
Ответ на запрос получения статусов конфигурации устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.GetDeviceConfigurationStatusesResponse.Statuses | |
| error | Ошибка | optional keyapis.device.v1.GetDeviceConfigurationStatusesResponse.Error |
GetDeviceConfigurationStatusesResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation_error | Ошибка валидации | optional keyapis.device.v1.ValidationError |
GetDeviceConfigurationStatusesResponse.Statuses¶
Статусы
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| device_configuration_statuses | Статусы конфигурации устройства | repeated keyapis.device.v1.DeviceConfigurationStatus | |
| camera_status | Статус камеры | keyapis.device.v1.CameraStatus | |
| sync_status | Статус синхронизации | keyapis.device.v1.SyncStatus | |
| device_status_type | Статус устройства | keyapis.device.v1.Device.StatusType |
GetDeviceCountRequest¶
Запрос получения количества устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.device.v1.DeviceFilter |
GetDeviceCountResponse¶
Ответ на запрос получения количества устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Количество | optional int32 | |
| error | Ошибка | optional keyapis.device.v1.GetDeviceCountResponse.Error |
GetDeviceCountResponse.Error¶
Ошибка
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.device.v1.ValidationError |
GetDeviceListRequest¶
Запрос получения списка устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| filter | Фильтр | keyapis.device.v1.DeviceFilter | |
| paging | Пагинация | optional keyapis.device.v1.DevicePaging |
GetDeviceListResponse¶
Ответ на запрос получения списка устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.Device | |
| error | Ошибка | optional keyapis.device.v1.GetDeviceListResponse.Error |
GetDeviceListResponse.Error¶
Ошибка запроса на получение списка устройств
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.device.v1.ValidationError |
GetDeviceLiteRequest¶
Запрос получения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
GetDeviceLiteResponse¶
Ответ на запрос получения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.DeviceLite |
GetDeviceRequest¶
Запрос получения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
GetDeviceResponse¶
Ответ на запрос получения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.Device |
PostDeviceConfigurationStatusRequest¶
Запрос на изменение статуса конфигурации устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Статус конфигурации устройства | keyapis.device.v1.DeviceConfigurationStatus | REQUIRED |
PostDeviceConfigurationStatusResponse¶
Ответ на запрос на изменение статуса конфигурации устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Статус конфигурации устройства | optional keyapis.device.v1.DeviceConfigurationStatus | |
| error | Ошибка | optional keyapis.device.v1.PostDeviceConfigurationStatusResponse.Error |
PostDeviceConfigurationStatusResponse.Error¶
Ошибка запроса сохранения статуса конфигурации устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.device.v1.ValidationError |
PostDeviceInstallPresetRequest¶
Запрос установки пресета на устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор | int32 | REQUIRED |
PostDeviceInstallPresetResponse¶
Ответ на запрос установки пресета на устройство
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка при установке пресета | optional keyapis.device.v1.PostDeviceInstallPresetResponse.Error |
PostDeviceInstallPresetResponse.Error¶
Ошибка при установке пресета
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| preset_status_is_processing | Пресет в процессе установки | optional keyapis.device.v1.PostDeviceInstallPresetResponse.Error.PresetStatusIsProcessing |
PostDeviceInstallPresetResponse.Error.PresetStatusIsProcessing¶
Пресет в процессе установки
PostDeviceReconfigureRequest¶
Запрос на переконфигурирование устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор устройства | int32 | REQUIRED |
PostDeviceReconfigureResponse¶
Ответ на запрос на переконфигурирование устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка переконфигурирования устройства | optional keyapis.device.v1.PostDeviceReconfigureResponse.Error |
PostDeviceReconfigureResponse.Error¶
Ошибка переконфигурирования устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation_error | Ошибка валидации | optional keyapis.device.v1.ValidationError | |
| reinstall_error | Ошибка реинстала | optional keyapis.device.v1.ReinstallError |
PostDeviceReplaceRequest¶
Запрос на замену устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор устройства | int32 | REQUIRED |
| host | Хост | string | |
| mac_address | MAC-адрес. # Диапазон: 17..17. # Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/ | string | REQUIRED |
| serial_number | Серийный номер | string | REQUIRED |
| login | Логин (для модели спутник) | string |
PostDeviceReplaceResponse¶
Ответ на запрос на замену устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| error | Ошибка замены устройства | optional keyapis.device.v1.PostDeviceReplaceResponse.Error |
PostDeviceReplaceResponse.Error¶
Ошибка замены устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation_error | Ошибка валидации | optional keyapis.device.v1.ValidationError | |
| host_exists | На платформе уже существует устройство с таким хостом | optional keyapis.device.v1.PostDeviceReplaceResponse.Error.HostExists | |
| mac_address_exists | На платформе уже существует устройство с таким MAC-адресом | optional keyapis.device.v1.PostDeviceReplaceResponse.Error.MacAddressExists | |
| serial_number_exists | На платформе уже существует устройство с таким серийным номером | optional keyapis.device.v1.PostDeviceReplaceResponse.Error.SerialNumberExists | |
| login_exists | На платформе уже существует устройство с таким логином (для устройст модели "Спутник") | optional keyapis.device.v1.PostDeviceReplaceResponse.Error.LoginExists | |
| login_is_required | Отсутствует поле Login для модели "Спутник" | optional keyapis.device.v1.PostDeviceReplaceResponse.Error.LoginIsRequired | |
| reinstall_error | Ошибка реинстала | optional keyapis.device.v1.ReinstallError |
PostDeviceReplaceResponse.Error.HostExists¶
На платформе уже существует устройство с таким хостом
PostDeviceReplaceResponse.Error.LoginExists¶
На платформе уже существует устройство с таким логином (для устройст модели "Спутник")
PostDeviceReplaceResponse.Error.LoginIsRequired¶
Отсутствует поле Login для модели "Спутник"
PostDeviceReplaceResponse.Error.MacAddressExists¶
На платформе уже существует устройство с таким MAC-адресом
PostDeviceReplaceResponse.Error.SerialNumberExists¶
На платформе уже существует устройство с таким серийным номером
PostDeviceRequest¶
Запрос на создание/изменение устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | keyapis.device.v1.Device | REQUIRED |
PostDeviceResponse¶
Ответ на запрос на создание/изменение устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.Device | |
| error | Ошибка | optional keyapis.device.v1.PostDeviceResponse.Error |
PostDeviceResponse.Error¶
Ошибка запроса сохранения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| validation | Ошибка валидации | optional keyapis.device.v1.ValidationError | |
| saving | Ошибка сохранения | optional keyapis.device.v1.Device.SavingError |
Preset¶
Пресет. Пресет с id=1 устанавливается при создании устройства по умолчанию
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор. # Диапазон: 1..2147483647 | int32 | |
| title | Наименование. # Диапазон: 3..256 | string | REQUIRED |
| mrf_ids | Идентификатор МРФ. # Диапазон: 0..10 | repeated int32 | REQUIRED |
| rf_ids | Идентификатор РФ. # Диапазон: 0..100 | repeated int32 | REQUIRED |
| description | Описание. # Диапазон: 3..1024 | google.protobuf.StringValue | OPTIONAL |
| created_at | Дата и время создания. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| changed_at | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| status_type | Статус | keyapis.device.v1.Preset.StatusType | REQUIRED |
| sip | Параметр SIP | keyapis.device.v1.Preset.Sip | REQUIRED |
| ntp | Параметр NTP | keyapis.device.v1.Preset.Ntp | REQUIRED |
| syslog | Параметр Syslog | keyapis.device.v1.Preset.Syslog | REQUIRED |
| rooms | Помещения. # Диапазон: 0..10000 | repeated keyapis.device.v1.Preset.Room | REQUIRED |
| video_config | Параметры конфигурации видео | keyapis.device.v1.Preset.VideoConfig | REQUIRED |
| dtmf | Параметр DTMF. # Диапазон: 0..64 | repeated keyapis.device.v1.Preset.Dtmf | REQUIRED |
| face_recognition | Распознование лиц | keyapis.device.v1.Preset.FaceRecognition |
Preset.Dtmf¶
Параметр DTMF
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| code | Код. # Диапазон: 1..1 | string | REQUIRED |
| relay_index | Индекс реле. # Диапазон: 0..64 | int32 |
Preset.FaceRecognition¶
Распознование лиц
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Адрес | string | REQUIRED |
| alt_host | Альтернативный адрес | string | |
| endpoint | Путь запроса к серверу | string | REQUIRED |
| auth_token | Токен | string | REQUIRED |
| configuration_type | Тип конфигурации | keyapis.device.v1.Preset.FaceRecognition.ConfigurationType | REQUIRED |
| origin_id | Идентификатор источника в identix | string | REQUIRED |
| group_ids | Идентификаторы групп профилей в identix | repeated int32 |
Preset.Ntp¶
Параметр NTP
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
Preset.Room¶
Помещение
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| phone | Номер телефона. # Диапазон: 5..14 | string | REQUIRED |
| num | Номер помещения. # Диапазон: 1..10000 | int32 | REQUIRED |
Preset.SavingError¶
Ошибка сохранения. Эти проверки выполняются при работе с базой данных и сторонними сервисами
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| conflict | Конфликт версий | optional keyapis.device.v1.Preset.SavingError.Conflict | |
| not_allowed_for_default | Запрещено для дефолтного пресета | optional keyapis.device.v1.Preset.SavingError.NotAllowedForDefault |
Preset.SavingError.Conflict¶
Конфликт версий. Причины: - В базе хранится другая версия строки, значения changed_at отличаются
Preset.SavingError.NotAllowedForDefault¶
Недоступно для дефолтного пресета. Причины: - Смена статуса на Архивный
Preset.Sip¶
Параметр SIP
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
| reg_host | Хост reg. # Диапазон: 5..256 | string | REQUIRED |
| reg_port | Порт reg. # Диапазон: 1..65536 | int32 | REQUIRED |
| proxy_host | Хост proxy. # Диапазон: 5..256 | string | REQUIRED |
| proxy_port | Порт proxy. # Диапазон: 1..65536 | int32 | REQUIRED |
Preset.Syslog¶
Параметр Syslog
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| host | Хост. # Диапазон: 5..256 | string | REQUIRED |
| port | Порт. # Диапазон: 1..65536 | int32 | REQUIRED |
| protocol_type | Протокол | keyapis.device.v1.Preset.Syslog.ProtocolType | REQUIRED |
Preset.VideoConfig¶
Параметры конфигурации видео
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| quality_type | Тип пресета | keyapis.device.v1.Preset.VideoConfig.QualityType | REQUIRED |
| rtsp_user | Пользователь | keyapis.device.v1.Preset.VideoConfig.RtspUser | REQUIRED |
Preset.VideoConfig.RtspUser¶
Пользователь
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| username | Имя пользователя. # Диапазон: 3..256 | string | REQUIRED |
| password | Пароль. # Диапазон: 3..256 | string | REQUIRED |
PutDeviceRequest¶
Запрос изменения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| id | Идентификатор устройства | int32 | REQUIRED |
| preset_id | Идентификатор пресета | int32 | OPTIONAL |
| is_sl3_mode_enabled | Настройка режима SL3 | bool | OPTIONAL |
PutDeviceResponse¶
ответ на завпрос изменения устройства
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| data | Устройство | optional keyapis.device.v1.Device |
ReinstallError¶
Ошибки реинстала
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| sip_login_is_missing | Сип-логин отсутствует на устройстве | optional keyapis.device.v1.ReinstallError.SipLoginIsMissing |
ReinstallError.SipLoginIsMissing¶
Сип-логин отсутствует на устройстве
SyncStatus¶
Статус синхронизации.
Описание модели¶
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| status_type | Статус синхронизации | keyapis.device.v1.SyncStatus.StatusType | OUTPUT_ONLY |
| error_message | Сообщение об ошибке | string | OUTPUT_ONLY |
| retry_count | Количество попыток | int32 | OUTPUT_ONLY |
| successful_at | Дата последней успешной синхронизации. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
| sync_at | Дата последней синхронизации. # Тип: DateTime | google.protobuf.Timestamp | OUTPUT_ONLY |
ValidationError¶
Ошибки валидации. Эти проверки выполняются до обращения в базу данных
| Поле | Описание | Тип | Признак |
|---|---|---|---|
| path | Путь к полю в формате наименования прото | string | REQUIRED |
| message | Валидационное сообщение | string | REQUIRED |
CameraStatus.StatusType¶
Статус камеры.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | PROCESSING | В процессе регистрации |
| 2 | PROCESSING_ERROR | Ошибка регистрации |
| 3 | ACTIVE | Активна |
Device.Credentials.UserAccessType¶
Тип доступа пользователя.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | USER_ACCESS_TYPE_UNKNOWN | Значение не указано |
| 1 | API | Доступ к api |
| 2 | WEB | Доступ к web-интерфейсу |
| 3 | RTSP | Доступ к rtsp-потоку |
| 4 | SU | Полный доступ |
Device.ModelType¶
Модель устройства.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | MODEL_TYPE_UNKNOWN | Значение не указано |
| 1 | RODOS8 | Модель RODOS-8 |
| 2 | BEWARD | Модель Beward |
| 3 | QTECH | Модель QTECH |
| 4 | NATEKS | Модель Натекс |
| 5 | TNB | Модель ТНБ |
| 6 | MAXETLINE | Модель Maxet Line |
| 7 | TNB_DO2 | Модель Двойная открывашка |
| 8 | BEWARD_DS86017CP | Модель Beward DS86017CP |
| 9 | BEWARD_DS85006MP | Модель Beward DS85006MP |
| 10 | DAHUA_VTO2101E_P | Модель Dahua DHI-VTO2101E-P |
| 11 | HIKVISION_DS_KV8155_IM | Модель Hikvision DS-KV8155-IM |
| 12 | RODOS8_2 | Модель RODOS-8-2 |
| 13 | AKUVOX_R29C | Модель Akuvox R29C |
| 14 | SAFE_LOGIC | Модель Safe-logic |
| 15 | BEWARD_DS86006AP | Модель Beward DS86006AP |
| 16 | SPUTNIK_IO | Модель Спутник Ио |
| 17 | BEWARD_FR | Модель Beward c FR |
| 18 | QTECH_FR | Модель QTECH с FR |
| 19 | ELTEX_IPA_ER_010 | Модель Eltex IPA-ER-10 |
| 20 | BEWARD_MIFARE | Модель Beward с новым API ключей |
| 21 | BAS_IP_AA_12FB | Модель BAS-IP AA-12FB |
| 22 | AKUVOX_X915S | Модель Akuvox X915S |
| 23 | RUBETEK_RV_3434 | Модель Rubetek RV-3434 |
| 24 | SOKOL_PLUS | Модель Сокол плюс |
| 25 | BEWARD_LOW_COST | Модель Beward Эконом |
Device.PresetStatusType¶
Deprecated. Справочник статусов установки пресета.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | PRESET_STATUS_TYPE_UNKNOWN | Deprecated. Значение не указано |
| 1 | PROCESSING | Deprecated. Устанавливается |
| 2 | SUCCESS | Deprecated. Установлен |
| 3 | ERROR | Deprecated. Ошибка |
Device.SipTrunk.SipType¶
Тип сети связи.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | SIP_TYPE_UNKNOWN | Значение не указано |
| 1 | VIMS | Тип Viprtual IP Multimedia Subsystem |
| 2 | NGN | Тип Next Generation Networks |
Device.StatusType¶
Справочник статусов устройства.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | OFFLINE | Не в сети |
| 2 | ONLINE | В сети |
Device.Type¶
Справочник назначений типов устройств (в качестве чего выступает устройство).
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | TYPE_UNKNOWN | Значение не указано |
| 1 | INTERCOM | Домофон |
| 2 | VIDEOCAMERA | Deprecated. Видеокамера |
| 3 | BARRIER | Шлагбаум |
| 4 | GATE | Калитка |
| 5 | ACCESS_CONTROL_PANEL | Deprecated. СКУД |
| 6 | OUTDOOR_CAMERA | Deprecated. Наружняя видеокамера |
DeviceConfigurationStatus.ConfigurationType¶
Тип конфигурации.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | CONFIGURATION_TYPE_UNKNOWN | Значение не указано |
| 1 | PRESET | Пресет |
| 2 | SIP_ACCOUNT | Сип-аккаунт |
| 3 | SIP_ROOMS | сип-номера в помещениях |
| 4 | GATE | Калитка |
| 5 | RFIDS | Ключи |
| 6 | CODES | Коды |
| 7 | FACE_RECOGNITION | Распознование лиц |
| 8 | CONCIERGE | Консьерж |
| 9 | AUTOCOLLECT | Автосбор |
| 10 | SL3 | Режим Sl3 |
| 11 | EMERGENCY_CALL | Вызов экстренной службы |
DeviceConfigurationStatus.StatusType¶
Справочник статусов конфигурации настройки устройства.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | SUCCESS | Настроен |
| 2 | ERROR | Ошибка |
| 3 | PENDING | В ожидании обработки |
| 4 | PROCESSING | В процессе обработки |
DeviceConfigurationStatusGroupedPaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
DeviceConfigurationStatusGroupedPaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | DEVICE_ID | По идентификатору устройства |
DevicePaging.DirectionType¶
Справочник типов направлений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | DIRECTION_TYPE_UNKNOWN | Значение не указано |
| 1 | DESC | От большего к меньшему |
| 2 | ASC | От меньшего к большему |
DevicePaging.OrderByType¶
Справочник типов значений сортировки.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | ORDER_BY_TYPE_UNKNOWN | Значение не указано |
| 1 | ID | По идентификатору |
| 2 | TITLE | По наименованию |
| 3 | SYNC_AT | По дате последней попытки синхронизации |
Preset.FaceRecognition.ConfigurationType¶
Тип конфигурации.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | CONFIGURATION_TYPE_UNKNOWN | Значение не указано |
| 1 | DEFAULT | По умолчанию |
Preset.StatusType¶
Справочник статусов.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | ACTIVE | Активный |
| 2 | ARCHIVE | Архивный |
Preset.Syslog.ProtocolType¶
Тип протокола.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | PROTOCOL_TYPE_UNKNOWN | Значение не указано |
| 1 | UDP | Протокол UDP |
| 2 | TCP | Протокол TCP |
Preset.VideoConfig.QualityType¶
Справочник качеств.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | QUALITY_TYPE_UNKNOWN | Значение не указано |
| 1 | HIGH | Высокое качество |
| 2 | MEDIUM | Среднее качество |
SyncStatus.StatusType¶
Статус синхронизации.
Тип: byte¶
| Номер | Тип | Название |
|---|---|---|
| 0 | STATUS_TYPE_UNKNOWN | Значение не указано |
| 1 | NEW | Новый |
| 2 | PENDING | В процессе |
| 3 | ERROR | Ошибка |
| 4 | SUCCESS | Успешно |
| 5 | DISABLED | Выключено |
Скалярные типы значений¶
| .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 |