# Протокол

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

- [keyapis/ad/v1/keyapis_ad_salepoint_v1.proto](#keyapis_ad_v1_keyapis_ad_salepoint_v1-proto)
    - [SalepointService](#keyapis-ad-v1-SalepointService)
  
    - [GetSalepointCountRequest](#keyapis-ad-v1-GetSalepointCountRequest)
    - [GetSalepointCountResponse](#keyapis-ad-v1-GetSalepointCountResponse)
    - [GetSalepointListRequest](#keyapis-ad-v1-GetSalepointListRequest)
    - [GetSalepointListResponse](#keyapis-ad-v1-GetSalepointListResponse)
    - [GetSalepointRequest](#keyapis-ad-v1-GetSalepointRequest)
    - [GetSalepointResponse](#keyapis-ad-v1-GetSalepointResponse)
    - [PostSalepointRequest](#keyapis-ad-v1-PostSalepointRequest)
    - [PostSalepointResponse](#keyapis-ad-v1-PostSalepointResponse)
    - [Salepoint](#keyapis-ad-v1-Salepoint)
    - [Salepoint.Location](#keyapis-ad-v1-Salepoint-Location)
    - [Salepoint.Worktime](#keyapis-ad-v1-Salepoint-Worktime)
    - [SalepointFilter](#keyapis-ad-v1-SalepointFilter)
    - [SalepointFilter.Location](#keyapis-ad-v1-SalepointFilter-Location)
    - [SalepointPaging](#keyapis-ad-v1-SalepointPaging)
  
    - [Salepoint.Type](#keyapis-ad-v1-Salepoint-Type)
    - [Salepoint.Worktime.DayType](#keyapis-ad-v1-Salepoint-Worktime-DayType)
    - [SalepointPaging.DirectionType](#keyapis-ad-v1-SalepointPaging-DirectionType)
    - [SalepointPaging.OrderByType](#keyapis-ad-v1-SalepointPaging-OrderByType)
  


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




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

## [keyapis/ad/v1/keyapis_ad_salepoint_v1.proto](/protos/key/keyapis/ad/v1/keyapis_ad_salepoint_v1.proto)
Сервис реализует функционал управления точками продаж.
Точки проджаж используются как точки дистрибьюции ключей


<a name="keyapis-ad-v1-SalepointService"></a>

### SalepointService
 Сервис точек продаж

| Название метода | Описание | Тип запроса | Тип ответа |
| --------------- | -------- | ----------- | -----------|
| <a id="keyapis-ad-v1-PostSalepoint"></a> [PostSalepoint](#keyapis-ad-v1-PostSalepoint) | Метод сохранения точки продаж. Поддерживает создание и обновление. Метод доступен для: manager, service, application(ad:edit) | [keyapis.ad.v1.PostSalepointRequest](#keyapis-ad-v1-PostSalepointRequest) | [keyapis.ad.v1.PostSalepointResponse](#keyapis-ad-v1-PostSalepointResponse) |
| <a id="keyapis-ad-v1-GetSalepoint"></a> [GetSalepoint](#keyapis-ad-v1-GetSalepoint) | Метод получения точки продаж. Не требует авторизации | [keyapis.ad.v1.GetSalepointRequest](#keyapis-ad-v1-GetSalepointRequest) | [keyapis.ad.v1.GetSalepointResponse](#keyapis-ad-v1-GetSalepointResponse) |
| <a id="keyapis-ad-v1-GetSalepointList"></a> [GetSalepointList](#keyapis-ad-v1-GetSalepointList) | Метод получения списка точек продаж. Не требует авторизации | [keyapis.ad.v1.GetSalepointListRequest](#keyapis-ad-v1-GetSalepointListRequest) | [keyapis.ad.v1.GetSalepointListResponse](#keyapis-ad-v1-GetSalepointListResponse) stream |
| <a id="keyapis-ad-v1-GetSalepointCount"></a> [GetSalepointCount](#keyapis-ad-v1-GetSalepointCount) | Метод получения количества точек продаж. Не требует авторизации | [keyapis.ad.v1.GetSalepointCountRequest](#keyapis-ad-v1-GetSalepointCountRequest) | [keyapis.ad.v1.GetSalepointCountResponse](#keyapis-ad-v1-GetSalepointCountResponse) |

 <!-- end services -->


<a name="keyapis-ad-v1-GetSalepointCountRequest"></a>


### [GetSalepointCountRequest](#keyapis-ad-v1-GetSalepointCountRequest)
 Запрос получения количества точек продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointCountRequest-filter"></a> [filter](#keyapis-ad-v1-GetSalepointCountRequest-filter) | Фильтр |    [keyapis.ad.v1.SalepointFilter](#keyapis-ad-v1-SalepointFilter) | <nil>|






<a name="keyapis-ad-v1-GetSalepointCountResponse"></a>


### [GetSalepointCountResponse](#keyapis-ad-v1-GetSalepointCountResponse)
 Ответ на запрос получения количества точек продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointCountResponse-data"></a> [data](#keyapis-ad-v1-GetSalepointCountResponse-data) | Всего точек продаж |  optional  [int32](#scalar-types) | <nil>|






<a name="keyapis-ad-v1-GetSalepointListRequest"></a>


### [GetSalepointListRequest](#keyapis-ad-v1-GetSalepointListRequest)
 Запрос получения списка точек продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointListRequest-filter"></a> [filter](#keyapis-ad-v1-GetSalepointListRequest-filter) | Фильтр |    [keyapis.ad.v1.SalepointFilter](#keyapis-ad-v1-SalepointFilter) | <nil>|
| <a id="keyapis-ad-v1-GetSalepointListRequest-paging"></a> [paging](#keyapis-ad-v1-GetSalepointListRequest-paging) | Пагинация |  optional  [keyapis.ad.v1.SalepointPaging](#keyapis-ad-v1-SalepointPaging) | <nil>|






<a name="keyapis-ad-v1-GetSalepointListResponse"></a>


### [GetSalepointListResponse](#keyapis-ad-v1-GetSalepointListResponse)
 Ответ на запрос получения списка точек продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointListResponse-data"></a> [data](#keyapis-ad-v1-GetSalepointListResponse-data) | Точка продаж |  optional  [keyapis.ad.v1.Salepoint](#keyapis-ad-v1-Salepoint) | <nil>|






<a name="keyapis-ad-v1-GetSalepointRequest"></a>


### [GetSalepointRequest](#keyapis-ad-v1-GetSalepointRequest)
 Запрос получения точки продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointRequest-id"></a> [id](#keyapis-ad-v1-GetSalepointRequest-id) | Идентификатор точки продаж |    [int32](#scalar-types) | REQUIRED|






<a name="keyapis-ad-v1-GetSalepointResponse"></a>


### [GetSalepointResponse](#keyapis-ad-v1-GetSalepointResponse)
 Ответ на запрос получения точки продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-GetSalepointResponse-data"></a> [data](#keyapis-ad-v1-GetSalepointResponse-data) | Точка продаж |  optional  [keyapis.ad.v1.Salepoint](#keyapis-ad-v1-Salepoint) | <nil>|






<a name="keyapis-ad-v1-PostSalepointRequest"></a>


### [PostSalepointRequest](#keyapis-ad-v1-PostSalepointRequest)
 Запрос сохранения точки продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-PostSalepointRequest-data"></a> [data](#keyapis-ad-v1-PostSalepointRequest-data) | Точка продаж |    [keyapis.ad.v1.Salepoint](#keyapis-ad-v1-Salepoint) | REQUIRED|






<a name="keyapis-ad-v1-PostSalepointResponse"></a>


### [PostSalepointResponse](#keyapis-ad-v1-PostSalepointResponse)
 Ответ на запрос сохранения точки продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-PostSalepointResponse-data"></a> [data](#keyapis-ad-v1-PostSalepointResponse-data) | Точка продаж |  optional  [keyapis.ad.v1.Salepoint](#keyapis-ad-v1-Salepoint) | <nil>|






<a name="keyapis-ad-v1-Salepoint"></a>


### [Salepoint](#keyapis-ad-v1-Salepoint)
 Точка продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-Salepoint-id"></a> [id](#keyapis-ad-v1-Salepoint-id) | Идентификатор |    [int32](#scalar-types) | <nil>|
| <a id="keyapis-ad-v1-Salepoint-title"></a> [title](#keyapis-ad-v1-Salepoint-title) | Название |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-type"></a> [type](#keyapis-ad-v1-Salepoint-type) | Тип точки продаж |    [keyapis.ad.v1.Salepoint.Type](#keyapis-ad-v1-Salepoint-Type) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-description"></a> [description](#keyapis-ad-v1-Salepoint-description) | Описание |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-ad-v1-Salepoint-address"></a> [address](#keyapis-ad-v1-Salepoint-address) | Адрес |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-location"></a> [location](#keyapis-ad-v1-Salepoint-location) | Местонахождение |    [keyapis.ad.v1.Salepoint.Location](#keyapis-ad-v1-Salepoint-Location) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-worktimes"></a> [worktimes](#keyapis-ad-v1-Salepoint-worktimes) | Рабочее время |  repeated  [keyapis.ad.v1.Salepoint.Worktime](#keyapis-ad-v1-Salepoint-Worktime) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-phone_number"></a> [phone_number](#keyapis-ad-v1-Salepoint-phone_number) | Номер телефона |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-ad-v1-Salepoint-site_url"></a> [site_url](#keyapis-ad-v1-Salepoint-site_url) | Ссылка на сайт |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-created_at"></a> [created_at](#keyapis-ad-v1-Salepoint-created_at) | Дата создания |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-ad-v1-Salepoint-changed_at"></a> [changed_at](#keyapis-ad-v1-Salepoint-changed_at) | Дата последнего изменения. Заполняется и обновляется сервером. Заполняется при создании и изменении. Является версией объекта |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | OUTPUT_ONLY|
| <a id="keyapis-ad-v1-Salepoint-archieved_at"></a> [archieved_at](#keyapis-ad-v1-Salepoint-archieved_at) | Дата архивации |    [google.protobuf.Timestamp](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-ad-v1-Salepoint-Location"></a>


### [Salepoint.Location](#keyapis-ad-v1-Salepoint-Location)
 Местонахождение


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-Salepoint-Location-latitude"></a> [latitude](#keyapis-ad-v1-Salepoint-Location-latitude) | Широта |    [float](#scalar-types) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-Location-longitude"></a> [longitude](#keyapis-ad-v1-Salepoint-Location-longitude) | Долгота |    [float](#scalar-types) | REQUIRED|






<a name="keyapis-ad-v1-Salepoint-Worktime"></a>


### [Salepoint.Worktime](#keyapis-ad-v1-Salepoint-Worktime)
 Рабочее время


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-Salepoint-Worktime-day_type"></a> [day_type](#keyapis-ad-v1-Salepoint-Worktime-day_type) | День недели |    [keyapis.ad.v1.Salepoint.Worktime.DayType](#keyapis-ad-v1-Salepoint-Worktime-DayType) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-Worktime-opened_at"></a> [opened_at](#keyapis-ad-v1-Salepoint-Worktime-opened_at) | Время открытия |    [string](#scalar-types) | REQUIRED|
| <a id="keyapis-ad-v1-Salepoint-Worktime-closed_at"></a> [closed_at](#keyapis-ad-v1-Salepoint-Worktime-closed_at) | Время закрытия |    [string](#scalar-types) | REQUIRED|






<a name="keyapis-ad-v1-SalepointFilter"></a>


### [SalepointFilter](#keyapis-ad-v1-SalepointFilter)
 Фильтр точек продаж


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-SalepointFilter-text"></a> [text](#keyapis-ad-v1-SalepointFilter-text) | По тексту. Если значение не передано то поиск по нему не производится. # Поиск производится по полям: # - Название |    [google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-ad-v1-SalepointFilter-location"></a> [location](#keyapis-ad-v1-SalepointFilter-location) | По местонахождению. Игнорируется если дистанция не передана |    [keyapis.ad.v1.SalepointFilter.Location](#keyapis-ad-v1-SalepointFilter-Location) | <nil>|
| <a id="keyapis-ad-v1-SalepointFilter-distance"></a> [distance](#keyapis-ad-v1-SalepointFilter-distance) | По дистанции. Игнорируется если местонахождение не передано |    [google.protobuf.FloatValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|
| <a id="keyapis-ad-v1-SalepointFilter-is_archieved"></a> [is_archieved](#keyapis-ad-v1-SalepointFilter-is_archieved) | По архивированым |    [google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf/) | <nil>|






<a name="keyapis-ad-v1-SalepointFilter-Location"></a>


### [SalepointFilter.Location](#keyapis-ad-v1-SalepointFilter-Location)
 Местонахождение


| Поле | Описание | Тип | Признак |
| ---- | -------- | --- | ------- |
| <a id="keyapis-ad-v1-SalepointFilter-Location-latitude"></a> [latitude](#keyapis-ad-v1-SalepointFilter-Location-latitude) | По широте |    [float](#scalar-types) | <nil>|
| <a id="keyapis-ad-v1-SalepointFilter-Location-longitude"></a> [longitude](#keyapis-ad-v1-SalepointFilter-Location-longitude) | По долготе |    [float](#scalar-types) | <nil>|






<a name="keyapis-ad-v1-SalepointPaging"></a>


### [SalepointPaging](#keyapis-ad-v1-SalepointPaging)
 Пагинация по точекам продаж


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





 <!-- end messages -->



<a name="keyapis-ad-v1-Salepoint-Type"></a>

### [Salepoint.Type](#keyapis-ad-v1-Salepoint-Type)
 Справочник типов точек продаж

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-ad-v1-Salepoint-Type-TYPE_UNKNOWN"></a> [TYPE_UNKNOWN](#keyapis-ad-v1-Salepoint-Type-TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-ad-v1-Salepoint-Type-TELE2"></a> [TELE2](#keyapis-ad-v1-Salepoint-Type-TELE2) | Теле2 |
| 2 | <a id="keyapis-ad-v1-Salepoint-Type-POCHTA_ROSSII"></a> [POCHTA_ROSSII](#keyapis-ad-v1-Salepoint-Type-POCHTA_ROSSII) | Почта россии |
| 3 | <a id="keyapis-ad-v1-Salepoint-Type-PEREKRESTOK"></a> [PEREKRESTOK](#keyapis-ad-v1-Salepoint-Type-PEREKRESTOK) | Перекресток |
| 4 | <a id="keyapis-ad-v1-Salepoint-Type-PYATEROCHKA"></a> [PYATEROCHKA](#keyapis-ad-v1-Salepoint-Type-PYATEROCHKA) | Пятерочка |
| 5 | <a id="keyapis-ad-v1-Salepoint-Type-ANOTHER"></a> [ANOTHER](#keyapis-ad-v1-Salepoint-Type-ANOTHER) | Другая |
| 6 | <a id="keyapis-ad-v1-Salepoint-Type-MEGAFON"></a> [MEGAFON](#keyapis-ad-v1-Salepoint-Type-MEGAFON) | Мегафон |




<a name="keyapis-ad-v1-Salepoint-Worktime-DayType"></a>

### [Salepoint.Worktime.DayType](#keyapis-ad-v1-Salepoint-Worktime-DayType)
 Справочник дней

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-DAY_TYPE_UNKNOWN"></a> [DAY_TYPE_UNKNOWN](#keyapis-ad-v1-Salepoint-Worktime-DayType-DAY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-MONDAY"></a> [MONDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-MONDAY) | Понедельник |
| 2 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-TUESDAY"></a> [TUESDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-TUESDAY) | Вторник |
| 3 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-WEDNESDAY"></a> [WEDNESDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-WEDNESDAY) | Среда |
| 4 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-THURSDAY"></a> [THURSDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-THURSDAY) | Четверг |
| 5 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-FRIDAY"></a> [FRIDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-FRIDAY) | Пятница |
| 6 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-SATURDAY"></a> [SATURDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-SATURDAY) | Суббота |
| 7 | <a id="keyapis-ad-v1-Salepoint-Worktime-DayType-SUNDAY"></a> [SUNDAY](#keyapis-ad-v1-Salepoint-Worktime-DayType-SUNDAY) | Воскресенье |




<a name="keyapis-ad-v1-SalepointPaging-DirectionType"></a>

### [SalepointPaging.DirectionType](#keyapis-ad-v1-SalepointPaging-DirectionType)
 Справочник типов направлений сортировки

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




<a name="keyapis-ad-v1-SalepointPaging-OrderByType"></a>

### [SalepointPaging.OrderByType](#keyapis-ad-v1-SalepointPaging-OrderByType)
 Справочник типов значений сортировки

| Номер | Тип | Название |
| ----- | --- | -------- |
| 0 | <a id="keyapis-ad-v1-SalepointPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN"></a> [ORDER_BY_TYPE_UNKNOWN](#keyapis-ad-v1-SalepointPaging-OrderByType-ORDER_BY_TYPE_UNKNOWN) | Значение не указано |
| 1 | <a id="keyapis-ad-v1-SalepointPaging-OrderByType-ID"></a> [ID](#keyapis-ad-v1-SalepointPaging-OrderByType-ID) | По идентификатору |
| 2 | <a id="keyapis-ad-v1-SalepointPaging-OrderByType-DISTANCE"></a> [DISTANCE](#keyapis-ad-v1-SalepointPaging-OrderByType-DISTANCE) | По дистанции |
| 3 | <a id="keyapis-ad-v1-SalepointPaging-OrderByType-RANK_CD"></a> [RANK_CD](#keyapis-ad-v1-SalepointPaging-OrderByType-RANK_CD) | По рангу близости. При поиске по тексту |


 <!-- 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 |

