Field | Type | Label | Description |
id | string | идентификатор ссылки |
|
promo_code | string | исходный промокод |
|
profile_id | string | идентификатор профиля |
Field | Type | Label | Description |
message | string | тексовый результат опреации |
Объект запроса изменения возраста
Field | Type | Label | Description |
bonus_id | string | идентификатор игры (он же будет идентификатором транзакции) |
|
instance_id | string | идентификатор бэка (api url) |
|
client_id | ClientId | Вариант идентификации клиента |
|
rejuvenation_days | int32 | на сколько поменять возраст |
|
skllzz_delta | double | на сколько поменять баланс skllzz |
|
description | string | описание |
набор строк для конкретного графика view
Field | Type | Label | Description |
rows | ChartRow | repeated |
|
описание раскладки графиков
Field | Type | Label | Description |
id | string | id раскладки |
|
columns | int32 | колонок в раскладке |
|
rows | int32 | строк в раскладке |
|
views | ChartLayoutData.ViewsEntry | repeated | Вьюхи внутри раскладки |
Field | Type | Label | Description |
key | string |
|
|
value | ChartView |
|
Field | Type | Label | Description |
id | string | id раскладки |
|
namespace | string | неймспейс раскладки |
Field | Type | Label | Description |
name | string | участник |
|
rank | int32 | позиция |
|
skllzz | double | заработано skllzz |
описание конкретного графика
Field | Type | Label | Description |
id | string | id чарта (он же id группы) |
|
layout_id | string | id чарта |
|
namespace | string | неймспейс вьюхи |
|
column | int32 | колонока внутри раскладки |
|
row | int32 | строка внутри раскладки |
|
width | int32 | ширина вьюхи в ячейках (0 - авто) |
|
height | int32 | высота вьюхи в ячейках (0 - авто) |
|
title | string | заголовок чарта |
Field | Type | Label | Description |
phone | string | номеру телефона |
|
uid | string | firebase uid |
|
optional_info | ClientOptionalInfo | опциональные данные чтобы при необходимости обновить профиль на стороне приложения |
Field | Type | Label | Description |
name | string |
|
|
nickname | string |
|
|
phone | string |
|
Field | Type | Label | Description |
prefix | string |
|
|
long_url | string |
|
|
short_url | string |
|
Field | Type | Label | Description |
current | IamOk |
|
|
last | IamOk |
|
Field | Type | Label | Description |
steps | int32 | Сколько шагов за этот интервал |
|
start_millis | int64 | начало интервала |
|
duration | int64 | продолжительность интервала в милисекундах на котором есть шаги |
|
day_steps | int32 | Сколько шагов за этот день |
|
step_source | string | repeated | список устройств с которых получены шаги |
Объект запроса тренировки
Field | Type | Label | Description |
id | ClientId | Вариант идентификации клиента |
|
start_millis | int64 | начало запрашиваемого интервала |
|
stop_millis | int64 | окончание запрашиваемого интервала |
|
max_millis | int64 | максимальное время тренировочного окна |
|
step_day | int32 | запрос шагов за день |
Field | Type | Label | Description |
skllzz | double | Сколько заработано SKLLZZ |
|
start_millis | int64 | начало найденой тренировки |
|
stop_millis | int64 | окончание найденой тренировки |
доступ к данным о результатах тренировок
Method Name | Request Type | Response Type | Description |
GetMinedSkllzz | TrainingRequest | TrainingResult | Запрашивает обобщенные данные о тренировке в интервале времени по пользователю |
GetImOkStatus | ClientId | ImOkResult | Запрашивает данные о текущем и предыдущем интервалах imok |
GetStepsTotal | TrainingRequest | StepResult | Запрашивает обобщенные данные о количестве шагов в интервале времени |
GetStepDetail | TrainingRequest | StepResult stream | Запрашивает детализированные данные о количестве шагов в интервале времени |
GetTrainingSessions | TrainingRequest | TrainingSession stream | Запрашивает список тренировок в заданном интервале |
GetProfileData | ClientId | Profile | Запрашивает данные по профилю |
ApplyBonus | BonusRequest | BonusReply | Применяет бонус к игроку |
GetAdoptedBotLinkData | AdoptedBotLink | AdoptedBotLink | Запрашивает данные по адаптивной ссылке перехода в бот |
GetDeepLink | DeepLink | DeepLink | Создает диплинк |
GetChartLayout | ChartLayoutRequest | ChartLayoutData stream | Запрашивает данные раскладки для построения чарта |
GetChartData | ChartView | ChartData stream | Запрашивает данные раскладки для построения чарта |
Field | Type | Label | Description |
url | string | адрес картинки |
Field | Type | Label | Description |
data | bytes | данные картинки (png,jpg) |
Field | Type | Label | Description |
timout_millis | int32 | время ожидания возврата, если 0 то по умолчанию |
|
can_upgrade | bool | возможность обновиться |
Field | Type | Label | Description |
unlink | bool | в случае запроса удаления связи |
|
vendor | GadgetVendor | производитель гаджета |
Field | Type | Label | Description |
url | string | адрес ссылки для перехода |
Field | Type | Label | Description |
url | string | адрес ссылки для перехода |
Field | Type | Label | Description |
unlink | bool | в случае запроса удаления связи |
Field | Type | Label | Description |
token | string | токен связывания номера |
|
code | string | код подтверждения введенный пользователем (требуется в ConfirmRequest) |
Field | Type | Label | Description |
id | string |
|
|
staml_millis | int64 |
|
|
tag | string |
|
|
dump | string |
|
Field | Type | Label | Description |
phone | string | номер телефона |
|
use_tg | bool | использовать телеграм для подтверждения номера |
|
use_callerid | bool | использовать звонок на номер для подтверждения номера |
Field | Type | Label | Description |
url | string | адрес ссылки для перехода |
Field | Type | Label | Description |
unlink | bool | в случае запроса удаления связи |
Field | Type | Label | Description |
token | string |
|
Field | Type | Label | Description |
value | string |
|
Name | Number | Description |
unknown | 0 | |
garmin | 1 | |
polar | 2 | |
suunto | 3 | |
fitbit | 4 | |
elari | 5 |
Method Name | Request Type | Response Type | Description |
MapAccount | Token | Token | Возвращает фактический токен для входа на основании текущей авторизации |
VkAccount | Token | Token |
Method Name | Request Type | Response Type | Description |
Update | Profile | Profile | Обновляет данные профиля (принимаются поля name,nick_name,email,birth_date) |
MonitorProfile | Profile | Profile stream | Возвращает данные профиля и продолжает отдавать их в случае изменения (на входе можно передать пустую структуру) |
LinkNumber | Number | LinkRequest | Создание запроса на связь с номером |
UnlinkNumber | Number | Number | Удаление номера из профиля |
ConfirmRequest | LinkRequest | LinkRequest | Подтверждение номера поле LinkRequest.code обязательно. В случае успеха из любых других профилей этот номер удаляется. |
LinkPushId | PushId | PushId | Связка с PushId |
UploadAvatar | AvatarImage | AvatarId | Загрузка аватарки |
AddPurchase | Purchase | Purchase | Добавление покупки в профиль |
DeleteProfile | Profile | Profile | Удаление профиля |
Method Name | Request Type | Response Type | Description |
LinkGarmin | GarminLinkRequest | GarminAuthResponse | Запрос на создание (удаления) связки с garmin !!! DEPRECATED use LinkGadget |
LinkPolar | PolarLinkRequest | PolarAuthResponse | Запрос на создание (удаления) связки с polar !!! DEPRECATED use LinkGadget |
LinkGadget | GadgetLinkRequest | GadgetLinkResponse | Запрос на создание (удаления) связки с API гаджетов (garmin,polar и т.д) |
Method Name | Request Type | Response Type | Description |
UpdateSession | TrainingSession | TrainingSession | Обновляет данные о тренировочной сессии и возвращает в ответе только TrainingSession.sync_millis как время синхронизации этой сессии |
UpdateSessionDesign | TrainingDesign | TrainingDesign | Обновляет не тренировочные данные |
UpdateSessionWithDetails | TrainingSession | TrainingSession | Обновляет данные о тренировочной сессии (включая детализацию hr) и возвращает в ответе только TrainingSession.sync_millis как время синхронизации этой сессии |
UpdateSteps | StepsData stream | StepsData | Отправляет данные о шагах и возвращает в ответе только StepsData.sync_millis как время синхронизации этих точек |
MonitorSession | TrainingSession | TrainingSession stream | Возвращает сессии с отметкой синхронизации позже чем TrainingSession.sync_millis, и ждет их появления новых если в заголовке отсутствует NOWAIT |
MonitorSessionWithDetails | TrainingSession | TrainingSession stream | Возвращает сессии с деталями по шагам или hr с отметкой синхронизации позже чем TrainingSession.sync_millis, и ждет их появления новых если в заголовке отсутствует NOWAIT |
FetchData | TrainingData | TrainingData stream | Получает поток данными в сессии TrainingData.session_id и отметкой синхронизации позже чем TrainingData.sync_millis |
MonitorSteps | StepsData | StepsData stream | Получает поток данными c шагами чья отметка синхронизации позже чем StepsData.sync_millis |
Online | Connection | Connection | Метод используется для активного мониторинга подключения |
OnlineStream | Connection | Connection stream | Метод используется для активного мониторинга подключения к API и по сути возвращает одно значение в потоке и впадает в бесконечное ожидание |
SendLog | LogEntry | Empty | Метод для отправки логов |
Field | Type | Label | Description |
type | string | тип изменяемых данных |
|
seq_no | int64 | порядковый номер изменения |
|
stamp_millis | int64 | epoch millis с отметкой о моменте этих изменений |
|
id | string | уникальный идентификатор элемента |
|
data | bytes | сериализованные данные изменения с типом type, nil если запись сообщает об удалении объекта |
|
ttl_seconds | int64 | время жизни объекта в секундах, 0 если время жизни не ограничено |
группа предложений для вступления в лигу
Field | Type | Label | Description |
id | string | уникальный идентификатор группы |
|
parent_id | string | идентификатор родительской группы |
|
name | LeagueGroup.NameEntry | repeated | название группы с учетом локализации |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
предложение для вступления в лигу
Field | Type | Label | Description |
id | string | идентификатор предложения |
|
group_id | string | группа предложений |
|
locale | string | ограничение по локали (если пусто то для всех) |
|
name | string | название лиги с учетом локализации |
|
url | string | диплинк для вступления тоже с учетом локализации |
|
description | string | описание лиги с учетом локализации |
|
private | bool | вступить в лигу можно только по пригласительной ссылке, не по кнопке |
|
image_url | string | картинка для лиги |
Field | Type | Label | Description |
groups | LeagueGroup | repeated |
|
leagues | LeagueOffer | repeated |
|
version | int64 |
|
Сервис получения данных о доступных соревнованиях и лигах
Method Name | Request Type | Response Type | Description |
MonitorOffer | LeaguesOffer | LeaguesOffer stream | Получает поток данными c блоком всех соревнований с версией старше LeaguesOffer.version и ждет изменений если в заголовке отсутствует NOWAIT |
Сервис управления личными артефактами
Method Name | Request Type | Response Type | Description |
MonitorShelf | Shelf | Shelf stream | Получает поток данными c доступными артефактами с моментом синхронизации позже чем Shelf.sync_millis и ждет изменений если в заголовке отсутствует NOWAIT |
AddToShelf | Application | Application | Добавляем на полку артефакт (проводим транзакцию покупки) |
UseFromShelf | Application | Application | Используем артефакта |
Блок метаинформации по конкретному состоянию игры
Field | Type | Label | Description |
id | string | уникальный идентификатор конкретной игры |
|
game_id | string | идентификатор исходной игры (код скрипта) |
|
client_id | string | идентификатор клиента с которым связана игра |
|
created | int64 | UTC в секундах момента создания игры |
|
active | bool | признак активной игры |
|
runner_id | string | идентификатор инстанса выполняющего игру |
Информация инстансу выполняющему игру
Field | Type | Label | Description |
id | string | уникальный идентификатор инстанса |
|
heartbeat | int64 | UTC в секундах последнего времени жизни инстанса |
Field | Type | Label | Description |
id | string | идентификатор задачи |
|
schedule | int64 | UTC в секундах на начало запланированого выполнения |
|
duration | int64 | длительность в секундах времени на выполнение (0 если без ограниччения) |
Field | Type | Label | Description |
t | Task | идентификатор задания |
Field | Type | Label | Description |
profile_id | string | идентификатор клиента |
|
transaction | TransactionDetails | данные по транзакции |
Field | Type | Label | Description |
profile_id | string | идентификатор клиента |
|
test_mode | bool | значение признака тестировщика |
Field | Type | Label | Description |
id | string | Вариант идентификации клиента |
|
from_stamp | int64 | время крайней первой тренировки (двигаемся от новых к старым) |
|
to_stamp | int64 | время крайней последней тренировки (двигаемся от новых к старым) |
|
count | int32 | число запрашиваемых операций для отображения |
Запрос информации по операциям пополнения/списания skllzz
Field | Type | Label | Description |
profile_id | string | идентификатор клиента |
|
from_stamp | int64 | время крайней транзакции (двигаемся от новых к старым) |
|
count | int32 | число запрашиваемых операций для отображения |
Сервис управления пространством. Вызовы в методы данного сервиса должны авторизоваться токеном полученым из SpaceAccess.Auth
Method Name | Request Type | Response Type | Description |
Monitor | Profile | Profile stream | запрос данных по клиенту в режиме стриминга (только для роли CLIENT_VIEW) |
List | QueryFilter | Profile stream | запрос списка клиентов по фильтру (только для роли CLIENT_VIEW) |
Transactions | TransactionHistoryRequest | TransactionDetails stream | запрос истории транзакйи по клиенту |
ApplyTransaction | ClientTransaction | TransactionDetails | применить транзакцию к клиенту |
TrainingList | TrainingHistoryRequest | TrainingSession stream | запрос тренировок по фильтрам |
MonitorSession | TrainingSession | TrainingSession stream | Отслеживание отдельно взятой сессии активности (на входе важно только id и profile_id) |
Training | TrainingSession | TrainingData stream | данные конкретной тренировки |
ReevaluateTraining | TrainingSession | TrainingSession | запрос на пересчет конкретной тренировки |
Steps | TrainingSession | StepsData stream | данные о шагах внутри сессии (по сути выгрузка шагов в нитервал начала и конца сессии) |
SetProfileTestMode | ProfileTestMode | Profile | управление флагом тестового аккаунта у профиля |
Field | Type | Label | Description |
data | bytes | данные скрипта |
Field | Type | Label | Description |
name | string | идентификатор (имя) скрипта |
|
description | string | Описание скрипта |
|
created_millis | int64 | время создания скрипта в милисекундах |
|
modified_millis | int64 | время последней модификации скрипта в милисекундах |
|
deleted | bool | признак удаления |
Сервис управления skllzz скриптами. Вызовы в методы данного сервиса должны авторизоваться токеном полученым из SpaceAccess.Auth
Method Name | Request Type | Response Type | Description |
MonitorScripts | QueryFilter | Script stream | получает список скриптов из библиотеки и мониторит их |
DeleteScript | Script | Script | Удаляет скрипт из библиотеки скриптов |
UpdateScript | Script | Script | Создает или обновляет данные по скрипту |
WriteScript | DataBlock stream | Script | name передается в соответсвующем поле metadata через metadata.AppendToOutgoingContext(context.Background(), "script-name", script.Name) |
ReadScript | Script | DataBlock stream | читает содержимое скрипта |
Field | Type | Label | Description |
id | string | идентификатор тикета |
|
space_id | string | идентификатор пространства |
|
template | Manager | Шаблон прав пользователя (используется только role и name) |
Менеджер/Сотрудника который работает с админкой
Field | Type | Label | Description |
id | string | Идентификатор сотрудника (или билета) |
|
name | string | Имя сотрудника |
|
role | SpaceRole | repeated | Роли сотрудника |
template | bool | Шаблон сотрудника (фактически билет) |
|
deleted | bool | признак удаления |
Идентификатор и свойства пространства к которому могут быть приписаны клиенты, скрипты и т.д. (например клуб)
Field | Type | Label | Description |
id | string | идентификатор пространства |
|
name | string | название пространства |
|
deleted | bool | признак удаления |
Токен авторизации для текущего клиента с набором всех прав которые у него есть в запрашиваемом спейсе
Field | Type | Label | Description |
token | string | JWT custom auth |
|
relogin | bool | Признак того что нужно полностью перелогинить юзера так как у него поменялсись права |
|
roles | SpaceRole | repeated | список доступных ролей для пространства |
space_id | string |
|
Name | Number | Description |
ACCESS | 0 | доступ к пространству как таковому |
CLIENT_VIEW | 1 | Возможность просматривать общие данные клиентов в спейсе |
CLIENT_EDIT | 2 | Возможность редактировать общие данные клиентов в спейсе |
MANAGER_VIEW | 3 | Просмотр сотрудников в пространстве |
MANAGER_ROLES | 4 | Управление ролями сотрудников в пространстве, возможность пригласить новых участников |
SPACE_MANAGE | 5 | Управление пространствами (просмотр, создание, удаление редактирование) |
SPACE_INVITE | 6 | Возможность пригласить в пространство (создать билет) |
POS_VIEW | 7 | Возможность смотреть POS ID в пространстве |
POS_MANAGE | 8 | Возможность управлять POS ID в пространстве |
TRANSACTIONS_VIEW | 9 | Возможность смотреть операции клиентов в пространстве |
TRANSACTIONS_APPLY | 10 | Возможность создавать и изменять транзакции клиентов в пространстве |
SCRIPT_VIEW | 11 | Возможность получить список скриптов |
SCRIPT_READ | 12 | Возможность получить содержимое скрипта |
SCRIPT_EDIT | 13 | Возможность править существующие и создавать новые скрипты |
CLIENT_IMPERSONATE | 14 | Возможность получать токены авторизации от имени клиента |
Сервис доступа к пространствами
Method Name | Request Type | Response Type | Description |
Auth | Space | SpaceAuthorization stream | запрос токена авторизации в указанном пространстве и правами в нем (изменится в потоке если текущие права поменяются) данный токен требуется для доступа к Management server |
Enumerate | QueryFilter | Space stream | Возвращает список сайтов доступных пользователю |
Monitor | QueryFilter | Space stream | Мониторит список сайтов доступных пользователю и присылает обновления в режиме подписки |
Join | InviteTicket | InviteTicket | Присоединяется к пространству на основании предоставленого билета. На входе важно только InviteTicket.id. Возвращает тикет с данными по менеджеру. После чего тикет становится более не действиетельным |
Сервис управления пространством. Вызовы в методы данного сервиса должны авторизоваться токеном полученым из SpaceAccess.Auth
Method Name | Request Type | Response Type | Description |
ListSpace | QueryFilter | Space stream | запрос списка пространств в режиме подписки (только для роли SPACE_MANAGE) |
UpdateSpace | Space | Space | обновление данных о пространстве (только для роли SPACE_MANAGE) |
ListManager | QueryFilter | Manager stream | запрос списка сотрудников и билетов в пространстве (только для роли SPACE_MANAGE) |
UpdateManager | Manager | Manager | изменение данных по сотруднику, включая список ролей в пространстве |
DeleteManager | Manager | Manager | удаляет данных о сотруднике или билете |
Invite | Manager | InviteTicket | Создает билет для приглашания в пространство нового сотрудника с заданными в Manager.role правами |
Пустой объект показывающий что запрос идет без фильрации
Запрос на поиск
Field | Type | Label | Description |
search | string | строка поиска |
|
limit | int32 | максимально число результатов в ответе, если 0 то по умолчанию |
Идентификатор и свойства телеграм бота
Field | Type | Label | Description |
id | string | идентификатор бота |
|
name | string | название бота |
|
description | string | Описание бота |
|
key | string | ключ бота |
|
space_id | string | идентификатор простаранства для работы скриптов |
|
script_name | string | имя скрипта в пространстве для запуска для каждого нового клиента |
|
last_modified | int64 | время последней можификации |
|
deleted | bool | признак удаления |
Зона покрытия
Field | Type | Label | Description |
id | string | идентификатор зоны покрытия |
|
name | string | название зоны |
|
notes | string | заметки по зоне |
|
last_modified | int64 | время последнего изменения (для синхронизации) |
|
club_id | string | принадлежность к клубу |
|
deleted | bool | признак удаления |
Field | Type | Label | Description |
id | string | идентификатор геометрии покрытия |
|
data | bytes | содержимое GeoJSON в кординатах EPSG:4326 - WGS 84 |
|
club_id | string | принадлежность к клубу |
Данные об операции в маркете на уровне клуба
Field | Type | Label | Description |
id | string | уникальный идентификатор транзакции |
|
stamp | google.protobuf.Timestamp | Дата и время операции |
|
profile | Profile | полные данные данные о профиле покупателя |
|
pos | Pos | полные данные данные о точки продаж |
|
promo_code | string | промокод |
|
description | string | описание операции |
|
skllzz_charge | float | списано скилз |
Идентификатор и свойства точки продаж
Field | Type | Label | Description |
id | string | идентификатор точки продаж |
|
name | string | название точки (Будет видна в выписке приложения) |
|
notes | string | заметки для администратора |
|
valid_from | int64 | epoch seconds с которого разрешены операции по точке (0 если без ограничений) |
|
valid_until | int64 | epoch seconds до которого разрешены операции по точке (0 если без ограничений) |
|
last_access | int64 | время последней операции с точкой продаж (0 если операций пока небыло) |
|
last_modified | int64 | время последнего изменения (для синхронизации) |
|
location | LatLng | Deprecated. положение на карте |
|
address | string | Deprecated. фактический адрес точки продаж |
|
show_map | bool | Deprecated. показывать ли на карте |
|
show | bool | показывать ли на карте или в списке online предложений |
|
created | int64 | время создания epoch millis |
|
site | string | адрес сайта компании для допинформации |
|
max_limit | float | максимальная сумма операции в skllzz за раз |
|
active | bool | разрешен к использованию |
|
pro_only | bool | доступен только для pro |
|
category | PosCategory | категория точки |
|
online | OnlineDetails |
|
|
offline | OfflineDetails |
|
|
absolute_offer | AbsoluteOffer | абсолютная (в рублях) |
|
relative_offer | RelativeOffer | относительная (в процентах) |
|
logo | string | url для jpg/png картинки с логотипом |
|
branding | Branding | настройки брендинга точки |
|
is_group | bool | признак что это группа объектов |
|
parent_pos_id | string | принадлежность к группе (ссылка на родительский pos) |
|
priority | int32 | приоритет на витрине |
|
club_id | string | принадлежность к клубу |
|
visibility_restriction | VisibilityRestriction | ограничения видимости объекта |
|
is_empty | bool | признак что товар на точке временно закончился |
|
in_cities_id | string | id списка городов присутствия (если пусто то без ограничений) |
|
deleted | bool | признак удаления |
Name | Option |
location | true |
address | true |
show_map | true |
Запрос информации по операциям пополнения/списания skllzz
Field | Type | Label | Description |
id | string | идентификатор точки (не путать с токеном posid) |
|
from_stamp | int64 | время крайней операции (двигаемся от новых к старым) |
|
count | int32 | число запрашиваемых операций для отображения |
Сервис управления точками продаж. Вызовы в методы данного сервиса должны авторизоваться токеном полученым из SpaceAccess.Auth
Method Name | Request Type | Response Type | Description |
List | QueryFilter | Pos stream | получает список точек продаж |
MonitorSingle | Pos | Pos stream | Мониторит конкретную точку по ее Pos.id |
Delete | Pos | Pos | Удаляет точку продаж |
Update | Pos | Pos | Создает или обновляет данные по точке продаж |
ResetLicense | Pos | Pos | Сброс привязки лицензии на клиентской стороне |
Transactions | PosHistoryRequest | ClientTransaction stream | запрос истории операций по точке продаж |
UploadPromoCodes | PromoCodes | UploadResult | Загрузка промокодов |
Сервис управления ROI (region of interest)
Method Name | Request Type | Response Type | Description |
Upload | GeoJson | GeoJson | Загружает GeoJson как ROI для покрытия |
Update | Coverage | Coverage | Создает или обновляет данные по покрытию |
Monitor | AllItems | Coverage stream | мониторит список покрытия |
List | QueryFilter | Coverage stream | получает список покрытия |
MonitorCoverage | Coverage | RoiDetails stream | Мониторит области инетеса в заданно м покрытии |
Field | Type | Label | Description |
state | AuthState.State | Состояние авторизации телеграм аккаунта |
Field | Type | Label | Description |
title | string | заголовок чата |
|
description | string | описание чата |
|
members | string | repeated | @id участников которрых пригласить в чат (пока не реализовано) |
Field | Type | Label | Description |
data | string | данные jpg/png |
Состояние авторизации телеграм аккаунта
Name | Number | Description |
unknown | 0 | состояние не определено |
wait_phone | 1 | ожидание номера телефона |
wait_password | 2 | ожидание пароля |
wait_code | 3 | ожидание кода подтверждения |
ready | 4 |
Сервис для работы с чатами
Method Name | Request Type | Response Type | Description |
Create | ChatConfig | CredentialData |
Сервис для авторизации телеграм аккаунта
Method Name | Request Type | Response Type | Description |
SetPhone | CredentialData | None | передать номер телефона для авторизации |
SetPassword | CredentialData | None | передать пароль для авторизации |
SetCode | CredentialData | None | передать код подтверждения для авторизации |
GetState | None | AuthState stream | получить состояние авторизации |
Field | Type | Label | Description |
purchase_id | string |
|
|
product_id | string |
|
|
source | string |
|
|
app_id | string |
|
|
data | string |
|
Field | Type | Label | Description |
id | string | идентификатор фонда |
|
club_id | string | идентификатор клуба владельца |
|
rules | Fund.Rules | правила и метаданные фонда |
|
media | Fund.Media | элементы оформления |
|
public | bool | показывать на витрине клуба |
|
priority | int32 | приоритет при отображении в списке (чем выше число тем ближе к началу списка) |
|
sub_fund_id | string | repeated | связанные фонды |
parent_fund_id | string | родительский фонд |
|
show_child_if_has_parent | bool | в мобильном приложении показывать дочерний фонд, если есть подписка на родительский (по умолчанию скрывается) |
|
in_cities_id | string | опциональный идентификатор списка городов |
|
share_link_url | string | ссылка чтобы поделиться фондом |
|
timezone | string | временная зона по которой считать полные дни (требуется в ряде рейтингов) |
|
project | AgreementProject | проект согласий |
|
deleted | bool | признак удаления |
Field | Type | Label | Description |
value | double | значение цели |
|
description | string |
|
Field | Type | Label | Description |
photo_url | string | картинка к элементу |
|
logo_url | string | логотип к элементу |
|
chat_url | string | связанный чат |
|
promo_url | string | внешний ресурс посвященный фонду |
|
photo_align | ImageAlign | выравнивание картинки к элементу |
Field | Type | Label | Description |
name | string | название фонда название фонда |
|
description | string | детальное описание цели сбора средств, поддержка markdown |
|
start_seconds | int64 | точное время начала сбора средств в epoch seconds |
|
stop_seconds | int64 | точное время окончания сбора средств в epoch seconds (исключительно) |
|
pay_range | IntRange | допустимый диапазон взносов (включительно). (0 - означает отсутствие огранияения) |
|
predefined_pay_amount | float | repeated | опционально предопределенный перечень размера взносов |
max_pay_per_person | float | максимальная сумма взноса от одного человека (0 - нет ограничения) |
|
goal | Fund.Goal | repeated | цели (если есть) |
promo_only | bool | признак что является только промо блоком (рекламой) и не принимает взносы |
|
mode | Fund.Mode | режим пополнения |
|
rate | double | множитель результата пересчета взносов для турнирных таблиц (0 - по умолчанию без пересчета) |
данные о текущих финансовых показателях фонда
Field | Type | Label | Description |
id | string | идентификатор фонда |
|
raised_total | double | общая сумма собранных средств |
|
ops_count | int64 | общее количество операций |
|
participant_count | int64 | общее количество участников |
|
rated_total | double | общая сумма вносов с учетом коэффициента результата |
|
stamp_seconds | int64 | отметка времени в unix epoch seconds |
|
history | FundBank | repeated | исторические данные |
deleted | bool | признак удаления |
история озменения в фонде с точки зрения профиля
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
|
fund_id | string | идентификатор сбора средств |
данные о позиции фонда в турнирной таблице
Field | Type | Label | Description |
id | string | идентификатор фонда |
|
rank | int32 | позиция в рейтинге |
|
raised_total | double | общая сумма собранных средств |
|
rated_total | double | общая сумма вносов с учетолм коэффициента результата |
|
ops_count | int64 | общее количество операций |
|
participant_count | int64 | общее количество участников |
|
name | string | название фонда (для быстрого доступа) |
|
description | string | описание фонда (для быстрого доступа) |
|
media | Fund.Media | элементы оформления (для быстрого доступа) |
Field | Type | Label | Description |
club_id | string | код клуба |
|
fund_id | string | идентификатор фонда |
Field | Type | Label | Description |
fund_id | string | идентификатор фонда |
|
stamp_millis | int64 | out: время с которого оформлена подписка |
|
mode | FundSubscription.Mode | режим участияд в фонде |
|
use_millis | int64 | out: время последнего использования фонда (пополнения) |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
|
fund_id | string | идентификатор сбора средств |
запись об операция пополнения фонда
Field | Type | Label | Description |
id | string | идентификатор операции (назначается автоматичекси) |
|
fund_id | string | идентификатор фонда |
|
profile_id | string | идентификатор пользователя (выставляется из авторизации) |
|
amount | float | сумма взноса |
|
comments | string | произвольный комментарий/пожелание |
|
stamp_seconds | int64 | отметка времени операции epoch seconds |
|
mode | Fund.Mode | режим пополнения |
|
rated_amount | double | сумма пополнения с учетом взвешивающего коэффициента в фонде |
|
group_id | string | out: идентификатор группы транзакций |
|
is_primary | bool | out: признак первичной транзакции |
Field | Type | Label | Description |
fund_id | string | код фонда |
|
epoch_second_from | int64 | начало диапазона (включительно, если 0 то с самого начала) |
|
epoch_second_until | int64 | конец диапазона (исключительно, если 0 то без ограничений ) |
данные о текущих ретинге дочерних фондов
Field | Type | Label | Description |
id | string | идентификатор родительского фонда |
|
subfunds | FundRank | repeated | данные по дочерним фондам |
raised_total | double | общая сумма собранных средств на этом уровне |
|
rated_total | double | общая сумма вносов с учетом коэффициента результата |
|
ops_count | int64 | общее количество операций |
|
participant_count | int64 | общее количество участников |
|
state_id | string | уникальный ключ состояния |
|
stamp_millis | int64 | время обновления |
|
fund | Fund | данные по самому фонду |
|
deleted | bool | признак удаления |
Name | Number | Description |
manual | 0 | ручное пополнение |
auto | 1 | автоматическое пополнене |
Name | Number | Description |
unknown | 0 | |
replenish_info | 1 | информация о пополнении фонда ReplenishFundRecord |
Name | Number | Description |
contributor | 0 | участник фонда |
viewer | 1 | наблюдатель за фондом |
nonparticipant | 2 | не участник фонда (отключение любой другой роли, отписка от фонда) |
Name | Number | Description |
unknown | 0 | |
fund_info | 1 | информация о сборе средств Fund |
bank_info | 2 | информация о результатах сбора FundBank |
rank_info | 3 | информация о рейтинге дочерних фондов SubFundsRank |
Name | Number | Description |
unspecified | 0 | |
lk_view | 1 | разрешение на доступ к данным в лк |
lk_edit | 2 | разрешение на изменение данных в лк |
activity_view | 3 | разрешение на доступ к данным личной активности |
activity_edit | 4 | разрешение на изменение данных личной активности |
access_grant_apps | 5 | разрешение на предоставление доступа сторонним приложениям |
payment_aprove | 6 | разрешение на подтверждение платежей от имени пользователя |
Extension | Type | Base | Number | Description |
scope_name | string | .google.protobuf.EnumValueOptions | 51000 | связанное имя скопа |
searchable | bool | .google.protobuf.FieldOptions | 50001 | признак индексируемого поля в algolia |
transient | bool | .google.protobuf.FieldOptions | 50002 | игнорировать поле при сохранении в слое бд |
method_no_auth_required | bool | .google.protobuf.MethodOptions | 50105 | |
method_permissions | TokenPermission | .google.protobuf.MethodOptions | 50106 | требуемые права на уровне сервиса |
service_no_auth_required | bool | .google.protobuf.ServiceOptions | 50005 | отключает проверку прав доступа на уровне всего сервиса |
service_permissions | TokenPermission | .google.protobuf.ServiceOptions | 50006 | требуемые права на уровне сервиса |
структура запроса внешней авторизации
Field | Type | Label | Description |
id | string | uid запроса (его можно передавать в state) |
|
vendor | RequireExtAuth.Type | тип вендора |
|
name | string | Название вендора |
|
logo_url | string | Лого вендора |
|
auth_url | string | ссылка для перехода на авторизацию |
|
profile_id | string | идентификатор связываемого профиля |
Field | Type | Label | Description |
id | string | id аккаунта |
|
name | string | Имя |
|
nick_name | string | Никнейм |
|
string | |||
phone | string | телефон |
|
confirmed_emails | string | repeated | подтвержденные email |
Данные о связи профиля с внешними учетными данными
Field | Type | Label | Description |
id | string | id связи |
|
vendor | RequireExtAuth.Type | тип вендора |
|
profile_id | string | id профиля |
|
stamp | int64 | время создания связи в epoch seconds |
|
external_account | ExternalAccountAttrs | данные во внешнем аккаунте |
Field | Type | Label | Description |
vendor | RequireExtAuth.Type | repeated |
|
max_age_seconds | RequireExtAuth.MaxAgeSecondsEntry | repeated | время устаревания связи в секундах по типу (0 - не устаревает) |
Field | Type | Label | Description |
key | string |
|
|
value | int64 |
|
Name | Number | Description |
Unknown | 0 | не известный тип (не давать к выбору в UI) |
Gosuslugi | 1 | Госуслуги |
Yandex | 2 | Яндекс |
VK | 3 | ВК |
OK | 4 | Одноклассники |
Tinkoff | 5 | Тинькофф |
Sber | 6 | Сбербанк |
Mts | 7 | МТС |
Beeline | 8 | Билайн |
Megafon | 9 | Мегафон |
Telegram | 10 | Телеграм |
RSV | 11 | Россия Страна Возможностей https://s3-cms.rsv.ru/logo/rsv_app.svg |
GPID | 12 | Газпром ID https://docs.auth.gid.ru/docs/gid/registration/ |
Field | Type | Label | Description |
min | float | минимальная сумма скидки |
|
max | float | максимальная сумма скидки |
|
currency | string | валюта, если пусто то по умолчанию |
|
min_order_amount | float | минимальная сумма заказа для скидки |
Field | Type | Label | Description |
total_skllzz | int32 | доступно скилз |
|
game_age_days | int32 | Игровой возраст |
|
iamok_skllzz_earned | int32 | Набрано скилз в отчетном периоде i am ok |
|
iamok_skllzz_required | int32 | Требуемый уровень skllzz для нормы i am ok |
|
iamok_start | int64 | время начала периода i am ok UTC seconds |
|
iamok_duration | int64 | продолжительность периода i am ok seconds |
|
skllzz_day_limit | double | дневной лимит skllzz |
|
iamok_uuid | string | идентификатор текущего цикла i am ok (используется в транзакциях) |
|
total_skllzz_earned | int32 | всего заработано sz на счет за все време |
|
level | Level | статусный уровень |
|
artifacts | Achievements.ArtifactsEntry | repeated | примененные артефакты |
Field | Type | Label | Description |
key | string |
|
|
value | ActiveArtifact |
|
Field | Type | Label | Description |
background_color | string |
|
|
primary_color | string |
|
|
secondary_color | string |
|
|
text_color | string |
|
значение поля из справочника
Field | Type | Label | Description |
id | string | идентификатор объекта в справочнике (пусто если значение введено не из справочника) |
|
value | string | содержимое объекта |
Произвольные словари
Field | Type | Label | Description |
id | string | Идентификатор словаря |
|
name | string | Название словаря |
|
item | DictionaryItem | repeated | Значения словаря |
deleted | bool | признак удаленного справочника |
Field | Type | Label | Description |
min_hr | sint32 | минимальный пульс |
|
avg_hr | sint32 | средний пульс |
|
max_hr | sint32 | максимальный пульс |
|
min_hardness | double | минимальная нагрузка |
|
avg_hardness | double | средняя нагрузка |
|
max_hardness | double | максимальная нагрузка |
|
profile | Profile | данные профиля на момент тренировки |
|
device | string | repeated | список устройств с которых была получена тренировка |
samples | TrainingData | repeated | детализация пульса (опционально) |
Интервал i am ok
Field | Type | Label | Description |
id | string | идентификатор интервала |
|
total_skllzz | double | доступно скилз на счету на момент закрытия интервала |
|
game_age_days | int32 | Игровой возраст на момент закрытия интервала |
|
skllzz_earned | double | Набрано скилз в отчетном периоде i am ok |
|
skllzz_required | double | Требуемый уровень skllzz для нормы i am ok |
|
start_seconds | int64 | время начала периода i am ok UTC seconds |
|
stop_seconds | int64 | время завершения периода i am ok UTC seconds |
Field | Type | Label | Description |
vertical | float | вертикальное выравнивание (-1 ... +1) |
|
horizontal | float | горизонтальное выравнивание (-1 ... +1) |
Field | Type | Label | Description |
profile | Profile | профиль пользователя |
|
sessions | TrainingSession | repeated | последовательность активностей в произвольном количестве от 1 до 14 включительно |
Интервал 64 битного целого числа
Field | Type | Label | Description |
min | int64 | минимальное значение |
|
max | int64 | максимальное значение |
Интервал целого числа
Field | Type | Label | Description |
min | int32 | минимальное значение |
|
max | int32 | максимальное значение |
Field | Type | Label | Description |
stage | int32 | этап |
|
experience | int32 | опыт на этапе |
Field | Type | Label | Description |
url | string | ссылка |
Field | Type | Label | Description |
address | string | фактический адрес точки продаж |
|
location | LatLng | координаты на карте |
|
qr_link | string | адрес ссылки для qr кода на точке |
|
pos_id | string | posid для модуля интеграции |
|
license_id | string | привязка к клиентской лицензии (id 1C и т.д) |
|
offer | string | описание предложения (% скидки и тд) |
|
without_integration | bool | не используется интеграция (не выводить текст про сканирование QR и в лк не показывать ничего про qr, table stand и pos id) |
Field | Type | Label | Description |
price | double | стоимость предложения в sz |
|
offer | string | описание предложения (% скидки и тд) |
|
coverage_id | string | идентификатор зоны покрытия |
|
coverage_name | string | закешированое название зоны покрытия |
|
redirect_uri | string | опциональный адрес для перехода с заданным промо кодом (в адресе можно использовать подстановку {{.Code}} ) |
|
reusable | bool | возможность тратить промокод более одного раза |
|
hidden_code | bool | скрывать от клиента сам промокод (не показывать и не копировать в буффер) |
Field | Type | Label | Description |
timestamp_millis | int64 | отметка времени epoch millis |
|
latitude | double | широта в градусах |
|
longitude | double | долгота в градусах |
|
altitude | double | высота над уровнем моря в метрах |
|
speed | double | скорость м/с |
|
distance | double | пройденное расстояние в метрах |
Field | Type | Label | Description |
hide_step_time | bool | сокрытие времени о шагах |
|
hide_workout_time | bool | сокрытие времени о тренировках |
|
hide_fittage | bool | не публиковать фитвозраст |
|
training_element | TrainingSession.Element | что выводить в графике тренировки по умолчанию |
|
training_track_privacy | TrainingTrackPrivacy | кому показывать треки в тренировке |
Field | Type | Label | Description |
id | string | единый идентификатор |
|
name | string | имя |
|
nick_name | string | никнейм (для отображения на различных досках) |
|
string | почта |
||
phone | string | телефон (из авторизации) |
|
birth_date | int32 | epoch day (день с полуночи (00:00:00 UTC) 1 января 1970 года) |
|
hr_rest | int32 | пульс в состоянии покоя |
|
hr_max | int32 | максимальный пульс |
|
avatar_url | string | идентификатор аватарки загруженый в наше хранилище |
|
sex | Sex | пол человека |
|
weight | float | вес в кг |
|
height | float | рост в метрах |
|
join_stamp | int64 | Время создания профиля epoch seconds |
|
tester | bool | Признак аккаунта тестера (расширеные опции) |
|
version | uint32 | версия набора полей данных |
|
achievements | Achievements | Достижения пользователя |
|
timezone | string | часовой пояс пользователя |
|
garmin_access_token | string | пользовательский токен доступа к garmin |
|
polar_access_token | string | пользовательский токен доступа к polar |
|
suunto_access_token | string | пользовательский токен доступа к suunto |
|
fitbit_access_token | string | пользовательский токен доступа к fitbit |
|
invite_link | string | ссылка для прилгаси друга |
|
lang | string | язык в приложении |
|
subscriptions | Profile.SubscriptionsEntry | repeated | активные подписки клиента |
sync_millis | int64 | время последнего изменения в профиле |
|
require_onboarding | bool | новый пользователь, которому можно запустить процесс онбординга в приложении |
|
training_privacy | Privacy | режим приватности по умолчанию для тренировок |
|
push_settings | PushSettings | настройки уведомлений |
|
personal_goals | PersonalGoal | repeated |
|
goals_last_update_seconds | int64 |
|
|
elari_connected | bool | признак подключения источника данных elari |
|
debug_activity | bool | признак для записи всех поступающих данных об активности |
|
city | string | город интереса |
Field | Type | Label | Description |
key | string |
|
|
value | bool |
|
данные профиля в контексте клуба
Field | Type | Label | Description |
department | DictionaryItem | подразделение, отдел и т.д. |
|
address | DictionaryItem | произвольный адрес |
|
team | DictionaryItem | более мелкое подразделение в компании, можно использовать вместе с department |
Field | Type | Label | Description |
field | ProfileExtensionRequirements.Field | ограничиваемое поле |
|
dictionary_id | string | значение используемого словаря если поле не допускает произвольного заполнения |
|
label_override | string | переопределение стандартного описания поля |
|
optional | bool | опциональное поле (не обязательно к заполнению) |
|
order | int32 | изменение порядка следования полей на форме |
|
hint_override | string | подсказка по заполнению поля |
|
field_name | string | название поля для отчетов |
Field | Type | Label | Description |
code | string | промокод |
|
valid_until_epoch | int64 | время в секундах до которого промокод валиден (0 если без огранияений) |
|
valid_from_epoch | int64 | время в секундах с которого промокод валиден (0 если без огранияений) |
Field | Type | Label | Description |
pos_id | string | идентификатор точки продаж |
|
codes | string | промокоды разделенные пробелом табуляцией и прочими разделителями |
|
valid_until_epoch | int64 | время в секундах до которого промокод валиден (0 если без огранияений) |
|
valid_from_epoch | int64 | время в секундах с которого промокод валиден (0 если без огранияений) |
|
club_id | string | идентификатор клуба точки продаж |
Field | Type | Label | Description |
known | Property.Known | общеизвестные свойства |
|
custom | string | произвольные свойства |
|
string | string |
|
|
int | int64 |
|
|
bool | bool |
|
|
float | float |
|
Field | Type | Label | Description |
disable_club_notifications | bool | запрет сообщения от клуба |
|
disable_feed_notifications | bool | запрет уведомлений из ленты |
|
disable_artifacts_notifications | bool | запрет уведомлений об артефактах |
|
disable_praise_me_notifications | bool | запрет уведомлений с похвалой |
|
disable_blame_me_notifications | bool | запрет уведомлений с укором |
|
disable_social_events | bool | запрет уведомлений социального характера (приглашения в друзья, соревнования и т.д) |
Field | Type | Label | Description |
min | float | минимальный процент скидки |
|
max | float | макимальный процент скидки |
|
currency | string | валюта, если пусто то по умолчанию |
|
min_order_amount | float | минимальная сумма заказа для скидки |
Field | Type | Label | Description |
steps | uint32 | суммарное количество шагов в этот день |
|
day | uint32 | эпоходень за который считаются шаги |
|
meters | uint32 | пройденное расстояние в метрах |
|
movement_factor | uint32 | показатель подвижности в процентах |
|
samples | StepsData | repeated | детализация шагов (опционально) |
device | string | repeated | список устройств с которых были получены данные |
Field | Type | Label | Description |
version | uint32 | версия набора полей данных |
|
sync_millis | int64 | время синхронизации |
|
stamp_millis | int64 | время начала замера шагов |
|
duration | int32 | длительность интервала замера в миллисекундах |
|
steps | int32 | Шагов на интервале |
|
source_id | string | идентификатор источника (уникален для мобильного телефона) |
|
step_source | string | repeated | идентификатор источников шагов (названия сенсоров) |
Field | Type | Label | Description |
skllzz | double | размер бонуса за задание |
|
description | string | описание задания |
|
logo_url | string | картинка к заданию |
|
challenge_id | string | идентификатор соревнования (если не указан то во все) |
Field | Type | Label | Description |
session_id | string | уникальный идентификатор сессии |
|
sync_millis | int64 | время синхронизации |
|
stamp_millis | int64 | время отсчета этой порции данных |
|
device_id | string | идентификатор источника данных |
|
device_name | string | название источника данных |
|
hrAvg | double | среднее значение пульса на интервале |
|
duration | int32 | длительность интервала в миллисекундах |
|
skllzz | double | баллов за этот интервал |
|
hardness | double | уровень нагрузки от 0 до 1 внутри пульсовой зоны клиента |
|
version | uint32 | версия набора полей данных |
|
profile_id | string | идентификатор профиля которому принадлежит тренировка |
Field | Type | Label | Description |
id | string | уникальный идентификатор сессии |
|
description | string | Сопроводительный текст (если пусто то не менять) |
|
photo_url | string | Фотка к занятию (если пусто то не менять) |
|
kind | TrainingSession.Kind | Тип активности |
|
training_track_privacy | TrainingTrackPrivacy | тип отображения трека |
Field | Type | Label | Description |
id | string | идентификатор трека |
|
points | PathPoint | repeated |
|
bounding_box | BBox | область включающая трек |
Field | Type | Label | Description |
id | string | уникальный идентификатор сессии |
|
sync_millis | int64 | время синхронизации |
|
start_millis | int64 | начало |
|
stop_millis | int64 | окончание |
|
skllzz | double | начисленно баллов за тренировку |
|
deleted | bool | признак удаленной сессии |
|
source_id | string | идентификатор источника (уникален для мобильного телефона) |
|
version | uint32 | версия набора полей данных |
|
steps | StepDetails | Отчет по шагам |
|
hr | HrDetails | Отчет по пульсу |
|
task | TaskDetails | Отчет по пульсу |
|
timezone | string | часовой пояс сессии |
|
kkal | double | созжено калорий за тренировку |
|
profile_id | string | идентификатор профиля которому принадлежит тренировка |
|
activity_day | int64 | номер дня активности в часовом поясе клиента |
|
skllzz_without_artifacts | double | начислено баллов за тренировку без учета действия артефактов |
|
skllzz_with_artifacts | double | начислено баллов за тренировку с учетом артефактов |
|
active_artifacts | ActiveArtifact | repeated | Действующие артефакты на момент тренировки |
description | string | Сопроводительный текст |
|
photo_url | string | Фотка к занятию |
|
privacy | Privacy | режим приватности для тренировки |
|
seq_no | int64 | порядковый номер синхронизации (для новых методов) |
|
summary | TrainingSummary | обобщенные данные о тренировке по данным источника (garmin,suunto и пр) |
|
paths | TrainingPath | repeated | участки маршрута |
kind | TrainingSession.Kind | вид активности |
|
arbitrary_kind | string | вид активности в форме произвольного названия от источника данных (если поддерживается) |
|
track_hint | TrackHint | подсказка относительно данных о треке |
обобщенные данные о тренировке по данным источника
Field | Type | Label | Description |
distance | double | дистанция в метрах |
|
duration | double | время в секундах |
|
max_speed | double | максимальная скорость (м/с) |
|
min_altitude | double | минимальная высота в метрах |
|
max_altitude | double | максимальная высота в метрах |
|
track_bounding_box | BBox | область включающая все треки |
|
track_preview_url | string | картинка предпросмотра трека без карты |
|
track_map_preview_url | string | картинка предпросмотра трека на карте |
Field | Type | Label | Description |
delete | bool | удалять все данне по трекам (остальные настройки не имеют смысла) |
|
for_me | TrackMode | режим отображения для меня |
|
for_friends | TrackMode | режим отображения для друзей |
|
for_others | TrackMode | режим отображения для всех остальных |
Field | Type | Label | Description |
count | int32 | количество загруженных промокодов |
Field | Type | Label | Description |
id | string | идентификатор устройства |
|
brand_name | string | имя производителя |
|
model_name | string | модель устройства |
|
push_id | string | идентификатор push |
|
app_package_name | string | имя пакета приложения |
|
app_build_no | string | номер сборки |
|
is_physical | bool | признак физического устройства |
|
stamp_unix_seconds | int64 | время последнего использования |
|
fingerprint | string | идентификатор вендора |
|
ip_address | string | ip адрес |
|
deleted | bool | признак удаленных данных |
Field | Type | Label | Description |
hide_for_corp | bool |
|
|
hide_for_fitness | bool |
|
цели клиента
Name | Number | Description |
unknown_goal | 0 | неизвестно |
lose_weight | 1 | похудеть |
childrens_training | 2 | тренировки для детей |
relief | 3 | рельеф |
strength | 4 | сила и выносливость |
antistress | 5 | снять стресс |
learn_swim | 6 | научиться плавать |
flexibility | 7 | гибкость и мобильность |
body_balance | 8 | гармоничное развитие тела |
fun | 9 | весело провести время |
rehabilitation | 10 | реабилитация и восстановление |
Name | Number | Description |
other | 0 | категория не определена |
fitness | 1 | фитнес |
food | 3 | кафе, фастфуд |
beauty | 7 | красота |
clothes | 5 | одежда |
hardware | 10 | техника |
grocery | 4 | продукты |
medicine | 2 | медицина |
entertainment | 6 | развлечения |
travel | 8 | путешествия |
pets | 14 | домашние питомцы |
education | 9 | образование |
furniture | 11 | мебель |
fuel | 12 | топливо |
pharmacy | 13 | аптеки |
Name | Number | Description |
unknown | 0 | |
department | 1 | |
address | 2 | |
team | 3 |
Name | Number | Description |
age | 0 | возраст |
skllzz | 1 | суммарные баллы за все время |
Name | Number | Description |
create | 0 | создавать чек |
skip | 1 | создавать чек |
пол
Name | Number | Description |
undefined | 0 | не определен |
male | 1 | мужской |
female | 2 | женский |
Name | Number | Description |
NO_TRACK | 0 | нет данных о треке (не предлагать менять прайваси) |
NORMAL_TRACK | 1 | есть данные о треке (можно предлагать менять прайваси) |
HIDDEN_TRACK | 2 | есть данные о треке но они скрыты или удалены (можно предлагать включить их и менять прайваси) |
Name | Number | Description |
hidden | 0 | |
line | 1 | только линия маршрута (отсутствуют детали маршрута, провалиться в карту нельзя) |
map | 2 | маршрут и карта (провалиться в карту нельзя) |
route | 3 | маршрут и карта (можно провалиться в детальный маршрут на яндекс карты) |
Name | Number | Description |
undefined | 0 | не выбрано |
chart | 1 | график |
medals | 2 | медали |
все что выше 900 это служебные значения, их не давать выбирать клиенту в UI
Name | Number | Description |
fitness | 0 | общая категория - кардио, силовая тренировка, йога, гребля боевые искусства, растяжка гольф |
walk | 1 | ходьба |
run | 2 | бег |
swim | 3 | плавание |
cycle | 4 | велосипед |
ski | 5 | лыжи, горные лыжи |
rowing | 6 | гребля |
games | 7 | игровые/командные (футбол, волейбол, хоккей, баскетбол и т.п.) |
set_fitness | 900 | дополнительное значение варианта fitness (чтобы избежать игнорирования обновления) |
test | 996 | тест |
visit | 997 | визит |
other | 998 | прочее |
Name | Number | Description |
unknown | 0 | |
step | 1 | шаги |
pulse | 2 | пульсовые тренировки |
Field | Type | Label | Description |
audience | QrBlock.Audience | источник аудитории |
|
key_hash | QrBlock.KeyHash | алгоритм подписи |
|
issued | int64 | epoch seconds когда токен выдан (опционально) |
|
expire | int64 | epoch seconds когда токен уже не действителен |
|
device_id | string | идентификатор устройства (опционально) |
|
issuer | string | идентификатор кода клуба |
|
client_id | string | идентификатор клиента |
|
signature | bytes | подпись (вычисляется как хеш от конкатенации всех полей через "_" в строковом представлении в порядке следования их индексов) |
Name | Number | Description |
myfitt | 0 |
Name | Number | Description |
LOW | 0 | |
MEDIUM | 1 | |
QUARTILE | 2 | |
HIGH | 3 |
Name | Number | Description |
hs1 | 0 | HMAC SHA1 |
Field | Type | Label | Description |
stamp_millis | uint64 | время события в epoch_millis |
|
action | AnalyticsEvent.Action |
|
|
category | AnalyticsEvent.Category |
|
|
club_id | string | если есть принадлежность к клубу |
|
object_id | string | идентификатор объекта из указанной катекории |
|
object_name | string | опциональное название объекта |
|
attributes | AnalyticsEvent.Attributes | опциональные аттрибуты |
|
origin | string | опциональнвй url, диплинк или любой другой идентификатор источника (конкретного места где произошло событие) |
|
properties | AnalyticsEvent.PropertiesEntry | repeated | пользовательские параметры ключ значение |
Field | Type | Label | Description |
payload_type | string | формат аттрибутов (json, protobuf) |
|
payload | bytes | значение аттрибутов |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Name | Number | Description |
undefined | 0 | не определено |
view_start | 1 | начало просмотра объекта из указанной категории |
view_stop | 2 | окончание просмотра |
click | 3 | клик на объект |
Name | Number | Description |
unknown | 0 | |
fitnorm | 1 | |
market | 2 | |
fitness | 3 | |
feed | 4 | |
challenge | 5 | |
fund | 6 | |
artifact | 7 | |
application | 8 |
Field | Type | Label | Description |
type | Artifact.Type | тип артефакта длительного действия |
|
first_activity_day | int64 | первый порядковый день активности с которого начинает действовать артефакт |
|
last_activity_day | int64 | последний порядковый день активности с которого начинает действовать артефакт |
|
applicator_profile_id | string | идентификатор профиля который активировал артефакт |
Применение или покупка артефакта
Field | Type | Label | Description |
type | Artifact.Type | тип покупаемого или применяемого артефакта |
|
target_profile_id | string | идентификатор профиля для кого покупается или применяется артефакт |
|
attrs | bytes | дополнительные атрибуты применения или покупки артифакта (например для телепорта это сериализация TeleportAttrs) |
|
owner_profile_id | string | идентификатор владельца артефакт (актуально в транзакциях) |
|
anonymous | bool | применять анонимно |
Field | Type | Label | Description |
id | Artifact.Type | тип артефакта, он же его id |
|
last_bought | int64 | epoch milllis когда артефакт был куплен последний раз |
|
last_use | int64 | epoch milllis когда артефакт был использован последний раз |
|
produce_duration | int64 | время регенерации артефакта в миллисекундах |
|
pro_produce_duration | int64 | время регенерации артефакта в миллисекундах для PRO аккаунта |
|
use_amount | int32 | доступное для использования количество артефакта данного типа |
|
price | double | стоимость артефакта в sz |
|
available | bool | признак доступности для покупки |
|
apply_duration | int64 | время действия артефакта (0 если применяется мгновенно) |
|
pro_only | bool | только для pro |
|
invisible | bool | не показывать на витрине |
|
present | bool | признак поведения подарка |
состояние полки с артефактами
Field | Type | Label | Description |
sync_millis | int64 | последнее время ее синхронизации |
|
artifacts | Shelf.ArtifactsEntry | repeated | Мап с артефактами (ключ имя артефакта из его типа) |
version | int32 | версия полки |
Field | Type | Label | Description |
key | string |
|
|
value | Artifact |
|
атрибуты телепорта для применения (перемещение вперед или назад)
Field | Type | Label | Description |
days | int32 | количество дней телепорта (положительное вперед, отрицательное назад). Сейчас поддерживается только три дня |
Name | Number | Description |
unknown | 0 | |
booster | 1 | |
chains | 2 | |
energy_drink | 3 | |
i_am_ok_virus | 4 | |
pay_freeze | 5 | |
sneakers | 6 | |
teleport | 7 | |
vaccine | 8 | |
vitamins | 9 | |
aging_virus | 10 | |
christmas_mood | 11 | новогоднее\рождественское настроение |
aeg_virus | 12 | вирус Автономного Генератора Энергии (AEG) уменьшает эффективность результата тренировок на 25% |
anti_gravity_shield | 13 | защита от вреда связанного с утяжелением (тяжелая обувь например) |
pizza_present | 14 | подарочный артефакт пицца/пирог (молодец возьми с полки пирожок) |
yummy_present | 15 | подарочный артефакт вкусняшки (конфетка) |
train_swap | 16 | поменяться тренировками (все тренировки уходят в другой профиль) |
block_train_swap | 18 | блокировка потренируйся за меня |
second_breath | 19 | второе дыхание |
Field | Type | Label | Description |
skllzz | SkllzzValue | заработанные скилз |
|
kkal | double | потраченные килокалорий |
|
steps | int64 | пройдено шагов |
|
meters | int64 | пройдено метров |
|
first_day | int64 | первый номер дня периода статистики |
|
last_day | int64 | последний номер дня периода статистики (включительно) |
|
hr_duration_seconds | int64 | суммарное время пульсовых тренировок |
|
active_meters | double | преодолено метры на тренировках |
|
typed_active_meters | PeriodStat.TypedActiveMetersEntry | repeated | преодоленные метры на конкретных типах тренировок |
typed_active_duration | PeriodStat.TypedActiveDurationEntry | repeated | проведенное время в секундах на конкретных типах тренировок |
Field | Type | Label | Description |
key | int32 |
|
|
value | double |
|
Field | Type | Label | Description |
key | int32 |
|
|
value | double |
|
Field | Type | Label | Description |
id | string | идентификатор профиля |
|
stamp_epoch_seconds | int64 | время формирования статистики в epoch seconds |
|
total | PeriodStat | за все время (не всегда доступно) |
|
today | PeriodStat | статистика за сегодня |
|
yesterday | PeriodStat | статистика за вчера |
|
this_week | PeriodStat | на этой неделе |
|
past_week | PeriodStat | на прошлой неделе |
|
this_month | PeriodStat | в этом месяце |
|
past_month | PeriodStat | в прошлом месяце |
|
this_year | PeriodStat | в этом году |
|
past_year | PeriodStat | в прошлом году |
|
this_fitnorm | PeriodStat | в этой фотнорме |
|
past_fitnorm | PeriodStat | в прошлой фитнорме |
|
daily_progress | ProgressValues | дневной прогресс (today/yesterday) |
|
weekly_progress | ProgressValues | недельный прогресс (this_week/past_week) |
|
monthly_progress | ProgressValues | помесячный прогресс (this_month,past_month) |
|
yearly_progress | ProgressValues | годовой прогресс (this_year,past_year) |
|
fitnorm_progress | ProgressValues | прогресс фотнормы (this_fitnorm,past_fitnorm) |
Прогресс в процентах по соответствующей метрике
Field | Type | Label | Description |
skllzz | float |
|
|
meters | float |
|
|
steps | float |
|
|
kkal | float |
|
|
hr_duration | float |
|
|
active_meters | float |
|
Field | Type | Label | Description |
regular | TypedSkllzz | обычные скилз |
|
gamified | TypedSkllzz | скилз с учетом артефактов |
Field | Type | Label | Description |
steps | double | скилз заработанные на шагах |
|
hr | double | скилз заработанные на тренировках |
|
tasks | double | скилз заработанные на заданиях |
Bounding box
Field | Type | Label | Description |
lo | LatLng |
|
|
hi | LatLng |
|
|
center | LatLng |
|
Field | Type | Label | Description |
latitude | double | The latitude in degrees. It must be in the range [-90.0, +90.0]. |
|
longitude | double | The longitude in degrees. It must be in the range [-180.0, +180.0]. |
Field | Type | Label | Description |
box | BBox |
|
|
vertex | LatLng | repeated |
|
Field | Type | Label | Description |
area | Polygon | repeated |
|
документ для ознакомления или получения согласия от пользователя
Field | Type | Label | Description |
id | string | идентификатор документа |
|
label | string | метка |
|
url | string | url адрес для перехода |
|
required_agreement | bool | выводить документ как обязательный для соглашения иначе просто для ознакомления |
|
stamp_day | int64 | дата документа (epoch day), она же и версия документа, в случае увеличения может потребоваться повторное согласие |
Field | Type | Label | Description |
agreements | ProfileAgreement | repeated |
|
проект (группа документов для согласия)
Field | Type | Label | Description |
id | string | идентификатор проекта |
|
club_id | string | идентификатор клуба |
|
name | string | Название проекта |
|
description | string | Описание проекта |
|
documents | AgreementDocument | repeated | документы связанные с проектом |
deleted | bool | признак удаления проекта |
факт согласия от пользователя
Field | Type | Label | Description |
id | string | идентификатор документа |
|
label | string | метка |
|
url | string | url адрес для перехода |
|
stamp_day | int64 | дата документа (epoch day), она же и версия документа |
|
stamp_seconds | int64 | время ознакомления или получения согласия (если 0 то согласие не получено и требуется его получение) |
|
is_revoke | bool | признак отзыва документа |
Field | Type | Label | Description |
projects | AgreementProject | repeated |
|
Field | Type | Label | Description |
id | string | uid идентификатор платежа |
|
url | string | url для перехода |
Field | Type | Label | Description |
id | string | uid идентификатор услуги |
|
title | string | название услуги |
|
description | string | описание услуги |
|
photo_url | string | картинка для услуги |
|
price | float | стоимость услуги |
|
count | double | предлагаемое количество услуги к покупке (0 - по умолчанию) |
Field | Type | Label | Description |
code | SkllzzError.Code |
|
|
offer_pro | bool |
|
|
details | string | дополнительное текстовое сообщение (не требующее локализации) |
|
offer_payment | PaymentOffer | предложения на оплату для CLUB_INSUFFICIENT_FUNDS |
|
offer_service | ServiceOffer | repeated | предложения на покупку услуги для CLUB_REQUIRE_PAYED_SERVICE |
int_arg1 | int64 | произвольный числовой параметр ошибки |
|
int_arg2 | int64 | произвольный числовой параметр ошибки |
|
str_arg1 | string | произвольный строковый аргумент |
|
bytes_arg1 | bytes | произвольный аргумент массива байт (для еще одного уровня сериализации) |
|
double_arg1 | double | произвольный аргумент double |
|
agreement | AgreementDocument | repeated | Данные по требуемому согласию в случае ошибки AGREEMENT_REQUIRED |
Name | Number | Description |
UNKNOWN | 0 | нет специального кода ошибки |
DELETED_LEADERBOARD | 1 | запрошен отсутствующий лидерборд |
LEADERBOARD_LIMIT_EXCEEDED | 2 | превышено число лидерборда для пользователя |
LEADERBOARD_MEMBER_LIMIT_EXCEEDED | 3 | превышено число участников лидерборда |
LEADERBOARD_INVALID_PARTICIPANTS_CONFIG | 4 | недопустимая настройка числа участников |
LEADERBOARD_INVALID_DURATION | 5 | недопустимая настройка длительности соревнования (не менее 3 и не более 30 дней) |
LEADERBOARD_INVALID_SKLLZZ_STOP | 6 | недопустимая настройка стоп числа SKLLZZ в соревновании (не менее 300 и не более 30000 sz) |
LEADERBOARD_INVALID_HISTORICAL_DAYS | 7 | недопустимая настройка выявления лидера в ретроспективе дней |
LEADERBOARD_UNABLE_TO_JOIN_COMPLETED | 8 | Невозможно подключиться к завершенному соревнованию |
PROFILE_UNABLE_TO_CHANGE_AVATAR | 9 | Невозможно поменять аватарку по причине недостаточного омоложения |
LEADERBOARD_ALREADY_JOINED | 10 | Уже участник соревнования |
MARKET_PRODUCT_UNAVAILABLE | 11 | Товар не доступен (возможно по причине требования pro статуса, см флаг offer_pro) |
MARKET_PRODUCT_EXHAUSTED | 12 | Товар закончился |
MARKET_INSUFFICIENT_SKLLZZ | 13 | Не достаточно sz для покупки товара |
IAMOK_INSUFFICIENT_SKLLZZ_TO_BOOST | 14 | Не достаточно sz для бустера |
IAMOK_ALREADY_BOOSTED | 15 | Уже есть активное ускорение |
IAMOK_ALREADY_FREEZED | 16 | Уже есть активное замедление |
IAMOK_TOO_EARLY_FOR_TELEPORT_BACK | 17 | Слишком рано для перемещения назад |
IAMOK_INSUFFICIENT_ENERGY_TO_TELEPORT_FORWARD | 18 | Не достаточно накопленной энергии для перемещения вперед |
GAME_ARTIFACT_SHELF_IS_EMPTY | 19 | Нет необходимого артефакта на полке |
GAME_ARTIFACT_IS_NOT_READY | 20 | Артефакт еще не готов (слишком мало прошло времени с последней покупки) |
GAME_ARTIFACT_IS_ALREADY_ACTIVE | 21 | Артефакт еще активен и применение нового не требуется |
GAME_ARTIFACT_IS_FREEZED_BY_VIRUS | 22 | Артефакты заморожены вирусом |
GAME_ARTIFACT_INCOMPATIBLE | 26 | Артефакт не совместим с текущим набором |
LEADERBOARD_NOT_AN_AUTHOR | 23 | изменения может сделать только автор соревнования |
LEADERBOARD_NOT_VALID_AUTHOR | 24 | указанный id автора не может стать приемником (дисквалифицирован или удален) |
LEADERBOARD_INACTIVE | 25 | соревнование не активно |
MARKET_PRODUCT_PURCHASED_EARLIER | 27 | продукт уже куплен ранее |
LEADERBOARD_LEVEL_RESTRICTION | 30 | не соответствие требуемому уровню int_arg1 - min , int_arg2 - max |
REG_INVALID_PHONE_NUMBER | 100 | Коды ошибок при регистрации номер телефона задан неверно |
REG_INVALID_PHONE_TOKEN | 101 | не верный токен подтверждения телефона (возможно устарел) |
REG_INVALID_PHONE_CODE | 102 | не верный код подтверждения |
REG_INVALID_EMAIL | 103 | невозможно отправить письмо с авторизацией |
REG_INVALID_INPUT | 104 | не верные данные подтверждения |
REG_CREATION_LIMIT | 105 | ограничение в создании нового аккаунта |
CLUB_NOT_FOUND | 500 | Коды ошибок внутри SKLLZZ CLUB Клуб не найден |
CLUB_CLIENT_NOT_FOUND | 501 | Клиент с указанными номером телефона не найден в клубе |
CLUB_INSUFFICIENT_FUNDS | 502 | не достаточно средств на лицевых счетах клиента |
CLUB_REQUIRE_PAYED_SERVICE | 503 | требуется покупка необходимой услуги |
CLUB_INSUFFICIENT_SLOTS | 504 | нет свободных мест |
CLUB_CLASS_IS_OVER | 505 | занятие уже проведено |
CLUB_UNABLE_TO_PROCESS_REQUEST | 506 | клубное по не может выполнить запрашиваемую операцию (обратитесь на ресепшн) |
CLUB_UNABLE_TO_FREEZE | 507 | клубное по не может выполнить заморозку контракта (обратитесь на ресепшн) |
CLUB_UNABLE_TO_UNFREEZE | 508 | клубное по не может выполнить разморозку контракта (обратитесь на ресепшн) |
CLUB_CLIENT_LIMIT | 509 | превышено допустимое количество клиентов клуба |
CLUB_UNDER_CONSTRUCTION | 510 | функция в разработке |
CLUB_APPROVE_PENDING | 511 | подключение к клубу на рассмотрении |
CLUB_UNABLE_TO_LEAVE_DUE_TO_INCOMPLETE_CHALLENGE | 512 | в клубе есть не завершенные соревнования |
REQUIRE_JOIN_CLUB | 513 | требуется подключение к клубу |
REQUIRE_OAUTH2 | 514 | требуется внешняя аутентификация ( bytes_arg1 - сериализация ExtAuthState) |
CLUB_OVERLAPPED_APPOINTMENTS | 515 | ента есть записи которые конфликтуют по времени |
CLUB_RENT_REQUIRE_RESOURCES | 516 | требуется указать ресурсы для аренды |
CLUB_REQUIRE_EMAIL | 517 | требуется указать email в карточке регистрации |
CLUB_PAYMENT_METHOD_UNAVAILABLE | 518 | не разрешенный способ оплаты |
CLUB_APPOINTMENT_NOT_FOUND | 519 | занятие не найдено |
CLUB_BUSY_TIMESLOT | 520 | таймслот занят |
CLUB_APPOINTMENT_CANCELED | 521 | занятие отменено |
CLUB_APPOINTMENT_RESERVATION_NOT_FOUND | 522 | бронь на занятие не найдено |
FUND_NOT_FOUND | 600 | фонд не найден |
FUND_REPLENISH_LIMITS | 601 | ошибка при пополнении взноса связанная с лимитами фонда |
DAYLY_REPLENISH_LIMITS | 602 | ошибка при пополнении взноса связанная с лимитами пополнения за 24 часа |
FUND_REPLENISH_RULES | 603 | ошибка при пополнении взноса связанная с правилами на размер взноса |
FUND_SUBSCRIPTION_EXISTS | 604 | нельзя подписаться на фонд так как уже есть подписка на фонд в данной группе |
AGREEMENT_REQUIRED | 605 | требуется согласие пользователя |
EMAIL_DOMAIN_RESTRICTED | 606 | требуется вход через почту с доменом (домены перечислены в str_arg1 через разделитель) |
APP_UPGRADE_REQUIRED | 1000 | требуется обновление приложения |
Режим соревнования с абсолютным лидером
Field | Type | Label | Description |
stop_value | double | набранное участником значение которые завершат соревнования досрочно при достижении его любым участником (0 если без такого ограничения) |
данные по пульсу или шагам конкретной тренировки
Field | Type | Label | Description |
steps | StepsData | repeated |
|
hr | TrainingData | repeated |
|
Field | Type | Label | Description |
id | string | идентификатор соревнования |
|
parent_id | string | идентификатор родительского соревнования если часть командного |
|
club_id | string | принадлежность к клубу |
|
leaderboard | Leaderboard | правила и метаданные соревнования |
|
public | bool | показывать на витрине клуба |
|
private | bool | приватный лидерборд (не предлагать присоединиться к нему, а только показывать ранк из панели предложений) |
|
ext_auth | RequireExtAuth | требования по наличию внешней авторизации |
|
in_cities_id | string | id списка городов присутствия (если пусто то без ограничений) |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
|
challenge_id | string | идентификатор соревнования |
|
member_id | string | идентификатор участника |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
|
challenge_id | string | идентификатор соревнования |
шаблон соревнования
Field | Type | Label | Description |
id | string | идентификатор шаблона |
|
club_id | string | принадлежность к клубу |
|
rules | Rules | шаблон правил |
|
rules_constraints | ChallengeTemplate.Constraints | ограничения по полям правил |
|
deleted | bool | признак удаления |
Field | Type | Label | Description |
first_activity_day | ChallengeTemplate.Constraints.Mode |
|
Field | Type | Label | Description |
percent | float | превышение процента жалоб |
|
absolute | int32 | превышение числа жалоб |
запись о дисквалификации
Field | Type | Label | Description |
stamp | int64 | epoch seconds время дисквалификации |
|
reason | string | причина дисквалификации |
Field | Type | Label | Description |
value | double | значение промежуточной цели в резмерности определяемой RankGoal |
|
description | string |
|
правила для групповых соревнований
Field | Type | Label | Description |
max_teams | int32 | максимальное число команд |
|
mode | GroupRules.RankMode | режим командного учета |
|
absolute_leader | AbsoluteLeaderRule |
|
|
historical_leader | HistoricalLeaderRule |
|
|
shared_goal | SharedGoalRule |
|
Режим соревнования с лидером набравшим максимальное количество sz за указанное число последних календарных дней
Field | Type | Label | Description |
days | int32 | количество дней за которые учитывать skllzz |
Лидерборд (игра)
Field | Type | Label | Description |
rules | Rules | правила соревнования |
|
invite | string | ссылка для приглашения участника |
|
invite_viewer | string | ссылка для приглашения наблюдателя |
|
created_millis | int64 | время создания соревнования |
|
chat_url | string | Deprecated. ссылка на общий чат или пусто если чат не создан (устарело, используем ссылку из Rules) |
|
author_id | string | идентификатор профиля автора/президента/капитана (если пустой то соревнование создано не клиентом) |
|
state | Leaderboard.State | состояние лидерборда |
|
timezone | string | временная зона в которой создано соревнование |
|
next_election_millis | int64 | время проведения следующих выборов президента лидерборда |
|
jackpot | double | призовой куш |
|
prizes | Leaderboard.PrizesEntry | repeated | сумма призов по местам |
version | int32 | версия лидерборда (0,2) |
Name | Option |
chat_url | true |
Field | Type | Label | Description |
key | int64 |
|
|
value | double |
|
Field | Type | Label | Description |
id | string | идентификатор лидерборда |
|
name | string | название соревнования (если пусто то не менять) |
|
description | string | более детальное описание соревнования (если пусто то не менять) |
|
photo_url | string | картинка к соревнованию (если пусто то не менять, для удаления передать строку "-") |
|
logo_url | string | логотип к соревнованию (если пусто то не менять, для удаления передать строку "-") |
|
new_author_id | string | новый id хозяина лидерборда (если пусто то не менять) |
|
chat_url | string | новый адрес чата |
Идентификатор участника в соревновании
Field | Type | Label | Description |
leaderboard_id | string | идентификатор лидерборда |
|
member_id | string | идентификатор участника соревнования (совпадает с profile.id) |
|
sync_millis | int64 | возвращать данные с отметкой синхронизации превышающую заданную |
Идентификатор активности участника в соревновании
Field | Type | Label | Description |
leaderboard_id | string | идентификатор лидерборда |
|
member_id | string | идентификатор участника соревнования (совпадает с profile.id) |
|
session_id | string | идентификатор тренировки |
|
sync_millis | int64 | отметка времени для синхронизации |
|
with_details | bool | Возвращать данные с детализацией |
Жалоба на участника соревнования
Field | Type | Label | Description |
leaderboard_id | string | идентификатор лидерборда |
|
member_id | string | идентификатор участника соревнования (совпадает с profile.id) |
|
reason | string | Причина жалобы |
|
created_millis | int64 | время создания жалобы |
|
last_modified_millis | int64 | время последнего изменения |
Field | Type | Label | Description |
id | string | идентификатор лидерборда |
|
last_modified | int64 | время последнего изменения в рейтинге |
|
members | Member | repeated | топ участников в порядке лидерства (обязательно включает текущего пользователя) |
leaderboard | Leaderboard | лидерборд |
|
earned_total | double | суммарные достижения всех участников лидерборда |
|
member_total | double | общее количество всех участников |
|
normalized_performance | double | нормализованная величина эффективности участников лидерборда (от 0 до 1) |
|
final_result_stamp | int64 | время epoch seconds, когда будут подведены окончательные итоги |
|
activation_stamp | int64 | время epoch seconds, когда будет запущено соревнование |
|
stats | PeriodStat | статистика соревнования |
Отношение профиля к лидерборду
Field | Type | Label | Description |
id | string | идентификатор лидерборда |
|
created_millis | int64 | время создания связи |
|
role | Role | Роль по отношению к лидерборду |
|
last_modified | int64 | время последнего изменения отношения |
|
version | int32 | версия роли (0,2) |
|
deleted | bool | признак удаления |
Данные об активности участника в лидерборде
Field | Type | Label | Description |
id | string | уникальный идентификатор активности |
|
skllzz | double | Заработанные или потраченные skllzz (положительная - заработанные, отрицательная - потраченные) |
|
description | string | Описание активности |
|
stamp_seconds | int64 | время начала действия (epoch seconds) |
|
duration_seconds | int64 | длительность действия (может быть нулевым) |
|
activity_day | int64 | номер дня активности в часовом поясе клиента |
|
training | TrainingSession |
|
|
deleted | bool | признак удаления |
Field | Type | Label | Description |
id | string | идентификатор участника соревнования (совпадает с profile.id) |
|
nick_name | string | никнейм участника |
|
avatar_url | string | аватар участника |
|
earned_value | double | заработано в соревновании (размерность определяется правилами соревнования в RankGoal) |
|
rank | int32 | позиция в соревновании |
|
join_millis | int64 | время присоединения к соревнованию |
|
last_modified_millis | int64 | время последнего изменения |
|
disqualified | bool | признак дисквалификации |
|
game_age_days | int32 | Игровой возраст |
|
pro | bool | признак наличия подписки на pro |
|
lang | string | предпочитаемый язык участника |
|
claims | Member.Claims | статистика по жалобам |
|
level | Level | игровой уровень из профиля |
|
deleted | bool | признак удаления |
Field | Type | Label | Description |
total | int32 | общее число жалоб |
|
percent | float | процентное число жалоб относительно всех участников |
Правила соревнования
Field | Type | Label | Description |
name | string | Источники активности для соревнования название соревнования |
|
begin_seconds | int64 | Deprecated. epoch секунды начала соревнования (0 если сразу с момента создания) |
|
first_activity_day | int64 | первый день активности которая пойдет в зачет |
|
end_seconds | int64 | Deprecated. epoch секунды окончания соревнования (0 если без ограничений) |
|
last_activity_day | int64 | последний день активности которая пойдет в зачет |
|
source | Activity | repeated | источники активности которые идут в зачет |
workout_types | TrainingSession.Kind | repeated | типа тренировок которые идут в зачет если в источниках есть WORKOUTS (если пустой то учитывать все) |
rank_goal | Rules.RankGoal | относительно чего составлять ранк (скилзы или метры) |
|
absolute_leader | AbsoluteLeaderRule |
|
|
historical_leader | HistoricalLeaderRule |
|
|
shared_goal | SharedGoalRule |
|
|
group_rules | GroupRules | правила для групповых соревнований |
|
max_participants | int32 | максимальное число участников (0 если без ограничения) |
|
with_chat | bool | Deprecated. создать общий чат для соревнования в телеграм |
|
description | string | более детальное описание соревнования |
|
paid | double | платное соревнование требующее оплаты за участие |
|
award_method | Rules.WinnerAwardMethod | способ поделить куш |
|
with_artifacts | bool | разрешить действие артефактов на результаты тренировок |
|
photo_url | string | картинка к соревнованию |
|
logo_url | string | логотип к соревнованию |
|
chat_url | string | связанный чат |
|
require_club | string | требовать обязательное подключение к клубу с заданным кодом для участия в соревновании (если пусто то без ограничений) |
|
linked_fund_id | string | Deprecated. автоматически вступать в указанный фонд при вступлении в это соревнование |
|
require_tracks_min_level | TrackMode | принимать только активность с треками уровня не ниже указанного |
|
linked_fund_ids | string | repeated | (в результате в соревновании появится трек уровень которого равен максимальному значению уровня требований и настроек пользователя уровня трека для всех остальных) автоматически вступать в указанные фонды при вступлении в это соревнование |
payment_terminal_id | string | идентификатор терминала оплаты (в этом случае соревнование оплачивается не скилзами а реальными деньгами) менять может роль payed_challenges остальные read-only |
|
jackpot_convert_rate | double | курс конвертации поступивших денежных средств в джекпот (если 0 то джекпот не формируется) менять может роль payed_challenges остальные read-only |
|
payment_currency | string | код валюта оплаты по https://ru.wikipedia.org/wiki/ISO_4217 (если пусто то внутренними SKLLZZ, менять может роль payed_challenges остальные read-only |
|
group_convert_rate | double | коэффициент нормализации результатов для группового соревнования DEV-149 |
|
day_activity_limit_skllzz | double | лимит отсечки физической активности в день |
|
member_level | IntRange | ограничиваемый интервал уровней участников (если элемент 0 то значит без ограничений) |
|
auto_disqualify_limits | ClaimLimits | правила по автоматической дисквалификации |
Name | Option |
begin_seconds | true |
end_seconds | true |
with_chat | true |
linked_fund_id | true |
Режим соревнования с общей целью
Field | Type | Label | Description |
goal_step | GoalStep | repeated | массив целей, от промежуточных до финальной |
Name | Number | Description |
STEPS | 0 | учитывать активность из шагов |
WORKOUTS | 1 | учитывать активность из тренировок |
TASKS | 2 | учитывать активность из заданий |
Name | Number | Description |
unknown | 0 | |
training_info | 1 | информация об активности внутри соревнования TrainingSession |
member_info | 2 | информация об участнике соревнования Profile (не для групповых) |
Name | Number | Description |
unknown | 0 | |
challenge_info | 1 | информация о соревновании Challenge |
child_challenge_info | 2 | информация о подчиненном соревновании Challenge |
challenge_rank | 3 | информация о турнирной таблице соревнования LeaderboardRank |
Name | Number | Description |
READONLY | 0 | запрещено для изменений |
WRITABLE | 1 | может меняться |
REQUIRED | 3 | должно меняться (требуется задать) |
Name | Number | Description |
AVERAGE | 0 | |
TOTAL | 1 |
Состояние соревнования
Name | Number | Description |
IDLE | 0 | соревнование ожидает начала |
ACTIVE | 1 | соревнование активно |
COMPLETED | 2 | соревнование завершено |
DELETED | 999 | соревнование удалено |
Name | Number | Description |
MEMBER | 0 | участник |
VIEWER | 1 | наблюдатель |
OFFER | 2 | предложение |
Name | Number | Description |
SKLLZZ | 0 | позицию в ранке определяют скилзы |
METERS | 1 | позицию в ранке определяют метры |
Name | Number | Description |
NONE | 0 | без вознаграждения победителей |
SINGLE_WINNER | 1 | все главному победителю |
PROPORTIONALLY_FOR_TOP | 2 | пропорционально 50% 30% 20% |
Состояние клиентского счета
Field | Type | Label | Description |
balance | double | доступный баланс для оплаты |
|
access | string | ключ для операций по счету (динамический, время жизни не более часа) |
|
name | string | Имя клиента для дополнительной идентификации (не всегда доступно) |
Запрос данных по клиентскому счету одним из способов идентификации
Field | Type | Label | Description |
pos_id | string | уникальный идентификатор точки продаж |
|
account_id | string | данные qr кода из приложения или телефон клиента либо в случае пустого account_id метод отдаст данные клиента который последним просканировал точку продаж (при необходимости будет ожидать) |
|
license_id | string | опциональные данные уникального идентификатора модуля или програмного продукта системы учета из 1С,iiko,rKeeper и тд. |
Field | Type | Label | Description |
transaction_id | string | желаемый идентификатор транзакции (опционально) |
|
pos_key | string | ключ точки продаж |
|
amount | double | сумма операции |
|
description | string | обязательное описание операции, (название товара или услуги) |
|
created_millis | int64 | время создания запроса |
|
pos_id | string | out: идентификатор точки продаж |
|
club_id | string | out: идентификатор клуба |
|
pay_link | string | out: url ссылка на оплату счета |
|
state | PrepayDetails.State | out: состояние платежа |
|
profile_id | string | out: идентификатор профиля, оплатившего счет |
|
channel_id | string | out: идентификатор канала (чата) |
Резервирование средств
Field | Type | Label | Description |
transaction_id | string | уникальный идентификатор транзакции (если пустой или менее 10 символов то будет назначен сервером) |
|
access | string | ключ к счету (значение поля access в ответе из метода Query) |
|
amount | double | резервируемая сумма |
|
description | string | обязательное описание операции, (название товара или услуги) |
|
tax_id | string | опциональный идентификатор фискального чека |
Идентификатор транзакции
Field | Type | Label | Description |
id | string | уникальный идентификатор транзакции |
Name | Number | Description |
undefined | 0 | состояние не определено (ошибочное) |
new | 1 | платеж создан но не оплачен |
payed | 2 | платеж оплачен |
outdated | 3 | платеж просрочен (оплата более не возможна) |
deleted | 999 | платеж удален |
Сервис оплаты skllzz
Method Name | Request Type | Response Type | Description |
Query | AccountQuery | Account | Запрос доступных средств на счете либо по qr коду из приложения/точки продаж либо по известному номеру телефона клиента В случае AccountQuery.account_id=="test" вернется Account.access="OK" и Account.name=имя точки продаж |
Reserve | ReserveQuery | Transaction | Резервирование средств. Списание средств можно подтвердить методом Confirm в течение 10 минут |
Cancel | Transaction | Transaction | Отменяет транзакцию и возвращает средства на счет клиента по заданной транзакции |
Confirm | Transaction | Transaction | Закрывает транзакцию и списывет заблокированые средства окончательно. Но это не запрещает вернуть их в любое время позже через Cancel |
CreatePrepay | PrepayDetails | PrepayDetails | создание нового запроса на оплату c подтверждением |
MonitorPrepay | PrepayDetails | PrepayDetails stream | отслеживание состояния запроса на оплату |
Данные об операции
Field | Type | Label | Description |
id | string | уникальный идентификатор транзакции |
|
stamp | int64 | Время транзакции (unix epoch seconds) |
|
amount | double | сумма изменений (положительная - пополнение баланса, отрицательная - списание) |
|
description | string | Описание транзакции |
|
type | TransactionDetails.Type | Тип транзакции |
|
rejuvenation | int32 | суммарное изменение возраста в днях (положительная - омоложение, отрицательная - старение) |
|
app_id | string | сведения о приложение с указанным идентификатором как источнике транзакции |
|
pos_id | string | сведения о партнере с заданным pos_id как источнике транзакции (тут же хранится ид фонда в случае операций с фондами) |
|
manager_id | string | сведения об администраторе с заданным id как источнике транзакции |
|
product_id | string | сведения о продукте или бонусе в рамках транзакции |
|
promo_code | string | сведения о полученом промо коде в рамках транзакции |
|
iamok_uuid | string | привязка транзакции к циклу i am ok |
|
balance | double | баланс skllzz на момент выполнения транзакции |
|
age | int32 | возраст в днях на момент выполнения транзакции |
|
sync_stamp_millis | int64 | Время последнего обновления транзакции в миллисекундах (для реализации механизма не прочитанных сообщений) |
|
location | LatLng | локация |
|
redirect_uri | string | опциональный адрес для перехода по адресу в случае клика на операцию |
|
pos_transaction_id | string | опциональный идентификатор транзакции на стороне pos |
|
rating_value | RatingValue | оценка пользователем этой операции (если приемлемо) |
|
pos_details | PosDetails | данные о точке продаж на момент проведения операции |
|
daily_total | double | сумма изменений (положительная - пополнение баланса, отрицательная - списание) общая сумма skllzz за день без учета лимитов (только для транзакций дневной активности) |
|
details | bytes | сериализованные данные в зависимости от type |
|
pre_auth | bool | признак предварительной операция (которая затем удаляется или подтверждается) |
|
active_artifacts | ActiveArtifact | repeated |
|
level | Level | уровень на момент выполнения транзакции |
|
seq_no | int64 |
|
|
deleted | bool | признак удаленного элемента |
Name | Number | Description |
UNKNOWN | 0 | |
ACTIVITY | 1 | Операции связанные с физической активностью (шаги тренировки) |
IAMOK | 2 | Операции в рамках цикла i am ok |
BONUS | 3 | Различные бонусные начисления |
PRODUCT | 4 | Покупка товаров |
PROMOCODE | 5 | Покупка промокода |
ARTIFACT | 6 | Использование артефакта |
BUY_ARTIFACT | 7 | Покупка артефакта |
PAY_CHALLENGE | 8 | Оплата участия в соревновании |
CHALLENGE_AWARD | 9 | Награда за соревнование |
DEANONIMIZATION | 10 | Награда за деанонимизацию |
REPLENISH_FUND | 11 | взнос в фонд |
OTHER | 1000 | Прочие начисления |
DELETED | 9999 | Удаленная операции |
Сервис работы с магазином/витриной/торговыми точками
Method Name | Request Type | Response Type | Description |
PosAuthLink | Link | PosInfo | Авторизация клиента на точке продаж |
PosRate | RatingValue | RatingValue | Оценка проведенной операции |
MonitorPosRating | PosRating | PosRating stream | Мониторинг оценки точки продаж |
SyncPos | PosDetails | PosDetails stream | Синхронизация информации по точкам продаж |
SyncRoi | RoiDetails | RoiDetails stream | Синхронизация информации по точкам продаж |
BuyPromo | PosDetails | TransactionDetails | Покупка промокода (требуется id и club_id) |
ConcernPromo | PosDetails | Empty | Проявить озабоченность относительно отсуствия товара (требуется id и club_id) в телеграм канал будет отправляться соотвествующее сообщение |
Approve | PrepayDetails | PrepayDetails | подтверждение платежа |
GetPrepayDetails | PrepayDetails | PrepayDetails stream | отслеживание состояния запроса на оплату |
Список городов
Field | Type | Label | Description |
id | string | идентификатор списка городов |
|
name | string | название списка |
|
notes | string | заметки по списку |
|
club_id | string | принадлежность к клубу |
|
city | City | repeated | список городов |
deleted | bool | признак удаления |
Field | Type | Label | Description |
cities | Cities | repeated |
|
Список городов
Field | Type | Label | Description |
name | string | название города |
Информация по точке продаж для карты
Field | Type | Label | Description |
id | string | идентификатор точки продаж |
|
name | string | название точки продаж |
|
offer | string | Deprecated. описание предложения (% скидки и тд) |
|
valid_from | int64 | epoch seconds с которого доступна точка |
|
valid_until | int64 | epoch seconds до которого доступна точка |
|
last_modified | int64 | время последнего изменения (для синхронизации) |
|
location | LatLng | Deprecated. |
|
address | string | Deprecated. |
|
site | string | адрес сайта у данной точки продаж |
|
pro_only | bool | доступен только для pro |
|
category | PosCategory | категория точки |
|
online | OnlineDetails |
|
|
offline | OfflineDetails |
|
|
absolute_offer | AbsoluteOffer | абсолютная (в рублях) |
|
relative_offer | RelativeOffer | относительная (в процентах) |
|
logo | string | url для jpg/png картинки с логотипом |
|
branding | Branding | настройки брендинга точки |
|
parent_pos_id | string | принадлежность к группе (ссылка на родительский pos) |
|
coverage_id | string | принадлежность к зоне покрытия |
|
priority | int32 | приоритет на витрине |
|
club_id | string | принадлежность к клубу |
|
visibility_restriction | VisibilityRestriction | ограничения видимости объекта |
|
active | bool | точка активна |
|
invisible | bool | скрывать от клиентов |
|
is_empty | bool | признак что товар на точке временно закончился |
|
in_cities_id | string | id списка городов присутствия (если пусто то без ограничений) |
|
deleted | bool |
|
Name | Option |
offer | true |
location | true |
address | true |
Field | Type | Label | Description |
name | string | название точки продаж |
|
id | string | идентификатор точки продаж |
Field | Type | Label | Description |
pos_id | string | идентификатор точки продаж |
|
average_rating | double | средняя оценка точки (используются группа из последних оценок) |
|
rating_count | int64 | количество отзывов по точке |
|
use_count | int64 | количество операций |
|
rating_millis | int64 | момент времени на который получена средняя оценка точки |
|
rating_count_millis | int64 | момент времени на который получено общее число отзывов |
|
use_count_millis | int64 | момент времени на который получено общее число операций |
Информация по ROI
Field | Type | Label | Description |
id | string | идентификатор точки продаж |
|
name | string | название точки продаж |
|
last_modified | int64 | время последнего изменения (для синхронизации) |
|
ROI | Roi | области |
|
bounding_box | BBox | область координат геодезического прямоугольника включающая все полигоны |
|
deleted | bool |
|
Field | Type | Label | Description |
pos_id | string | идентификатор точки продаж |
|
transaction_id | string | идентификатор транзакции |
|
location | LatLng | локация |
|
rating | double | оценка пользователем этой операции (если приемлимо) |
|
testimonial | string | отзыв клиента |
|
stamp_millis | int64 | отметка времени |
Параметры запрашиваемого отчета
Field | Type | Label | Description |
startDate | google.protobuf.Timestamp | начало периода |
|
endDate | google.protobuf.Timestamp | конец периода |
|
format | Format | формат |
|
timezone_name | string | таймзона по умолчанию |
|
timezone_offset | int64 | смещение в таймзоне |
ID отчета
Field | Type | Label | Description |
id | string |
|
|
url | string | прямая ссылка для загрузки |
Параметры запрашиваемого отчета
Field | Type | Label | Description |
startDate | google.protobuf.Timestamp | начало периода |
|
endDate | google.protobuf.Timestamp | конец периода |
Одна строка отчета
Field | Type | Label | Description |
id | string | уникальный идентификатор транзакции |
|
stamp | google.protobuf.Timestamp | Дата и время операции |
|
name | string | Имя клиента для дополнительной идентификации (не всегда доступно) |
|
amount | double | Сумма операции |
|
client_id | string | идентификатор клиента |
|
rating | double | оценка пользователем этой операции (если приемлемо) |
|
testimonial | string | отзыв клиента |
|
description | string | описание операции |
|
phone | string | номер телефона клиента (если он указан) |
|
nick | string | никнейм клиента |
формат подготваливаемого отчета
Name | Number | Description |
TEXT | 0 | |
JSON | 1 | |
XLSX | 2 |
Сервис отчетов skllzz
Method Name | Request Type | Response Type | Description |
Generate | ReportParams | ReportRow stream | |
Prepare | PrepareParams | ReportId |
ru: блок сведений о единичной активности
en: block of information about a single activity
Field | Type | Label | Description |
device_info | DeviceInfo | ru: информацию о клиенте и устройства (приложение+часы) en: information about the client and device (application + watch) |
|
exercise | Exercise | ru: Данные о единичной сессии в формате FIT en: Single session data in FIT format |
|
steps | Steps | ru: Данные о шагах en: Steps data |
|
meta | ActivityMeta | ru: метаданные по активности en: activity metadata |
ru: метаданные по активности
en: activity metadata
Field | Type | Label | Description |
id | string | ru: уникальный идентификатор активности на стороне отправителя, желательно UUID V4 en: unique activity identifier on the sender side, preferably UUID V4 |
|
time_zone | string | ru: код тайм зоны в формате ISO 8601 к которой относится активность (например Europe/Moscow) en: time zone code in ISO 8601 format to which the activity belongs (Europe/Moscow for example) |
ru: Статус обработки полученных данных. В случае ошибки она передается через стандартный механизм GRPC см https://grpc.io/docs/guides/error/
en: Processing status of received data. In case of an error, it is transmitted through the standard GRPC mechanism, see https://grpc.io/docs/guides/error/
Field | Type | Label | Description |
training_id | string | repeated | ru: список идентификаторов активности клиента на стороне платформы МойФитнес которые были затронуты обновлением. en: a list of client activity identifiers on the MyFitness platform side that were affected by the update. |
ru: информация о клиенте и устройства (приложение+часы)
en: information about the client and device (application + watch)
Field | Type | Label | Description |
app_name | string | ru: имя пакета приложения (например ru.myfitt.watch) en: application package name (for example ru.myfitt.watch) |
|
app_version | string | ru: версия приложения ( например 1.33.22) en: application version (for example 1.33.22) |
|
device_name | string | ru: имя устройства с которого получены данные (например MyFitt Watch 1.0) en: name of the device from which the data was received (for example MyFitt Watch 1.0) |
|
device_version | string | ru: код версии устройства (прошивки) с которого получены данные (например 0.44.55) en: firmware version code of the device from which the data was received (for example 0.44.55) |
|
device_mac | string | ru: Bluetooth MAC адрес устройства (например C4-E4-AD-1C-56-B1 или C4:E4:AD:1C:56:B1) en: Bluetooth MAC address of the device (for example C4-E4-AD-1C-56-B1 or C4:E4:AD:1C:56:B1) |
ru: Занятие в формате FIT
en: Workout in FIT format
Field | Type | Label | Description |
fit_file_data | bytes | ru: контент FIT файла см. https://developer.garmin.com/fit/cookbook/encoding-activity-files/ и https://www.fitfiletools.com/#/top ru: FIT file content see https://developer.garmin.com/fit/cookbook/encoding-activity-files/ and https://www.fitfiletools.com/#/top |
|
method | CollectionMethod | ru: способ сбора данных en: data collection method |
ru: Данные о шагах
en: Steps data
Field | Type | Label | Description |
details | Steps.Details | repeated | ru: массив с детализацией en: array with detail |
ru: Единичная запись о шагах в указанном диапазоне времени
en: Single entry of steps within a specified time range
Field | Type | Label | Description |
stamp_millis | int64 | ru: время начала замера шагов в unix time миллисекундах см https://en.wikipedia.org/wiki/Unix_time en: step measurement start time in unix time milliseconds see https://en.wikipedia.org/wiki/Unix_time |
|
duration_millis | int32 | ru: длительность интервала замера в миллисекундах (рекомендуется детализация в 15 минут) en: duration of the measurement interval in milliseconds (recommended interval of 15 minutes) |
|
steps | int32 | ru: Суммарное количество шагов на этом интервале en: Total steps on this interval |
|
method | CollectionMethod | ru: способ сбора данных en: data collection method |
ru: способ сбора данных
en: data collection method
Name | Number | Description |
Auto | 0 | ru: автоматический посредством датчиков en: automatic via sensors |
Manual | 1 | ru: ручной ввод en: manual entry |
ru: обмен данными об активности клиента
en: exchange of data about client activity
Method Name | Request Type | Response Type | Description |
Upload | ActivityData | ActivityUploadResult | ru: загрузка данный в профиль клиента МойФитнес en: uploading data to the MyFitness client profile |
Определение кривой майнинга игровой валюты от уровня нагрузки
Field | Type | Label | Description |
hardness_begin | double | начало фактического диапазона кривой на шкале усилия (обычно 0) |
|
hardness_end | double | конец фактического диапазона кривой на шкале усилия (обычно 1) |
|
skllzz_scale | double | коэффициент для skllzz (обычно 1-4) |
|
polinom_factor | int32 | коэффициент усиления кратности сглаживающего полинома |
|
value | double | repeated | желаемые значания на интервале от 0 до 1 распределенные равномерно например 0,0,0,0,1,1,0 |
Field | Type | Label | Description |
total_skllzz_earned | double | Заработано скилз за все время |
|
total_skllzz_spent | double | Потрачено скилз за все время |
|
base_age_days | int32 | Начальный игровой возраст в днях (100 лет) |
|
min_age_days | int32 | Минимальный игровой возраст в днях (20 лет) |
|
max_age_days | int32 | Максимальный игровой возраст в днях (100 лет) |
|
rejuvenation | double | Омоложение от базового возраста в годах (depricated) |
|
rejuvenation_days | int32 | Омоложение от базового возраста в днях |
|
iamok_skllzz_earned | double | Набрано скилз в отчетном периоде i am ok |
|
iamok_skllzz_required | double | Требуемый уровень skllzz для нормы i am ok |
|
iamok_start | int64 | время начала периода i am ok UTC seconds (может меняться в следствии заморозки или бустера) |
|
iamok_duration | int64 | продолжительность периода i am ok seconds |
|
last_update | int64 | время последнего обновления статуса в utc seconds |
|
skllzz_day_limit | double | дневной лимит skllzz |
|
iamok_uuid | string | идентификатор цикла i am ok (используется в транзакциях) |
|
sync_millis | int64 | время последнего обновления статуса в utc seconds |
|
prev_iamok_uuid | string | идентификатор прошлого цикла i am ok |
|
version | int32 | версия структуры данных |
|
artifacts | ProfileProgress.ArtifactsEntry | repeated | примененные артефакты |
Field | Type | Label | Description |
key | string |
|
|
value | ActiveArtifact |
|
Одна запись в ленте
Field | Type | Label | Description |
id | string | идентификатор записи |
|
sync_millis | int64 | время в миллисекундах для синхронизации |
|
stamp_millis | int64 | календарное время события |
|
friend_id | string | идентификатор друга (его профиля) или клуба |
|
transaction | TransactionDetails |
|
|
training | TrainingSession |
|
|
event | ClubEvent |
|
|
deleted | bool |
|
Field | Type | Label | Description |
id | string |
|
|
join_millis | int64 |
|
|
sync_millis | int64 |
|
|
active | bool |
|
Field | Type | Label | Description |
bonus | double | Размер начисляемого бонуса |
Method Name | Request Type | Response Type | Description |
ApplyInvite | Link | InviteResult | фиксирует в текущем профиле информацию о приглашении от пользователя и возвращает размер бонуса в случае выполнения условий |
GetInviteLinkInfo | Link | Profile | Получает сведения о профиле по данным ссылки приглашения |
MonitorFriends | Friend | Friend stream | Получить список друзей с изменениями позже чем sync_millis и ждать изменений если в заголовке отсутствует NOWAIT |
MonitorFriend | Friend | Profile stream | Получить данные о друге с изменениями позже чем sync_millis и ждать изменений если в заголовке отсутствует NOWAIT |
RemoveFriend | Friend | Friend | Удаляет из списка друзей заданного и делает тоже самое у друга в отношении себя самого |
CallSupport | Link | Link | Обратиться в саппорт (генерирует сообщение в чат кеши от имени клиента) по сути ничего не возвращает но в дальнейшем может возвращать ссылку для редиректа |
MonitorFeed | FeedRecord | FeedRecord stream | Получить данные о ленте изменений друзей позже чем sync_millis и ждать изменений если в заголовке отсутствует NOWAIT |
PostInvites | Invites | Empty | Отправить приглашения пользователям (в колокольчик) |
Method Name | Request Type | Response Type | Description |
Replenish | ReplenishFundRecord | ReplenishFundRecord | Сделать вклад в фонд |
Subscribe | FundSubscription | FundSubscription | Подписаться/отписаться на фонд |
Field | Type | Label | Description |
domain | AppLink.Domain | домен |
|
target | string | целевой url |
|
title | string | заголовок для предпросмотра |
|
description | string | описание для предпросмотра |
|
photo | string | картинка для предпросмотра |
|
utm_compaign | string | рекламная кампания |
|
utm_source | string | источник кампании |
|
utm_medium | string | идентификатар траффика кампании |
|
utm_content | string | идентификатар кампании |
|
utm_term | string | ключевое слово кампании |
|
utm_club | string | код клуба в котором создана ссылка |
Field | Type | Label | Description |
url | string | сокращенный url |
Name | Number | Description |
auto | 0 | автоматический выбор |
application | 1 | ссылка для обработки в приложении |
external | 2 | внешняя ссылка |
Method Name | Request Type | Response Type | Description |
Compact | AppLink | ShortLink | сокращение ссылки |
Expand | ShortLink | AppLink | развертывание ссылки |
Method Name | Request Type | Response Type | Description |
PreAuth | TransactionDetails | TransactionDetails | Предавторизация транзакции (возвращается ее статус с учетом того что возможно это уже ранее завершенная транзакция) |
Cancel | TransactionDetails | TransactionDetails | Отмена предавторизации. Отменяются только не завершенные операции |
Confirm | TransactionDetails | TransactionDetails | Окончательное подтверждение. Повторные подтверждения не вызывают ошибок но и не списывают ничего |
Method Name | Request Type | Response Type | Description |
Create | Rules | LeaderboardRole | Создание соревнования |
UpdateDesign | LeaderboardDesign | LeaderboardDesign | Изменение оформления существующего соревнования |
Join | LeaderboardRole | LeaderboardRole | Присоединиться соревнованию |
Leave | LeaderboardRole | LeaderboardRole | Выйти из соревнования |
MonitorRoles | LeaderboardRole | LeaderboardRole stream | Мониторинг списка отношений к которым принадлежит клиента (отдается список старше чем LeaderboardRelation.sync_millis) |
MonitorRank | LeaderboardRole | LeaderboardRank stream | Мониторинг позиции участников в конкретном лидерборде (отдается список с изменениями старше чем Leaderboard.sync_millis) |
Claim | LeaderboardMemberClaim | LeaderboardMemberClaim | Пожаловаться на участника лидерборда (при превышении порога жалоб более 50% от участников произойдет автоматическая дисквалификация) |
RequestFriendship | LeaderboardMember | Empty | Запросить дружбу у участника соревнования |
MonitorMemberProfile | LeaderboardMember | Profile stream | Получить и мониторить профиль участника соревнования |
MonitorMemberActivity | LeaderboardMemberActivity | TrainingSession stream | Получить всю активность по участнику соревнования позже чем sync_millis и ждать изменений если в заголовке отсутствует NOWAIT |
GetActivityDetails | LeaderboardMemberActivity | ActivityDetails | Получает детали по шагам или пульсу конкретной тренировки |
Field | Type | Label | Description |
code | string | direct code response |
|
string | via email response |
||
push | string | via push response |
Field | Type | Label | Description |
code | string |
|
|
verifier | string |
|
|
authorization | string |
|
|
device_id | string |
|
|
client_id | string |
|
|
client_secret | string |
|
|
redirect_uri | string |
|
Field | Type | Label | Description |
id | string |
|
|
code_challenge | string |
|
|
device_id | string |
|
|
lang | string | repeated |
|
external_token | ExternalToken |
|
|
local_credentials | LocalCredentials |
|
Field | Type | Label | Description |
jwt | string |
|
Field | Type | Label | Description |
string |
|
Данные по правам для клиента OIDC
Field | Type | Label | Description |
id | string | идентификатор OIDC |
|
name | string | Имя клиента OIDC |
|
logo_url | string | Логотип |
|
policy_url | string | ссылка на документ по политике конфиденциальности |
|
scope | string | repeated | предоставленные скопы |
contacts | string | repeated | контакты для связи (поддержка) |
stamp_seconds | int64 | время создания гранта в unix epoch seconds |
|
client_id | string | идентификатор клиента (lk, elari и т.д.) OIDC |
|
device_id | string | идентификатор устройства |
Данные по сессии
Field | Type | Label | Description |
id | string | идентификатор OIDC сессии |
|
url | string | опциональный url для перехода |
|
package | string | опциональное имя android пакета |
|
digest | string | repeated | валидные подписи пакета |
список прав
Field | Type | Label | Description |
list | TokenPermission | repeated |
|
Field | Type | Label | Description |
id | string |
|
|
id_token | string |
|
|
access_token | string |
|
|
refresh_token | string |
|
|
expire_epoch_seconds | int64 |
|
Method Name | Request Type | Response Type | Description |
GetRequestInfo | OIDCSession | OIDCGrant | |
Revoke | OIDCGrant | OIDCGrant | |
GrantRequestSession | OIDCSession | OIDCSession | |
AppAuth | AuthRequest | AppAuthResult | |
ExchangeCode | AuthCode | UserToken | |
RefreshToken | UserToken | UserToken |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
|
profile_id | string | идентификатор профиля |
Field | Type | Label | Description |
sync_seq_no | int64 | последний известный порядковый элемента |
Field | Type | Label | Description |
req_type | UpstreamRequest.Type | тип запроса |
|
object_id | string | идентификатор элемента, если приемлемо |
|
profile_id | string | идентификатор профиля, если приемлемо |
|
payload | bytes | сериализация данных в зависимости от req_type |
Name | Number | Description |
unknown | 0 | |
motivation_texts | 1 | мотивационные тексты (замена remote config) |
Name | Number | Description |
unknown | 0 | |
transaction_info | 1 | информация о транзакции TransactionDetails |
training_info | 2 | информация о физической активности TrainingSession |
client_feedback | 3 | информация о реакции на активность EventFeedback |
profile_info | 4 | информация о профиле Profile |
profile_progress | 5 | информация о достижениях профиля Achievements |
Name | Number | Description |
unknown | 0 | |
profile_info | 1 | информация о профиле Profile |
club_membership | 2 | информация о членстве в клубе JoinRequest |
friend | 3 | друг Friend |
notification | 4 | нотификации для колокольчика NotificationEvent |
profile_progress | 5 | информация о прогрессе профиля Achievements |
transaction_info | 6 | информация о транзакции TransactionDetails |
challenge_role | 7 | информация о роли в соревновании LeaderboardRole |
profile_stats | 8 | статистика профиля ProfileStats |
user_device_id | 9 | информация об устройствах пользователя UserDeviceId |
approve_request | 10 | информация о запросах на вступление в клуб ApproveRequest |
artifact_shelf | 11 | полка с артефактами Shelf |
oidc_grant | 12 | Внешние OIDC клиента/приложения с доступом к данным профиля OIDCGrant |
fund_subscription | 13 | Подписка на фонд FundSubscription |
document_agreement | 14 | согласие ProfileAgreement |
Name | Number | Description |
unknown | 0 | |
profile_update | 1 | обновление профиля Profile |
client_feedback | 2 | реакция на активность EventFeedback |
read_notification | 3 | реакция на прочтение события |
training_info | 4 | информация о физической активности TrainingSession |
user_device_id | 5 | информация об устройстве UserDeviceId |
update_training_design | 6 | обновление данных о тренировке TrainingDesign |
analytics_event | 7 | событие аналитики AnalyticsEvent |
profile_extension | 8 | данные профиле в контексте клуба (код клуба в object_id) |
сервис обмена данными разных уровней (везде учитывается NOWAIT)
Method Name | Request Type | Response Type | Description |
MonitorProfile | ProfileSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте основного профиля приложения (профиль, соревнования, клубы, друзья и пр) |
MonitorProfileFeed | FeedSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте профиля приложения (тренировки, транзакции, реакции) |
MonitorApplication | AppSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте приложения (замена remote config) |
MonitorClub | ClubSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте данных о конкретном клубе (расписание,тренеры, услуги, новости и т.д) |
MonitorClubClient | ClientSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте данных конкретного клиента в клубе (контракты, запись на занятия, персональные сообщения) |
MonitorChallenge | ChallengeSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте данных соревнования |
MonitorFund | FundSyncRequest | JournalItem stream | мониторинг журнала изменений в контексте данных сбора средств |
MonitorFundChanges | FundChangesRequest | JournalItem stream | мониторинг журнала истории изменений по фонду с точки зрения профиля (история пополнений, например) |
MonitorChallengeMember | ChallengeMemberSyncRequest | JournalItem stream | мониторинг журнала изменений активности участника в соревновании |
Playback | UpstreamRequest | JournalItem | Применяет элемент журнала действий со стороны мобильного приложения и возвращает JournalItem который клиент получит по стандартному каналу синхронизации журнала |
реакция на событие физической активности
Field | Type | Label | Description |
id | string | идентификатор активности |
|
emotions | Reaction.Emotion | repeated | список реакций |
Field | Type | Label | Description |
club_id | string |
|
Field | Type | Label | Description |
id | string | уникальный идентификатор сессии |
|
reactions | Reaction | repeated | набор реакций тип реакции для аналитики (шаги, тренировка, событие в ленте, новость от клуба) |
Чек по операции
Field | Type | Label | Description |
link | string | ссылка на онлайн чек |
Field | Type | Label | Description |
link | string | сама ссылка приглашение |
|
type | InviteRequest.Type | подсказка по типу приглашения |
Field | Type | Label | Description |
title | string | опционально заголовок для отображения в приглашении |
|
description | string | опционально развернутое описание связанное с приглашением |
|
icon_url | string | опционально адрес иконки/картинки связанный с приглашением |
|
invite_request | InviteRequest | описание приглашения |
|
friend_ids | string | repeated | список идентификаторов друзей |
произвольное действие с переходом по ссылке
Field | Type | Label | Description |
pos_id | string | идентификатор точки продаж |
|
pos_name | string | идентификатор точки продаж |
|
logo | string | логотип точки продаж |
|
club_id | string | идентификатор клуба |
|
category | PosCategory | категория товара |
Объект нотификаций для колокольчика
Field | Type | Label | Description |
id | string | идентификатор события |
|
club_id | string | код клуба отправителя |
|
profile_id | string | id профиля отправителя |
|
seen | bool | метка о прочтении |
|
epoch_seconds | int64 | время нотификации |
|
activity_reaction | ActivityReaction |
|
|
invite_request | InviteRequest |
|
|
fiscal_operation | FiscalOperation |
|
|
url_action | UrlAction |
|
|
market_item | MarketItem |
|
|
replenish_fund | ReplenishFundRecord |
|
|
title | string | опционально заголовок для отображения в приглашении |
|
description | string | опционально развернутое описание связанное с приглашением |
|
icon_url | string | опционально адрес иконки/картинки связанный с приглашением |
Field | Type | Label | Description |
emotion | Reaction.Emotion | эмоция |
|
count | int32 | количество |
|
details | Reaction.Analytics |
|
Field | Type | Label | Description |
activity | TrainingSession.Type | физическая активность |
|
artifact | Artifact.Type | использование артефакта |
|
club_post | ClubPost | сообщение от клуба |
|
transaction | TransactionDetails.Type | транзакция |
произвольное действие с переходом по ссылке
Field | Type | Label | Description |
link | string | ссылка для перехода |
Name | Number | Description |
other | 0 | |
friend | 1 | |
competition | 2 | |
community | 3 | |
fund | 4 |
Name | Number | Description |
unknown | 0 | неизвестная реакция |
applause | 1 | |
love | 2 | |
wow | 3 | |
fire | 4 | |
tada | 5 |
блок данных видео
Field | Type | Label | Description |
video_stream_id | string | идентификатор видео |
|
position | int64 | позиция порции данных |
|
blob | bytes | содержимое порции данных потока |
Field | Type | Label | Description |
id | string | идентификатор потока |
|
duration_seconds | int32 | продолжительность видео |
|
stage | VideoStreamInfo.Stage | стадия обработки видео |
|
progress | float | прогресс текущей стадии в процентах (от 0 до 100) |
|
size | int64 | размер файла текущей стадии |
|
url | string | адрес доступа к ресурсу (применимо к стадии ready) |
|
creator_uid | string | id профиля создавшего видео |
|
folder_id | string | идентификатор оригинальной папка владельца |
Name | Number | Description |
unknown | 0 | |
uploading | 1 | |
queued | 2 | |
preparing | 3 | |
ready | 4 | |
error | 5 |
сервис загрузки видео
Method Name | Request Type | Response Type | Description |
UploadVideoStreamChunk | VideoStreamChunk | Empty | Загрузка видео |
Field | Type | Label | Description |
url | string | адрес итогового ресурса или пустота если не получилось |
блок данных картинки
Field | Type | Label | Description |
blob | bytes | содержимое картинки (в формате jpg, png и т.д) |
сервис загрузки ассетов (картинок)
Method Name | Request Type | Response Type | Description |
UploadImage | ImageData stream | DataUrl | Загрузка картинок |
Field | Type | Label | Description |
data | string | найденые цифры |
Field | Type | Label | Description |
data | bytes | данные jpg/png |
Сервис распознавания образов
Method Name | Request Type | Response Type | Description |
RecognizeDigits | Image | Digits |
Шкафчик/ячейка
Field | Type | Label | Description |
id | string | идентификатор ячейки или аренды, в зависимости от контекста |
|
name | string | название/ячейки (номер) |
|
state | Locker.State | состояние |
|
is_rent_free | bool | признак доступности для аренды |
|
rent_interval | Int64Range | интервал аренды в epoch seconds |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
relative_id | string | идентификатор родственника |
|
zone_id | string | идентификатор зоны |
|
locker_id | string | идентификатор ячейки |
Описание зоны ячеек
Field | Type | Label | Description |
id | string | идентификатор |
|
name | string | название зоны |
|
descriptions | string | описание зоны |
|
lockers | Locker | repeated | опциональные данные по ячейки в зоне (могут отсутствовать на некоторых уровнях синхронизации) |
Name | Number | Description |
undefined | 0 | |
locked | 1 | |
unlocked | 2 |
структура для запроса данных в режиме online
Field | Type | Label | Description |
club_id | string | идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
|
club_relative_id | string | relative club client id (or empty for self) |
|
online_data_type | ClientOnlineDataRequest.Type | тип запрашиваемых данных |
|
object_id | string | опциональный идентификатор запрашиваемого объекта |
ответ с данными в режиме online
Field | Type | Label | Description |
stamp_millis | int64 | epoch millis время актуализации данных |
|
ttl_millis | int64 | epoch millis время до которого объект имеет смысл |
|
data | bytes | содержимое объекта в соответствии с запрашиваемым типом |
Field | Type | Label | Description |
club_id | string | идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
|
sync_seq_no | int64 | последний известный порядковый элемента |
|
club_relative_id | string | relative club client id (or empty for self) |
|
active_client_id | string | текущий клиент в приложении (для оптимизации запросов синхронизации) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
|
sync_seq_no | int64 | последний известный порядковый элемента |
Field | Type | Label | Description |
club | ClubInfo |
|
|
client | ClientInfo |
|
Name | Number | Description |
dynamic_qr | 0 | Данные о динамическом QR коде ClientStaticQr |
Name | Number | Description |
unknown | 0 | |
client_info | 1 | информация о клиенте ClientInfo |
services | 2 | информация о сервисах клиента ServiceInfo |
appointments | 3 | информация о записях клиента на занятия Appointment |
debts | 4 | долги клиента DebtInfo |
offers | 5 | информация о доступных клиенту услугах OfferInfo |
visits | 6 | информация о посещениях клуба |
personal_event | 7 | персональное событие/новость ClubEvent |
club_poll | 8 | информация об опросе по клубу ClubPoll |
cache_flow | 9 | информация о движении средств по счетам CashFlow |
locker_zone | 10 | информация по текущим зонам с арендой ячеек LockerZone |
profile_extension | 11 | Данные о профиле в контексте клуба ProfileExtension |
Name | Number | Description |
unknown | 0 | |
club_info | 1 | информация о клубе ClubInfo |
appointment | 2 | элемент расписания Appointment |
trainer | 3 | данные о тренере |
price | 4 | данные об услугах клуба OfferInfo |
event | 5 | событие/новости ClubEvent |
appointment_slot | 6 | возможность записи к тренеру, элемент расписания Appointment |
pos_info | 7 | точки продаж клуба PosDetails |
roi_info | 8 | регионы интереса RoiDetails |
club_load | 9 | загрузка клуба ClubLoad |
challenge_info | 10 | информация о соревновании в клубе Challenge |
room | 11 | Данные о помещениях (для бронирования) |
room_free_slot | 12 | Данные о свободных слотах при бронировании помещений RoomFreeSlot |
locker_zone | 13 | Данные о свободных зонах и ячейках LockerZone |
challenge_template | 14 | Шаблон соревнования ChallengeTemplate |
fund_info | 15 | Данные о сборе средств Fund |
cities_info | 16 | Данные со списком городов |
dictionary_values | 17 | значения справочника |
основной клиентский сервис для синхронизации мобильного приложения с блоком клубной интеграции
Method Name | Request Type | Response Type | Description |
MonitorClubs | ClubInfo | ClubInfo stream | мониторинг принадлежности клиента клубам (учитывается NOWAIT). возвращается только поля id,sync_seq_no и deleted |
MonitorClub | ClubSyncRequest | JournalItem stream | мониторинг журнала изменений общих данных по клубу (расписание и т.д JournalItem.type из ClubSyncRequest.Type ) (учитывается NOWAIT) |
MonitorClient | ClientSyncRequest | JournalItem stream | мониторинг журнала изменений по клиенту (профиль, контракты, запись на занятия и т.д из ClintSyncRequest.Type ) (учитывается NOWAIT) |
JoinClub | JoinRequest | JoinResponse | подключение к клубу по коду клуба и номеру телефона клиента |
LeaveClub | LeaveRequest | LeaveRequest | отключение от клуба по коду клуба |
GetClubInfo | ClubInfo | ClubInfo | Запрашиваем информацию по клубу с кодом ClubInfo.id |
AcceptAgreements | AgreementList | AgreementList | Предоставить согласие с указанными документами |
RevokeAgreement | ProfileAgreement | ProfileAgreement | Отозвать согласие с указанным документом |
ClientOnlineData | ClientOnlineDataRequest | ClientOnlineDataResponse stream | Получение данных реального времени |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
service_id | string | repeated | идентификаторы услуги |
trainer_id | string | идентификатор тренера/сотрудника выбранного для услуги |
|
account_id | string | repeated | список счетов с которых попробовать списать задолженность (в случае пустоты бэк выберет сам) |
appointment_id | string | опционально идентификатор занятия для которого приобретается услуга (будет автоматически произведена запись на него) |
|
price_type_id | string | опционально тип цены за которую приобретается услуга |
|
club_relative_id | string | relative club client id (or empty for self) |
|
allowed_account_id | string | repeated | список идентификаторов счетов с которых можно списывать (если пусто то со всех) |
contract_id | string | идентификатор контракта выбранного для услуги, если она его требует (см Offer.contract_specific) |
|
promo_code | string | клиент указал промокод ля покупки |
|
certificate | string | клиент предоставил сертификат для покупки |
|
room_reserve | ClubRoomReservation | опционально данные о бронировании помещения после успешно оплаты |
|
service_count | BuyRequest.ServiceCountEntry | repeated | опциональное количество покупаемых услуг по их ид |
Field | Type | Label | Description |
key | string |
|
|
value | double |
|
Field | Type | Label | Description |
id | string | uid идентификатор пополнения (опциональный, если не задан бэк его назначит самостоятельно) |
|
club_id | string | идентификатор клуба |
|
account_id | string | идентификатор пополняемого счета |
|
amount | float | сумма пополнения |
|
description | string | описание пополнения |
|
club_relative_id | string | relative club client id (or empty for self) |
Field | Type | Label | Description |
id | string | uid идентификатор |
|
url | string | url для перехода |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
appointment_id | string | идентификатор мероприятия (занятия) |
|
club_relative_id | string | relative club client id (or empty for self) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
contract_id | string | идентификатор контракта |
|
days | int32 | число дней заморозки |
|
freeze_id | string | опциональный идентификатор самой заморозки |
|
club_relative_id | string | relative club client id (or empty for self) |
|
first_epoch_day | int32 | epoch day (номер дня с полуночи (00:00:00) 1 января 1970 года) с которого начнется заморозка, если 0 то с ближайшего возможного |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
device_id | string | идентификатор устройства |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
debt_id | string | repeated | идентификаторы задолженности |
account_id | string | repeated | список счетов с которых попробовать списать задолженность (в случае пустоты бэк выберет сам) |
club_relative_id | string | relative club client id (or empty for self) |
данные об опросе клиента внутри клуба
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
state | ClubPoll.State | данные по опросу |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
online_category | OnlineClass.Category | категория видео |
|
name | string | название видео |
клиентский сервис для синхронного взаимодействия с клубом
Method Name | Request Type | Response Type | Description |
ReserveAppointment | ClubAppointment | ClubAppointment | Резервирование мероприятия (запись на тренировку) |
CancelAppointment | ClubAppointment | ClubAppointment | Отмена резерва мероприятия (запись на тренировку) |
FreezeContract | ContractFreezeRequest | ContractFreezeRequest | Заморозка контракта |
UnfreezeContract | ContractFreezeRequest | ContractFreezeRequest | Отмена заморозки контракта |
PayDebt | PayRequest | PayRequest | Оплата задолженности с лицевого счета клиента |
BuyService | BuyRequest | BuyRequest | Покупка услуги |
ChargeAccountWeb | ChargeRequest | ChargeResponse | Пополнение счета через веб страницу |
UpdatePoll | UpdatePollRequest | ClubPoll.State | Обновление данных по опросу |
ReportViewVideo | VideoItem | VideoItem stream | Учет просмотра видео (метод висит в пока клиент смотрит видео) |
AssignPassDevice | DeviceId | DeviceId | Регистрация пользовательского устройства как источника QR |
ReserveRoom | ClubRoomReservation | ClubRoomReservation | Резервирование помещений |
LockReserve | LockerId | LockerId | Резервирование ячеек в зоне |
LockRelease | LockerId | LockerId | Освобождение ячейки |
LockOpen | LockerId | LockerId | Запросить открыть замок ячейки |
Field | Type | Label | Description |
url | string | адрес итогового ресурса или пустота если не получилось |
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
|
blob | bytes | содержимое картинки (в формате jpg, png и т.д) |
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
|
url | string | адрес ресурса для кеширования (адоптации) |
Field | Type | Label | Description |
name | string | название клуба |
|
timezone | string | временная зона клуба |
|
logo_url | string | логотип клуба |
|
address | string | фактический адрес клуба |
|
work_time | string | время работы |
|
header_url | string | картинка заголовка клуба |
|
analytics_url | string | адрес страницы с аналитикой |
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
|
id | string | опциональный идентификатор (если его не использовать, то он будет сгенерирован) в противном случае это позволяет исправить ранее отправленное сообщение с данным идентификатором |
|
phones | string | repeated | список телефонов получателей сообщения (если пустой, то глобально для всех клиентов клуба) |
when | google.protobuf.Timestamp | опционально запланированное время публикации события, если не указано то прямо сейчас |
|
ttl | google.protobuf.Timestamp | опционально время жизни события, если указано то после заданного времени событие пропадет из видимых на стороне клиента |
|
is_main | bool | признак главной новости/события |
|
title | string | заголовок новости/события |
|
text | string | основной текст новости/события |
|
header_url | string | опционально url картинки для фона к новости/событию |
|
logo_url | string | опционально url картинки тематического лого к новости/событию |
|
action_url | string | опционально url для перехода во внешний ресурс по клику на событие/новость |
|
with_push | bool | признак необходимости сопроводить данную новость пушем в приложении |
|
static_content | StaticContent | опциоональная настройка отображения главной новости на главной странице |
|
template | bool | поля содержат шаблон |
Field | Type | Label | Description |
id | string | идентификатор опубликованной новости |
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
|
id | string | идентификатор опубликованной новости |
интеграционный сервис для информирования клиентов о событиях клуба
Method Name | Request Type | Response Type | Description |
Post | EventEntity | PostResult | Размещение новости клуба |
Format | EventEntity | EventEntity | Возвращает переформатированое событие с учетом тегов внутри текста сообщения допустимые теги: #title - переопределяет EventEntity.title #picture или #image - переопределяет EventEntity.header_url #logo - переопределяет EventEntity.logo_url #action - переопределяет EventEntity.action_url #main - переопределяет EventEntity.is_main #push - переопределяет EventEntity.with_push #ttl - переопределяет EventEntity.ttl. Либо число дней либо строка точной даты вида 2006-01-02 15:04 |
UnPost | PostedEntity | EventEntity | Отзыв или снятие новости с публикации, если она уже была опубликована Возвращает исходные данные по публикации |
AdaptAsset | AssetUrl | AdoptedAsset | Адаптация ресурса (картинки) для размещения в новости |
UploadAsset | AssetData | AdoptedAsset | Загрузка ресурса (картинки) для размещения в новости |
Retrieve | EventEntity | EventEntity | Возможность получение данных о ранее отправленной новости по ее id |
List | EventEntity | EventEntity stream | Список 100 ранее отправленных новостей |
ClubInfo | ClubInfoRequest | ClubDetails | Данные о клубе |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
slot_id | string | идентификатор тайм слота помещения (RoomFreeSlot.id) |
|
club_relative_id | string | relative club client id (or empty for self) |
|
required_minutes | IntRange | запрашиваемый диапазон минут от начала дня |
|
comments | string | комментарий к резерву |
|
resource_id | string | repeated | запрашиваемые идентификаторы ресурсов к аренде |
помещение
Field | Type | Label | Description |
id | string | идентификатор помещения |
|
title | string | название помещения |
|
description | string | Описание помещения |
|
header_url | string | картинка помещения |
|
category_name | string | название категории помещения |
|
category_id | string | идентификатор категории помещения |
|
tags | Room.TagsEntry | repeated | кастомные метки |
order | int32 | порядок вывода |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Слот
Field | Type | Label | Description |
id | string | идентификатор слота |
|
room_id | string | идентификатор помещения |
|
rent_quant_minutes | int32 | Deprecated. минимальный интервал тарификации в минутах (0 не задан, можно считать равным 1) |
|
day | int64 | эпоходень |
|
free_minutes | IntRange | repeated | Deprecated. интервалы свободного времени в минутах относительно начала дня см free_slots |
available_interval_minutes | IntRange | Время внутри дня в котором распределяются слоты, |
|
service_id | string | идентификатор сервиса (опционально) |
|
service_name | string | идентификатор сервиса (опционально) |
|
free_slots | TimeSlot | repeated | расширенная информация по свободным слотам |
cost | float | цена полного интервала (опционально) |
|
services | RoomSlotService | repeated | дополнительные сервисы связанные с этой арендой |
Name | Option |
rent_quant_minutes | true |
free_minutes | true |
Field | Type | Label | Description |
id | string | Идентификатор ресурса |
|
title | string | Название ресурса |
|
photo_url | string | опциональная фотка ресурса |
|
is_busy | bool | опциональный признак занятости ресурса |
Field | Type | Label | Description |
resource | RoomResource | repeated | список ресурсов |
Field | Type | Label | Description |
service_id | string | идентификатор сервиса |
|
service_name | string | название сервиса |
Слот
Field | Type | Label | Description |
minutes | IntRange | интервалы свободного времени в минутах относительно начала дня |
|
cost | float | цена полного интервала (опционально) |
|
atomic | bool | если true то можно купить только целиком за полную стоимость |
|
rent_quant_minutes | int32 | минимальный интервал тарификации в минутах (0 не задан, можно считать равным 1) |
Field | Type | Label | Description |
notification_id | string | уникальный идентификатор запроса (uuid v4 генерируется на отправляемой стороне и должен быть уникальным для каждого запроса, повторный вызов метода с тем же uid будет игнорирован без сообщений об ошибке) |
|
notification_reason | AAChangeDetails.NotificationReason | причина нотификации |
|
club_id | string | идентификатор клуба |
|
person_id | string | опциональный идентификатор клиента |
|
custom_data | AAChangeDetails.CustomDataEntry | repeated | любые произвольные данные |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
id | string | уникальный идентификатор запроса (uuid v4 генерируется на отправляемой стороне и должен быть уникальным для каждого запроса, повторный вызов метода с тем же uid будет игнорирован без сообщений об ошибке) |
|
sender_id | string | идентификатор отправителя (в зависимости от CRM) |
|
club | ChangeDetails.Club | изменение данных контекста клуба |
|
client | ChangeDetails.Client | изменение данных контекста клиента |
|
signature | string | опциональная подпись запроса Sha256Sum(id+":"+sender_id+":"+SharedSecret) |
Field | Type | Label | Description |
hint | ChangeDetails.Client.Hint | уточнение какие данные требуется обновить |
|
client_id | string | идентификатор клиента в клубном ПО |
|
object_id | string | repeated | опциональные идентификаторы изменяемых объектов (зависит от Hint, если Appointments или WaitList то это appointment_id и т.д.) |
Field | Type | Label | Description |
hint | ChangeDetails.Club.Hint | уточнение какие данные требуется обновить |
Name | Number | Description |
Unknown | 0 | не известный тип уведомления |
ServicePriceListChanged | 1 | изменение в прейскуранте услуг |
ContractPriceListChanged | 2 | изменение в прейскуранте контрактов |
GroupLessonsScheduleChanged | 3 | изменение в расписании групповых занятий |
FacilityStateChanged | 4 | изменение в статуса клуба |
ServiceCategoryChanged | 5 | Изменение классификатора услуг |
RoomDescriptionChanged | 6 | Изменение описания помещений |
LessonDescriptionChanged | 7 | Изменение описания типов занятий |
ProfessionalDataChanged | 8 | Изменение тренерского состава |
PersonContractsChanged | 9 | Изменение контракта клиента |
PersonVisitsChanged | 10 | изменились данные по визитам клиента |
PersonBlocksChanged | 20 | изменились данные по услугам клиента |
ProfessionalTimeTableChanged | 21 | Обновлено расписание профессионалов 6.10 |
PersonAccountsChanged | 22 | Обновлено описания лицевых счетов персоны 3.1 |
PersonUnpaidSalesChanged | 23 | Обновлено описание неоплаченных услуг персоны 4.8 |
Common | 1000 | общее уведомление,будут обновлены все возможные данные контекста клуба |
подсказка о том какой блок данных был затронут изменениями, и что требуется обновить на стороне "МойФитнес"
используется для дополнительной минимизации API вызовов.
Name | Number | Description |
Unknown | 0 | не известный тип подсказки |
Appointments | 1 | персональные занятия |
WaitList | 2 | изменения в листе ожидания |
Services | 3 | перечень доступных услуг, данные о контракте |
Debts | 4 | долги |
Visits | 5 | визиты |
Accounting | 6 | любые изменения в движении денежных средств клиента, включая изменения любых лицевых счетов |
Rent | 7 | изменения в объектах аренда (помещения, корты и пр) |
Locker | 8 | изменения в объектах ячейки/шкафчика |
All | 1000 | будут обновлены все возможные данные контекста клиента |
подсказка о том какой блок данных был затронут изменениями, и что требуется обновить на стороне "МойФитнес"
используется для дополнительной минимизации API вызовов.
Name | Number | Description |
Unknown | 0 | не известный тип подсказки |
Appointments | 1 | расписание и групповые занятия |
TimeSlots | 2 | таймслоты для записи на индивидуальные занятия |
Trainers | 3 | тренерский состав |
Price | 4 | прайс лист, услуги |
Lockers | 5 | общая нотификация об изменении в ячеках |
All | 1000 | будут обновлены все возможные данные контекста клуба |
сервис для нотификации изменений в данных клубного ПО.
Метод ничего не возвращает в случае успеха, ошибки возвращаются через стандартный механизм кодов ответа, с детализацией внутри ответа body
Method Name | Request Type | Response Type | Description |
NotifyChanges | ChangeDetails | AcceptResult | |
NotifyAAChanges | AAChangeDetails | AcceptResult | Метод нотификаций для AA |
Field | Type | Label | Description |
club | ClubInfo |
|
|
trainer | TrainerInfo |
|
основной тренерский сервис для синхронизации мобильного приложения с блоком клубной интеграции
Method Name | Request Type | Response Type | Description |
JoinClub | JoinRequest | MentorJoinResponse | подключение к клубу по коду клуба и номеру телефона клиента |
Событие или сообщение от клуба
Field | Type | Label | Description |
id | string | идентификатор сообщения |
|
title | string | заголовок |
|
text | string | текст сообщения |
|
main | bool | признак главной новости |
|
logo_url | string | маленькое лого к сообщению (опционально) |
|
header_url | string | основная картинка к сообщению (опционально) |
|
action_url | string | ссылка действие для перехода по клику на новость (опционально) |
|
stamp_epoch_seconds | int64 | дата и время новости для отображения в общем списке |
|
with_push | bool | отправлять пуш для этого сообщения |
|
ttl_stamp_epoch_seconds | int64 | дата и время истечения актуальности для новости (0 - без срока давности) |
|
club_id | string |
|
|
static_content | StaticContent | настройка отображения главной новости на главной странице |
|
template | bool | содержит шаблон |
подразделение
Field | Type | Label | Description |
id | string | идентификатор подразделения |
|
title | string | название подразделения |
должность
Field | Type | Label | Description |
id | string | идентификатор должности |
|
title | string | название должности |
данные по тренеру
Field | Type | Label | Description |
id | string | идентификатор |
|
name | string | полное имя тренера |
|
contact | string | repeated | доступные контакты |
photo_url | string | адрес фотографии |
|
position | Position | данные должности |
|
department | Department | данные основного подразделения (полный список в поле departments) |
|
sync_seq_no | int64 | порядковый номер изменения |
|
first_name | string | имя тренера |
|
last_name | string | фамилия тренера |
|
middle_name | string | отчество тренера |
|
description | string | описание тренера |
|
tags | TrainerInfo.TagsEntry | repeated | кастомные метки |
photo_align | ImageAlign | выравнивание фото |
|
departments | Department | repeated | список всех подраздалений к которым относится тренер |
deleted | bool |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
отдельно взятое занятие
Field | Type | Label | Description |
id | string | идентификатор занятия |
|
service | Service | предоставляемая услуга |
|
status | Appointment.Status | статус занятия |
|
stamp_seconds | int64 | время начала занятия в epoch seconds |
|
duration_seconds | int64 | продолжительность занятия в секундах |
|
group | Group | int64 sync_seq_no = 6; // порядковый номер изменения группа |
|
room | Room | помещение |
|
trainer | TrainerInfo | данные по тренеру |
|
class | Appointment.Class | тип занятия (персональное, групповое, бронирование) |
|
pre_reserve | bool | Deprecated. требует предварительной записи (используется reserve_action) |
|
cost | float | занятие за доп плату (0 если бесплатное) |
|
capacity | int32 | максимальное количество участников (0 не ограничено) |
|
free_slots | int32 | количество свободных мест в случае предварительной регистрации (-1 если не известно или не ограничено) |
|
reserve_id | string | идентификатор записи на занятие (пустой если клиент не записан) |
|
commercial | bool | признак платного урока |
|
online_class_url | string | url для трансляции занятия |
|
epoch_day | int32 | epoch day занятия |
|
epoch_day_day_seconds | int32 | старт занятия в секундах относительно начала дня |
|
online_class_category | OnlineClass.Category | категория онлайн занятия |
|
reserve_action | Appointment.ReserveAction | возможные действия по брони |
|
booking_window_seconds | Int64Range | время в epoch seconds начала и окончания возможности записи на занятие (если 0 то не задано) |
|
wait_list_message | string | сообщение клиенту в связи с ожиданием, например: Вы добавлены в лист ожидания. Ваш номер в очереди: 1 |
|
in_cities_id | string | id списка городов присутствия (если пусто то без ограничений) |
|
sort_priority | int32 | приоритет в сортировке, они же популярные занятия (0 - без приоритета) |
|
resource | RoomResource | repeated | Запрошенные ресурсы в случае бронирования |
deleted | bool | признак удаления |
|
version | int32 | версия структуры |
Name | Option |
pre_reserve | true |
Field | Type | Label | Description |
list | Appointment | repeated |
|
список всех мероприятий на день
Field | Type | Label | Description |
list | Appointment | repeated |
|
day | int64 | порядковый номер дня |
направление или группа занятий
Field | Type | Label | Description |
id | string | идентификатор группы |
|
title | string | название группы |
|
logo_url | string | лого для группы (не обязательно) |
|
header_logo_url | string | лого для группы (не обязательно) |
|
tags | string | repeated | список кастомных меток у предложений для этой группы |
parent_id | string | идентификатор родительского элемента в случае организации древовидной структуры |
Field | Type | Label | Description |
start | string |
|
|
category | OnlineClass.Category |
|
Field | Type | Label | Description |
restrictions | ScheduleRestrictions | repeated |
|
classes | OnlineClass | repeated |
|
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
|
from | google.protobuf.Timestamp | начальный интервал |
|
till | google.protobuf.Timestamp | конечный интервал |
Field | Type | Label | Description |
week_days | WeekDaysRestriction |
|
отдельно взятая услуга
Field | Type | Label | Description |
id | string | идентификатор услуги |
|
title | string | краткое название услуги |
|
description | string | описание услуги |
|
course | Group | группа услуг |
|
tags | Service.TagsEntry | repeated | кастомные метки |
kkal | IntRange | расход калорий |
|
for_age | IntRange | ограничение по возрасту |
|
difficulty | Service.Difficulty | уровень сложности |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
list | TrainerInfo | repeated |
|
Field | Type | Label | Description |
key | string | обязательный ключ для авторизации отправителя (единый на клуб) |
Field | Type | Label | Description |
day | WeekDaysRestriction.Day | repeated |
|
Name | Number | Description |
in_group | 0 | |
personal | 1 | |
booking | 2 |
Name | Number | Description |
none | 0 | никуда не записаны, никакие действия не доступны |
can_cancel_assign | 1 | записаны на занятие, можно выписаться |
can_assign | 2 | есть свободные места, может записаться |
can_add_wait | 3 | нет мест, может добавиться в лист ожидания |
can_cancel_wait | 4 | находится в листе ожидания и может из него удалиться |
can_confirm_wait | 5 | подошла очередь в листе ожидания и можно подтвердить или отменить запись |
no_free_slots | 6 | мест нет, никаких других действий не доступно |
Name | Number | Description |
active | 0 | |
canceled | 1 |
SHORT - короткие занятия до 20 минут
MEDIUM - обычные занятия менее 40 минут
LONG - долгие занятия более 40 минут
Name | Number | Description |
UNKNOWN | 0 | |
CARDIO_SHORT | 1020 | |
CARDIO_MEDIUM | 1040 | |
CARDIO_LONG | 1060 | |
STRETCH_SHORT | 2020 | |
STRETCH_MEDIUM | 2040 | |
STRETCH_LONG | 2060 | |
POWER_SHORT | 3020 | |
POWER_MEDIUM | 3040 | |
POWER_LONG | 3060 | |
DANCE_SHORT | 4020 | |
DANCE_MEDIUM | 4040 | |
DANCE_LONG | 4060 |
уровень сложности
Name | Number | Description |
unknown | 0 | не определен |
easy | 1 | простой |
medium | 2 | средний |
hard | 3 | сложный |
Name | Number | Description |
Sunday | 0 | |
Monday | 1 | |
Tuesday | 2 | |
Wednesday | 3 | |
Thursday | 4 | |
Friday | 5 | |
Saturday | 6 |
интеграционный сервис для получения информации о расписании клуба
Method Name | Request Type | Response Type | Description |
List | ScheduleRange | Appointments | запрос данных о расписании |
интеграционный сервис для получения информации о тренерах клуба
Method Name | Request Type | Response Type | Description |
List | TrainersRange | Trainers | запрос данных о тренерском составе |
Field | Type | Label | Description |
login | string | логин |
|
passwd | string | пароль |
|
club_id | string | код клуба |
Field | Type | Label | Description |
info | ClubInfo |
|
|
payment_method | PaymentMethod | repeated | Способы оплаты допустимые способы оплаты |
clubis | ClubisCredentials |
|
|
craft | CraftCredentials |
|
|
helix | HelixCredentials |
|
|
test | TestCredentials |
|
|
universe | UniverseCredentials |
|
|
corp | CorpRestrictions |
|
|
tng | TngCredentials |
|
|
aa | AACredentials |
|
|
telegram_care_chat_id | int64 | идентификатор чата службы заботы |
|
telegram_technical_chat_id | int64 | идентификатор чата технического канала |
|
report_api_error | bool | отправлять выявленные ошибки в работе API в бот (если задан технический то в него, иначе в канал заботы). |
|
api_concurrency | int32 | максимальное количество одновременных вызовов к api |
|
qr_settings | QrSettings | настройки отображения QR Кода |
|
enable_new_clients | bool | разрешить регистрацию новых клиентов (если клубное по это позволяет) |
|
ext_auth | RequireExtAuth | требования по наличию внешней авторизации |
|
messaging_api_key | string |
|
|
schedule_api_key | string |
|
|
notifications_api_key | string |
|
https://docs.google.com/spreadsheets/d/1xq7LRppcUcE20Ll1VDhUVb27Hqt-wWCli0Q-MWhjwDc/edit#gid=1249278733
Field | Type | Label | Description |
endpoint | string | адрес для REST |
|
user_id | string |
|
|
user_hash | string |
|
|
club_id | string |
|
|
default_client_id | string |
|
|
pre_entry_all_classes | bool | режим обязательной записи на все классы |
|
basic_login | string |
|
|
basic_passwd | string |
|
Field | Type | Label | Description |
phones | string | repeated |
|
https://docs.google.com/spreadsheets/d/1Bj2RHgTYwq1tCEeF8KdHBTir4y8apMxxPUReHr8c8nQ/edit#gid=0
Field | Type | Label | Description |
endpoint | string | адрес для REST |
|
basic_login | string |
|
|
basic_passwd | string |
|
|
club_id | string |
|
|
default_client_id | string |
|
https://fitness1cv3.docs.apiary.io/#reference/0/passtoken/0
Field | Type | Label | Description |
endpoint | string | адрес для REST |
|
basic_login | string |
|
|
basic_passwd | string |
|
|
shared_secret | string | общий ключ для метода авторизации приложения |
|
api_key | string | общий ключ апи |
|
club_id | string | идентификатор клуба |
|
photo_url_base_prefix | string | база для относительных адресов у картинок |
|
allow_client_from_other_club_id | bool | разрешать подключаться клиентам заведенных в других структурных единицах |
|
extend_description_with_limits | bool | добавлять в описание данные об ограничениях услуги |
|
extend_description_with_biography | bool | добавлять в описание тренера данные биографии |
|
extend_description_with_awards | bool | добавлять в описание тренера данные о наградах |
|
enable_personal_price | bool | запрашивать персональные прасы (синхронизация услуг на уровне клиента) |
настройки отображения QR Кода
Field | Type | Label | Description |
disabled | bool | запрет на вывод данных о qr коде в приложении |
|
shared_secret | string | общий ключ/секрет для режима JWT кодирования с подписью, если не задан то qr содержит код карты как есть |
|
qr_ttl_seconds | int32 | время жизни JWT qr кода в секундах, если 0 то по умолчанию 15 минут. |
|
single_device | bool | разрешить QR код только на одном устройстве клиента |
Field | Type | Label | Description |
Arg0 | string |
|
|
Arg1 | string |
|
https://docs.google.com/spreadsheets/d/132LdRnMdcrbvpZFaIMu17BdlH7U5AiqzWd10sAZFGio/edit#gid=0
Field | Type | Label | Description |
endpoint | string | адрес для REST |
https://fitness1cv3.docs.apiary.io/#reference/0/passtoken/0
Field | Type | Label | Description |
endpoint | string | адрес для REST |
|
basic_login | string |
|
|
basic_passwd | string |
|
|
api_key | string | логин для получения ключа сессии |
|
api_pass | string | пароль для получения ключа сессии |
|
sell_inactive_cards | bool | не активировать карты при продаже |
Field | Type | Label | Description |
id | string | идентификатор запроса |
|
club_client_id | string | идентификатор клиента на стороне клуба |
|
club_id | string | идентификатор клуба |
|
linked_phone | string | номер по которому клиент значится в клубе |
|
profile | Profile | профиль который увидит клуб в разделе запросов |
|
app_code | string | идентификатор приложения |
|
rejected | bool | признак отклоненного запросв |
|
reject_reason | string | причина отклонения запроса (может быть пустой) |
|
stamp_seconds | int64 | время создания запроса epoch seconds |
|
profile_extension | ProfileExtension | Расширенные данные по профилю |
|
deleted | bool | признак удаленного элемента |
|
seq_no | int64 | порядковый номер синхронизации (используется только в методах мониторинга) |
Field | Type | Label | Description |
photo_align | ImageAlign | выравнивание фото (сделано для того, чтобы изображение работало в разных соотношениях сторон) |
|
opacity | float | непрозрачность (число от [0; 1], где 1 - максимально полноцветное изображение, 0 - полностью прозрачное) |
|
aspect_ratio | float | соотношение сторон, например: 1/1, 16/9, 4/3 |
Field | Type | Label | Description |
id | string | идентификатор операции |
|
account_id | string | идентификатор счета по которому прошла операция |
|
account_name | string | название счета по которому прошла операция |
|
is_bonus_account | bool | признак того что операция прошла по бонусному счету |
|
type | CashFlow.Type | тип движения |
|
amount | float | сумма |
|
description | string | описание операции |
|
stamp_seconds | int64 | отметка времени в unix epoch seconds |
данные о депозитном счете клиента
Field | Type | Label | Description |
id | string | идентификатор счета |
|
name | string | Название счета |
|
amount | float | остаток на счете |
|
label | string | Краткое название счета в приложении |
|
is_bonus | bool | признак бонусного счета |
Field | Type | Label | Description |
card_number | string | значение кода |
|
update_stamp | int64 | epoch seconds время получения кода (0 - еще не получен) |
|
ttl_stamp | int64 | epoch seconds когда он истекает (0 - бессрочно) |
данные о клиенте на стороне клуба
Field | Type | Label | Description |
skllzz_id | string | идентификатор клиента в skllzz (profile_id) |
|
id | string | идентификатор клиента на стороне клуба |
|
club_id | string | идентификатор клуба |
|
first_name | string | имя клиента |
|
last_name | string | фамилия клиента |
|
middle_name | string | отчество клиента |
|
sex | Sex | пол клиента |
|
birth_date | int32 | epoch day (день с полуночи (00:00:00 UTC) 1 января 1970 года) |
|
deposit | ClientDeposit | repeated | счета клиента (депозитные, бонусный и т.д.) |
relatives | ClientRelative | repeated | родственники клиента |
club_phone_number | string | номер телефона клиента по данным клуба |
|
pass_id | ClientPassId | данные для авторизации на проходе в клуб |
членство в клубе
Field | Type | Label | Description |
frozen_left | int32 | Deprecated. количество оставшихся единиц заморозки для этой услуги. см. FreezingInfo |
|
guest_left | int32 | количество гостевых визитов оставшихся для этой услуги |
|
freezings | Freezing | repeated | Deprecated. предстоящие или действующие заморозки. см. FreezingInfo |
visits_left | int32 | остаток посещений |
|
limited_visits | bool | признак того что количество посещений ограничено (есть смысл выводить visits_left) |
Name | Option |
frozen_left | true |
freezings | true |
клиентский пакет услуг
Field | Type | Label | Description |
count | int32 | доступное количество |
данные для авторизации на проходе
Field | Type | Label | Description |
device_id | string | идентификатор разрешенного устройства, если пусто то любое, если "?" то требуется запросить связь через AssignPassDevice, в противном случае значение самого id устройства на котором разрешено показывать qr |
|
qr | string |
|
|
dynamic_qr | DynamicQr |
|
|
dynamic_api | bool | динамический код через api (сам код брать из контекста клиента клуба ClientStaticQr ) |
родственники клиента
Field | Type | Label | Description |
id | string | идентификатор родственника |
|
name | string | имя родственника |
контакт клуба
Field | Type | Label | Description |
label | string | метка |
|
url | string | url адрес для перехода |
|
action | ClubContact.Action | действие, подразумеваемое контактом - соц. сеть это или поддержка |
дополнительные документы клуба
Field | Type | Label | Description |
label | string | метка |
|
url | string | url адрес для перехода |
|
required_agreement | bool | выводить документ как обязательный для соглашения |
См подробнее https://docs.myfitt.ru/#/club/sync/notifications/
Field | Type | Label | Description |
sync_seq_no | int64 | порядковый номер изменения объекта |
|
id | string | общая информация идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
|
name | string | название клуба |
|
slogan | string | слоган клуба, короткая фраза |
|
timezone | string | временная зона клуба |
|
theme | ClubInfo.Theme | тема оформления клуба |
|
logo_url | string | логотип клуба |
|
header_url | string | фоновое изображение шапки клуба |
|
header_design | AreaDesign |
|
|
work_time | string | время работы |
|
address | string | фактический адрес клуба |
|
contacts | ClubContact | repeated | url контактов (телефон email и т.д) |
documents | ClubDocument | repeated | url документов (правила политики и тд) |
public_offer_url | string | Deprecated. ссылка на публичную оферту клуба (используйте ClubDocument documents с required_agreement = true) |
|
corp_mode | bool | режим корпоративного клиента |
|
freezing_days | IntRange | Информация по услугам диапазон минимальной и максимальной заморозки в днях |
|
promo_course | Group | repeated | группы для промо на экране услуг |
leagues | LeagueOffer | repeated | список сообществ клуба |
deposit_constraints | IntRange | минимальные и максимальные суммы пополнения (если не 0) |
|
static_content | StaticContent | repeated | Deprecated. статичный контент для размещения на странице клуба |
static_content_block | StaticContentBlock | repeated | статичный контент для размещения на странице клуба |
knowledge_link | string | ссылка на базу знаний (можно добавлять только с правом create_club_with_id) |
|
custom_layout_settings | CustomLayoutSettings | особые настройки внешнего вида страниц приложения |
|
active | bool | Пока скрыты признак активного клуба (разрешена синхронизация и пр) |
|
service_logo_url | ClubInfo.ServiceLogoUrlEntry | repeated | логотипы для сервисов (группы занятий в расписании) |
cource_logo_url | ClubInfo.CourceLogoUrlEntry | repeated | логотипы для направлений (группы занятий в расписании) |
contacts_plain | string | repeated | Deprecated. url контактов (телефон email и т.д) |
deposit_label | ClubInfo.DepositLabelEntry | repeated | краткие названия для депозитных счетов |
tag_logo_url | ClubInfo.TagLogoUrlEntry | repeated | логотипы для тегов |
grafana_analytics_url | string | код для доступа к аналитике в графане |
|
online_classes | OnlineStrategy | repeated |
|
member_limit | int32 | максимальное число клиентов клуба (0- не ограничено) |
|
enable_trainer_appointments | bool | разрешить персональные записи к тренерам |
|
aprox_client | int32 | примерное общее число клиентов клуба (для аналитики) |
|
club_load_info | ClubInfo.ClubLoadDisplayType | вариант отображения информации о загрузке клуба |
|
anonymous_polls | bool | режим анонимных опросов |
|
pay_variants | ClubInfo.PayVariantsEntry | repeated | варианты оплаты |
pay_selection | ClubInfo.PaySelectionEntry | repeated | выбор конкретного варианта оплаты по признаку организации |
join_approve_required | bool | требуется подтверждение модератора при присоединении к клубу (видимость всем, редактирование для edit_club_info) |
|
phone_number_optional | bool | при подключении к клубу номер телефона опционален |
|
profile_fill_required | bool | требуется заполнение анкеты профиля при подключении к клубу |
|
visit_bonus | float | размер бонуса за визит (<=0 не давать бонус, не более 35) |
|
appointment_reserve_minutes | IntRange | диапазон времени по умолчанию в минутах открытия записи на занятие (0-0 без ограничений) |
|
overlapped_limit_minutes | int32 | ограничивать запись на занятия которые перекрываются более чем на указанное число минут (0 - без ограничений) |
|
pay_time_constraints | IntRange | время в секундах относительно начала дня в таймзоне клуба в которое разрешается проводить оплату. Если значения равны или максимум больше минимума то ограничений нет. |
|
receipt_mode | ReceiptMode | режим создания чека |
|
always_pay | bool | всегда отправлять на оплату услуги или задолженности (не использовать остатки на счетах) |
|
email_domain | string | repeated | разрешенные домены почты для подключения к клубу |
profile_extension_fields | ProfileExtensionRequirements | repeated | требования по полям для заполнения пользователем при подключении к клубу |
deleted | bool | признак удаления |
Name | Option |
public_offer_url | true |
static_content | true |
contacts_plain | true |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | PaymentInfo |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
last_update_epoch_sec | int64 | время последнего обновления (0 если нет данных) |
|
last_load | int64 | значение последней загрузки клуба в момент обновления |
|
load_at_epoch_sec | ClubLoad.LoadAtEpochSecEntry | repeated | ретроспектива загрузки клуба во времени словарь из пар <время, загрузка> (остаток времени от деления на неделю) т.е. текущий понедельник всегда будет по дате первым понедельником с начала эпохи математика перевода этого время в текущее для построения графика простая (целочисленные операции) текущее время/604800*604800+время из пары |
Field | Type | Label | Description |
key | int64 |
|
|
value | int64 |
|
данные об опросе клиента внутри клуба
Field | Type | Label | Description |
next_time_seconds | int64 | время наступления следующего опроса |
|
state | ClubPoll.State | repeated | массив состояний опросов |
Field | Type | Label | Description |
value | int32 | оценка пользователя от 1 до 10 |
|
allow_feedback | bool | разрешить связаться со мной для обсуждения оценки |
|
stamp_seconds | int64 | время опроса |
Field | Type | Label | Description |
next_time_seconds | int64 | время наступления следующего опроса |
|
nps | ClubPoll.NPS | оценка NPS (Net Promoter Score или Индекс потребительской лояльности) |
Field | Type | Label | Description |
client_page | CustomLayoutSettings.ClientPage |
|
|
club_page | CustomLayoutSettings.ClubPage |
|
|
service_page | CustomLayoutSettings.ServicePage |
|
Настройки первой (левой) страницы
Field | Type | Label | Description |
schedule | bool | расписание |
|
scheduleGroups | bool | расписание |
|
feed | bool | ленту |
|
market_view | bool | фитмаркет |
|
simple | bool | только аватарка и название |
|
full | bool | аватар, название, слоган, связаться |
|
elements | CustomLayoutSettings.ClientPage.Elements | repeated | список разрешенных элементов на странице (если пустой то использовать расположение по умолчанию) |
show_stale_services | bool | показывать заканчивающиеся услуги |
|
qr_type | CustomLayoutSettings.ClientPage.QRType | тип динамического QR кода |
|
refresh_ttl_seconds | int32 | требование по актуальности кода (факт обмена данными с серверами мой фитнес не более указанного количества секунд назад, 0 - без ограничений) |
|
error_correction_level | QrBlock.ErrorCorrectionLevel | уровень коррекции ошибок в qr |
|
nps_suggest_text | string | текст для NPS оценки (как вы оцениваете нашу компанию, наше приложение...) |
|
force_select_city | bool | показывать баннер для выбора города |
|
showPosFromDefault | bool | показывать товары из клуба myfitt |
Настройки страницы клуба (пока не используется)
Field | Type | Label | Description |
promo_offers | CustomLayoutSettings.ClubPage.PromoOffers | управление блоком дополнительных услуг |
|
trainers | CustomLayoutSettings.ClubPage.Trainers | управление блоком тренеров |
|
elements | CustomLayoutSettings.ClubPage.Elements | repeated | порядок блоков на странице (если пусто, то по умолчанию) |
Field | Type | Label | Description |
title | string | название для блока дополнительных услуг по умолчанию "Дополнительные услуги" |
|
action_title | string | кнопка для блока дополнительных услуг по умолчанию "Все услуги" |
Field | Type | Label | Description |
title | string | название для блока тренеров по умолчанию "Наша команда" |
|
action_title | string | кнопка для блока тренеров по умолчанию "Вся команда" |
|
photo_align | ImageAlign | значение выравнивания фотографии по умолчанию. |
Field | Type | Label | Description |
allow_change_payment_accounts | bool | показывать настройку счетов для оплаты |
|
email_required | bool | требовать электронную почту для оплаты |
|
hide_bonus | bool | скрывать бонусные счета |
|
hide_deposit | bool | скрывать депозитные счета |
|
disable_buying | bool | отключить покупки в приложении |
|
disable_buying_when_zero | bool | не показывать кнопку купить и цену, если цена услуги 0 |
|
hide_freezes | bool | не показывать сколько дней заморозок осталось |
|
unfreeze_forbidden | bool | не разрешать размораживать услуги самостоятельно |
|
hide_guests | bool | не показывать гостевые визиты |
|
use_promocode | bool | отображать поле промокода при оплате в клубе |
|
pay_from_deposit_only | bool | разрешить покупку услу только с депозита (и пополнение депозита) |
данные о задолженности клиента
Field | Type | Label | Description |
id | string | идентификатор задолженности |
|
stamp_millis | int64 | epoch millis операции |
|
description | string | описание операции |
|
cost | float | стоимость |
|
linked_account | ClientDeposit | repeated | список счетов с которых допускается оплата услуги |
service_id | string | идентификатор связанной услуги |
|
vat | VatMode | режим налогообложения если приемлим |
|
tax_system | TaxSystemMode | Система налогообложения, если известна |
описание динамичного QR кода с JWT токеном авторизации
Field | Type | Label | Description |
card_number | string | основной код для отображения Subject |
|
ttl | int32 | время жизни в секундах |
|
shared_secret | string | общий секрет для подписи JWT |
информация о заморозке
Field | Type | Label | Description |
id | string | идентификатор заморозки |
|
from_epoch | int64 | epoch seconds начала периода |
|
until_epoch | int64 | epoch seconds конца периода |
|
days | int32 | количество полных дней заморозки |
Field | Type | Label | Description |
can_use | bool | возможность применять заморозку |
|
left | int32 | количество оставшихся единиц заморозки для этой услуги. (0 если не ограничено) |
|
total | int32 | всего единиц заморозки. (0 есои не ограничено) |
|
min_days | int32 | минимальное число дней заморозки (0 если любое) |
|
freezings | Freezing | repeated | предстоящие или действующие заморозки |
past_freezings | Freezing | repeated | прошедшие заморозки (опционально) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
|
phone | string | подтвержденный номер клиента в клубе |
|
stamp_millis | int64 | epoch seconds когда клиент присоединился к клубу |
|
profile | Profile | опциональные данные профиля для включения в заявку (если она требуется) |
|
club_client_id | string | идентификатор клиента на стороне клуба (проставляется только для клиентов подключившихся с 22.03.2024) |
|
profile_extension | ProfileExtension | опциональные данные расширения профиля в клубе для включения в заявку (если она требуется) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба, он же код клуба для подключения в интерфейсе (atmo, ultra и т.п) |
данные о дереве предложений для клиента
Field | Type | Label | Description |
id | string | идентификатор элемента |
|
parent_id | string | идентификатор родительского уровня (для построения дерева услуг) |
|
title | string | Краткое наименование уровня или услуги |
|
description | string | Более подробное описание уровня или услуги |
|
logo_url | string | логотип уровня или услуги |
|
header_url | string | фон уровня или услуги |
|
level | OfferInfo.Level |
|
|
offer | OfferInfo.Offer |
|
|
tags | OfferInfo.TagsEntry | repeated | кастомные метки |
Field | Type | Label | Description |
employee_id | string | идентификатор сотрудника |
|
price_type_id | string | идентификатор цены |
|
price | float | цена |
|
discount | float | размер скидки для промоблока (если <=0 не показывать) |
Field | Type | Label | Description |
depth | int32 | глубина уровня |
Field | Type | Label | Description |
id | string | идентификатор предложения на стороне клубного по |
|
price | float | стоимость услуги |
|
service_id | string | repeated | идентификаторы сервисов в данном предложении |
duration_seconds | int64 | длительность услуги в секундах (0 если не задано или не определено) |
|
employee_price | OfferInfo.EmployeePrice | repeated | стоимость услуги в привязке к сотруднику |
contract_specific | bool | услуга специфична для контракта и требует его выбора |
|
employee_price_is_optional | bool | если employee_price не пустой то можно ли ее выбрать без указания сотрудника |
|
employee_role | OfferInfo.EmployeeRole | роль сотрудника в услуге |
|
discount | float | размер скидки для промоблока (если <=0 не показывать) |
|
vat | VatMode | режим налогообложения если приемлимо |
|
tax_system | TaxSystemMode | Система налогообложения, если известна |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
разовая услуга клиента
Field | Type | Label | Description |
count | int32 | доступное количество |
Field | Type | Label | Description |
id | string | идентификатор платежного варианта |
|
name | string | название |
|
logo | string | лого |
|
priority | int32 | порядок платежной системы (чем ниже значение тем предпочтительнее для использования) |
|
beneficiary_info | string | данные о бенефициаре |
|
tags | PaymentInfo.TagsEntry | repeated | теги для платежного способа (как вариант ограничения выбора при оплате услуг) |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
данные об услуге клиента
Field | Type | Label | Description |
id | string | уникальный идентификатор услуги в разрезе всех пакетов/сервисов/контрактов |
|
club_id | string | идентификатор клуба |
|
client_id | string | идентификатор клиента на стороне клуба |
|
title | string | string profile_id = 5; // идентификатор клиента на стороне skllzz название |
|
status | ServiceInfo.Status | статус сервиса |
|
membership | ClientMembership |
|
|
service | OneTimeService |
|
|
package | ClientPackage |
|
|
days | IntRange | epoch day начала и окончания действия услуги (0 если еще не активирована или не имеет окончания) |
|
status_days | IntRange | epoch day первого и последнего дня действия особенного статуса (например при заморозке) |
|
parent_id | string | идентификатор основной услуги |
|
service_id | string | оригинальный идентификатор услуги |
|
ticket_id | string | идентификатор основания для использования услуги |
|
freezing_info | FreezingInfo | информация по возможностях заморозки (может полностью отсутствовать, что означает невозможность использования заморозки) |
список услуг для различных контекстов
Field | Type | Label | Description |
services | ServiceInfo | repeated |
|
Field | Type | Label | Description |
id | string | идентификатор контента (может быть и пустой) |
|
title | string | заголовок |
|
details | string | более подробное описание (может отсутствовать) |
|
image_url | string | адрес связанной картинки |
|
action_url | string | адрес для перехода |
|
background_theme | StaticContent.BackgroundTheme | фон между текстом и фоновым изображением |
|
photo_align | ImageAlign |
|
Field | Type | Label | Description |
title | string | заголовок в блоке |
|
row_length | int32 | сколько элементов в строке |
|
static_content | StaticContent | repeated | элементы в блоке |
данные о посещении клиентом клуба
Field | Type | Label | Description |
id | string | идентификатор элемента |
|
stamp_seconds | int64 | время начала посещения в epoch seconds |
|
duration_seconds | int64 | продолжительность посещения в секундах |
|
appointments | AppointmentsDay | посещенные занятия |
тип движения
Name | Number | Description |
unknown | 0 | |
charge | 1 | поступление |
write_off | 2 | списание |
Name | Number | Description |
undefined | 0 | действие не определено (просто ссылка) |
support | 1 | действие переводит на поддержку клуба |
social | 2 | действие переводит на поддержку клуба |
geo | 3 | действие переводит гео-метку |
Name | Number | Description |
disabled | 0 | не показывать загруженность клуба |
counter_only | 1 | только текущий счетчик |
historical | 2 | счетчик и исторический график |
Name | Number | Description |
default_ | 0 | тема оформления по умолчанию |
red | 23 | тема по умолчанию: красный |
green | 24 | тема по умолчанию: зеленый |
blue | 25 | тема по умолчанию: синий |
purple | 26 | тема по умолчанию: лиловый |
teal | 27 | тема по умолчанию: бирюзовый |
yellow | 28 | тема по умолчанию: жёлтый |
orange | 34 | тема по умолчанию: оранжевый |
white | 35 | тема по умолчанию: белый |
light | 42 | тема по умолчанию: светлая тема |
atmosphere | 1 | тема оформления для Атмосфера фитнес |
gym_space | 2 | тема оформления для GYM Space |
jetfit | 3 | тема оформления для jetfit |
mdc | 4 | тема оформления для mdc |
davinci | 5 | тема оформления для davinchi |
villa | 6 | тема оформления для villa |
loft | 7 | тема оформления для loft |
fusfit | 8 | тема оформления для fusion fitness |
fitmat | 9 | тема оформления для FitMaster |
fitlady | 10 | тема оформления для FitMaster Lady |
skolkovo | 15 | atrium = 11; // тема оформления для Прайм Фитнес Атриум primeokt = 12; // тема оформления для Прайм Фитнес Октябрьский primepetra = 13; // тема оформления для Прайм Фитнес Петра p4elka = 14; // тема оформления для Прайм Фитнес Пчелка тема оформления для WC SKOLKOVO |
luciano | 16 | тема оформления для Luciano Fitness |
ultraff | 17 | тема оформления для ULTRA Family Fitness |
divanru | 18 | тема оформления для divan.ru |
prime | 19 | общая тема оформления для Прайм Фитнес |
ferrero | 20 | общая тема оформления для Ferrero |
testcorp | 21 | тесто корпоративного клуба |
upfit | 22 | тема оформления для UP Fitness |
strike | 29 | тема оформления для Strike Fitness |
supergym | 30 | тема оформления для SuperGym |
enterra | 31 | тема оформления для Ultra Enterra |
ultra | 36 | тема оформления для Ultra от дизайнера |
gorod | 32 | тема оформления для Город Развлечений |
topdog | 33 | тема оформления для TopDog |
lazurniy | 37 | тема оформления для Лазурный |
fitberri | 38 | тема оформления для Fitberri |
fitberri_green | 60 | тема оформления для Fitberri в зелёном цвете |
xfit | 39 | тема оформления для XFit |
xfit_purple | 72 | тема оформления для XFit в стиле их сетевого приложения |
quartz | 40 | тема оформления для Quartz |
drive | 41 | тема оформления для Drive |
fok_kvarz | 43 | тема оформления для ФОК Кварц |
gruz | 44 | тема оформления для Первой грузовой компании |
flight | 45 | тема оформления для Flight |
metro | 46 | тема оформления для Metro Fitness |
rzd | 47 | тема оформления для РЖД |
reforma | 48 | тема оформления для Реформы |
extreme | 49 | тема оформления для Extreme |
profilaktika | 50 | тема оформления для Profilaktika |
profitness | 51 | тема оформления для PRO фитнес |
strong | 52 | тема оформления для Strong |
vitasport | 53 | тема оформления для VitaSport |
hilti | 54 | тема оформления для Hilti |
gymexpress | 55 | тема оформления для Gymexpress |
gazprom | 56 | тема оформления для Газпром |
kfl | 57 | тема оформления для Корпоративной Фитнес Лиги |
moysport | 58 | тема оформления для клуба Мой Спорт |
crocus | 59 | тема оформления для сети Crocus Fitness |
utatennis | 61 | тема оформления для Уральской теннисной академии |
gspm | 62 | тема оформления для Высшей школы государственного управления |
oceanis | 63 | тема оформления для Oceanis |
fitclub | 64 | тема оформления для FitClub |
gravity | 65 | тема оформления для Gravity |
bashni | 66 | тема оформления для Башни |
lasalutel | 67 | тема оформления для La Salute |
neptun | 68 | тема оформления для СОК Нептун |
greenmys | 69 | тема оформления для Зеленый мыс |
bodis | 70 | тема оформления для Bodis Fitness |
sber | 71 | тема оформления для Сбер |
ceh | 73 | тема оформления для клуба Цех |
rossvik | 74 | тема оформления для клуба Rossvik |
volgaflot | 75 | тема оформления для Волжского Флота |
privilegia | 76 | тема оформления для клуба Привилегия |
mytwclass | 77 | тема оформления для клуба World Class Мытищи |
asi | 78 | тема оформления для Агентство Стратегических Инициатив |
lofit | 79 | тема оформления для LOFIT |
leto | 80 | тема оформления для LETO |
aviva | 81 | тема оформления для AVIVA |
icefit | 82 | тема оформления для ICEFIT |
strong_lite | 83 | тема оформления для Strong Lite |
lokomotiv | 84 | тема оформления для РФСО Локомотив |
bellfit | 85 | тема оформления для Bell Integrator |
asi_empty | 86 | тема оформления для ASI без брендового логотипа |
fitbox123 | 87 | тема оформления для Провокация |
bushido | 88 | тема оформления для BUSHIDO |
vicfitness1 | 89 | тема оформления для Виктория Фитнес |
newton | 90 | тема оформления для Newton Arena |
caesar0410 | 91 | тема оформления для CaesarBoxingGym |
dubfit | 92 | тема оформления для Дубровка Фитнес |
severpark | 93 | тема оформления для Север Парк Арена |
serotonin | 94 | тема оформления для Serotonin |
dllclub | 95 | тема оформления для DLL CLUB |
cf996 | 96 | тема оформления для DLL CLUB |
park | 97 | тема оформления для Wellness Park |
abisport | 98 | тема оформления для АО "АБИ Продакт" |
gpn | 99 | тема оформления для АО Газпромнефть |
rusfit | 100 | тема оформления для РУСФИТ |
kr | 101 | тема оформления для Кадровый Резерв |
port1 | 102 | тема оформления для Кадровый Резерв |
person | 103 | тема оформления для Персона |
athlete | 104 | тема оформления для Атлет Fitness |
vsc2025 | 105 | тема оформления для Vnukovo Sport Club |
roscosmos01 | 106 | тема оформления для Роскосмос |
hammer | 107 | тема оформления для Hummer |
goodgym1 | 108 | тема оформления для Good Gym |
ural | 109 | тема оформления для PROДВИЖЕНИЕ |
cherdak | 110 | тема оформления для Чердак |
startrek | 111 | тема оформления для Start Trek |
formula2004 | 112 | тема оформления для Формула |
garage | 113 | тема оформления для GARAGE |
slavtek | 114 | тема оформления для SLAVTEK |
flab | 115 | тема оформления для Family Lab |
kholding | 116 | тема оформления для K-Holding |
flame | 117 | тема оформления для Флейм |
synergetic | 118 | тема оформления для SYNERGETIC |
cf002 | 119 | тема оформления для Fitness Villiage |
Name | Number | Description |
empty | 0 | пустой элемент (на случай если все остальные надо скрыть) |
view_club | 1 | перейти на страницу клуба |
my_records | 2 | мои записи |
qr_id | 3 | вход по qr |
change_user | 4 | сменить пользователя |
market | 5 | фитмаркет |
knowledge | 6 | база знаний |
locker | 7 | ячейки |
Name | Number | Description |
JWT | 0 | |
PROTO | 1 |
Name | Number | Description |
empty | 0 | пустой элемент (на случай если все остальные надо скрыть) |
schedule_and_load | 1 | кнопка расписания и загрузки в клубе |
services | 2 | наши услуги |
staff | 3 | наша команда |
contacts | 4 | контакты |
banners | 5 | баннеры |
leaderboards | 6 | рекомендуемые лидерборды клуба |
rooms | 7 | помещения клуба |
feed | 8 | лента (если клуб хочет её скрыть) |
header | 9 | шапка (если клуб хочет её скрыть) |
address_and_workTime | 10 | адрес и график работы (сразу под шапкой) |
роль сотрудника в услуге
Name | Number | Description |
default_ | 0 | роль сотрудников по умолчанию, фактически означает что если список сотрудников передан, |
information | 1 | то эквивалент режима 2 или 3 в зависимости от employee_price_is_optional сотрудники выводятся только для информации, выбрать их нельзя |
optional | 2 | сотрудники выводятся и допускается покупка как с указанием сотрудника так и без указания |
required | 3 | сотрудники выводятся и требуется обязательное указание сотрудника при покупке |
Name | Number | Description |
undefined | 0 | статус услуги не определен |
active | 1 | услуга активна |
inactive | 2 | услуга не активна |
frozen | 3 | услуга заморожена или приостановлена |
locked | 4 | услуга заблокирована |
closed | 5 | услуга закрыта/завершена |
Name | Number | Description |
darken | 0 | |
branded | 1 | |
transparent | 2 |
Сервис управления сбором средств
Method Name | Request Type | Response Type | Description |
UpdateFund | Fund | Fund | Обновление/создание/удаление сбора средств, требуется право edit_funds |
Monitor | FundScope | Fund stream | Отслеживание информации о фондах или конкретном фонде (в случае указания FundId) клуба (поддерживается NOWAIT) требуется право view_challenges |
MonitorBank | FundScope | FundBank stream | Отслеживание результата сбора средств (поддерживается NOWAIT) доступно публично |
MonitorRank | FundScope | SubFundsRank stream | Отслеживание рейтинга дочерних фондов (поддерживается NOWAIT) доступно публично |
ReleaseFund | FundScope | Fund | Убирает фонд из под управления клубом требуется право edit_funds |
ImportFund | FundScope | Fund | Добавляет в клуб фонд. в id может быть либо id либо диплинк на фонд. требуется право edit_funds |
Field | Type | Label | Description |
id | string | идентификатор элемента в папке |
|
folder_id | string | идентификатор папки |
|
name | string | имя элемента |
|
description | string | детальное описание элемента |
|
tags | ContentMeta.TagsEntry | repeated | теги элемента |
creator_uid | string | id профиля создавшего элемент |
|
stamp_epoch_seconds | int64 | время создания элемента |
|
club_id_owner | string | клуб владелец |
|
folder | Folder |
|
|
video | VideoStreamInfo |
|
|
deleted | bool |
|
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
folder_id | string | идентификатор папки (пустой если корневая) |
|
item_id | string | идентификатор элемента в папке если нужно отслеживать конкретный элемент |
Field | Type | Label | Description |
children | ContentMeta | repeated |
|
Сервис управления контентом
Method Name | Request Type | Response Type | Description |
Monitor | ContentScope | ContentMeta stream | Отслеживание состояния папки (поддерживается NOWAIT) |
DeleteItem | ContentMeta | Empty | Удаление элемента папки или самой папки |
UpdateItem | ContentMeta | ContentMeta | Обновление/создание элемента папки или самой папки |
Билет доступа для управления клубом
Field | Type | Label | Description |
ticket | string | билет исходного аккаунта |
|
access | ClubAccess | права доступа для билета |
Информация о текущем уровне доступа
Field | Type | Label | Description |
clubs | AccountRights.ClubsEntry | repeated | список клубов к которым есть доступ |
scopes | AccountRights.ScopesEntry | repeated | Возможности аккаунта |
ticket | string | билет для доступа в другие клубы |
|
name | string | имя пользователя |
|
nick | string | ник пользователя |
|
photo_url | string | аватарка |
Field | Type | Label | Description |
key | string |
|
|
value | ClubAccess |
|
Field | Type | Label | Description |
key | int32 |
|
|
value | AccessScope |
|
Field | Type | Label | Description |
profile_id | string | идентификатор профиля |
|
epoch_second_from | int64 | начало диапазона (включительно), 0 если с самого начала |
|
epoch_second_until | int64 | конец диапазона (исключительно), 0 если без ограничений |
Field | Type | Label | Description |
epoch_second_from | int64 | начало диапазона (включительно), 0 если с самого начала |
|
epoch_second_until | int64 | конец диапазона (исключительно), 0 если без ограничений |
|
fund_id | string | ограничить списком участников фонда |
|
challenge_id | string | ограничить списком участников соревнования |
Field | Type | Label | Description |
url | string | адрес итогового ресурса или пустота если не получилось |
Field | Type | Label | Description |
reindex_phones | bool | переиндексировать номера телефон (используется в рассылках) |
Field | Type | Label | Description |
profile_id | string | идентификатор клиента |
|
club_id | string | идентификатор клуба |
|
transaction | TransactionDetails | данные по транзакции |
Field | Type | Label | Description |
id | string | идентификатор запроса |
|
club_id | string | идентификатор клуба |
|
approved | bool | статус одобрения запроса |
|
reject_reason | string | причина отклонения если approved=false |
Field | Type | Label | Description |
blob | bytes | содержимое картинки (в формате jpg, png и т.д) |
область отслеживания данных
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
pos_id | string | идентификатор точки продаж |
|
bot_id | string | идентификатор подключения бота (если приемлимо) |
Field | Type | Label | Description |
include_completed | bool | включать завершенные соревнования |
|
include_active | bool | включать активные соревнования |
|
include_pending | bool | включать соревнования которые ожидают запуска |
|
challenge_id | string | идентификатор конкретного соревнования (если задано то признаки выше не играют роли) |
Field | Type | Label | Description |
profile | Profile |
|
|
club_client | ClientInfo |
|
|
stats | ProfileStats |
|
|
devices | UserDeviceId | repeated |
|
profile_extension | ProfileExtension |
|
Информация о доступе к клубу
Field | Type | Label | Description |
id | string | идентификатор клуба |
|
level | ClubAccess.Level | уровень доступа к клубу |
|
name | string | название клуба |
|
address | string | адрес клуба |
|
rights | ClubAccess.Right | repeated |
|
Field | Type | Label | Description |
ticket | string | тикет пользователя |
|
name | string | имя пользователя |
|
access | ClubAccess.Level | уровень доступа |
|
nick | string | ник пользователя |
|
photo_url | string | аватарка |
|
rights | ClubAccess.Right | repeated | перечень RBAC прав |
Field | Type | Label | Description |
managers | ClubManager | repeated |
|
область отслеживания данных
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
expression | string | текст скрипт-выражения |
Field | Type | Label | Description |
type | IntervalRules.Type | Тип интервала повторения |
|
interval_size | int32 | размер интервала повторения |
|
first_day | int32 | первый эпоходень с которого включить повтор, 0 если без ограничений |
|
last_day | int32 | последний эпоходень с которого включить повтор, 0 если без ограничений |
Field | Type | Label | Description |
session_id | string | идентификатор сессии |
|
profile_id | string | опционально идентификатор профиля по которому принудительно включить логирование |
|
club_id | string | код клуба |
Field | Type | Label | Description |
pos_id | string | если запрос по конкретной точке продаж |
|
epoch_second_from | int64 | начало диапазона (включительно) |
|
epoch_second_until | int64 | конец диапазона (исключительно) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
profile_id | string | идентификатор профиля |
|
fit_file | bytes | содержимое фитфайла |
Field | Type | Label | Description |
club_id | string | код клуба |
|
profile_id | string | идентификатор профиля по которому запрашивается изменение |
|
tester | ModifyProfileRequest.TesterMode | управление флагом тестировщика. требуется право modify_tester |
|
activity_debug_mode | ModifyProfileRequest.ActivityDebugMode | управление флагом отладки активностей. требуется право modify_tester |
Field | Type | Label | Description |
active | bool |
|
Field | Type | Label | Description |
active | bool |
|
область отслеживания данных
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
object_id | string | идентификатор объекта, если применимо |
|
seq_no | int64 |
|
Field | Type | Label | Description |
epoch_second_from | int64 | начало диапазона (включительно) |
|
epoch_second_until | int64 | конец диапазона (исключительно) |
правила повторения
Field | Type | Label | Description |
period_being | int64 | Deprecated. время начала периода в котором надо повторять занятие |
|
period_end | int64 | Deprecated. время окончания периода в котором надо повторять занятие |
|
restrictions | ScheduleRestrictions | ограничения |
|
interval_rules | IntervalRules | правила повторения |
Name | Option |
period_being | true |
period_end | true |
Field | Type | Label | Description |
number | string | номер телефона пользователя |
Field | Type | Label | Description |
id | string | идентификатор подключения бота |
|
client_name | string | имя клиента на стороне Telegram |
|
created_stamp | int64 | время создания подключения |
Field | Type | Label | Description |
link | string | ссылка для подключения бота к точке продаж |
Field | Type | Label | Description |
bots | PosBot | repeated |
|
область отслеживания данных внутри профиля
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
profile_id | string | идентификатор профиля |
|
object_id | string | идентификатор объекта, если применимо |
|
seq_no | int64 |
|
Field | Type | Label | Description |
access_url | string | абсолютный или относительный url для скачивания |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
all_clients | AllClients | запрос отчета на выгрузку всех клиентов (умеет csv, jsonl) |
|
market_ops_range | MarketOpsRange | запрос по операциям в маркетплейсе |
|
challenges | ChallengeRange | состояние соревнований в клубе |
|
payment_ops_range | PaymentOpsRange | платежи в клубе |
|
replenish_ops_range | ReplenishOpsRange | детализация взносов в фонд (умеет csv,json) |
|
activity_debug_range | ActivityDebugRange | детализация операций загрузки данных активности в профиль (доступно для роли modify_tester) |
|
club_recent_errors | ClubRecentErrors | экспорт всех последних ошибок клуба (доступно для роли api_logging) |
|
activity_range | ActivityRange | экспорт обезличенных данных активности за период |
|
analytic_profiles | AnalyticProfiles | Профили для аналитики |
|
format | ReportRequest.Format | предпочитаемый формат очета, если он поддерживается |
конкретное занятие в расписании клуба
Field | Type | Label | Description |
club_id | string |
|
|
appointment_id | string |
|
участник локального расписания
Field | Type | Label | Description |
profile | Profile | данные о профиле |
|
profile_extension | ProfileExtension | расширение профиля в этом клубе |
|
stamp_millis | int64 | время записи на занятие |
Field | Type | Label | Description |
member | ScheduledAppointmentMember | repeated | список участников |
элемент локального расписания
Field | Type | Label | Description |
id | string | уникальный идентификатор |
|
title | string | заголовок |
|
description | string | детальное описание |
|
stamp_seconds | int64 | время начала занятия в epoch seconds |
|
duration_seconds | int64 | продолжительность занятия в секундах |
|
location_name | string | место проведения |
|
location_position | LatLng | точные координаты, если применимо |
|
cost | float | занятие за доп плату (0 если бесплатное) |
|
capacity | int32 | максимальное количество участников (0 не ограничено) |
|
reservation_required | bool | включить режим записи на занятие |
|
image_url | string | картинка для занятия |
|
external_url | string | любой связанный url |
|
is_periodic | bool | Deprecated. признак повторяемого события (использовать PeriodicEvent.IntervalRules.Type |
|
periodic_rules | PeriodicEvent | правила периодичности |
|
group | string | Группа занятий (попадет в фильтр) |
|
time_zone | string | таймзона события (если пусто то как у клуба) |
|
in_cities_id | string | id списка городов присутствия (если пусто то без ограничений) |
|
deleted | bool | признак удаленного элемента |
|
seq_no | int64 | порядковый номер синхронизации (используется только в методах мониторинга) |
|
club_id | string | идентификатор клуба (используется только в методах обновления) |
Name | Option |
is_periodic | true |
Запрос на поиск
Field | Type | Label | Description |
search | string | строка поиска |
|
club_id | string | идентификатор клуба |
|
limit | int32 | максимально число результатов в ответе, если 0 то по умолчанию |
Field | Type | Label | Description |
dump | string | содержимое лога |
|
stamp_millis | int64 | время лога в epoch millis, если больше 0 |
|
level | SessionLogEntry.Level | уровень логирования |
Запрос на синхронизацию данных
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
profile_id | string | профиль клиента в клубе (если пустой то запускается синхронизация уровня клуба) |
|
log_session_id | string | идентификатор сессии для логирования |
Field | Type | Label | Description |
token | string | токен для публикации в канал |
|
channel | int64 | найденный идентификатор канала |
результаты тестирования
Field | Type | Label | Description |
integration | ClubIntegration | возможные уточнения по интеграции |
|
stages | TestStage | repeated | результаты тестирования по отдельным стадиям |
стадия тестирования
код стадии тестирования
Field | Type | Label | Description |
stage | TestStage.Stage | стадия тестирования |
|
error | bool | признак ошибки на стадии тестирования |
|
test_message | string | сообщение стадии тестирования |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
dictionary | DictionaryValues | данные справочника |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
profile_id | string | идентификатор профиля |
|
change | UpdateProfileArtifactShelfRequest.Change | repeated | операция изменения числа артефактов |
Field | Type | Label | Description |
artifact | Artifact.Type | типа артефакта |
|
delta | int32 | на сколько нужно изменить его количество |
Name | Number | Description |
none | 0 | без особых возможностей |
club_viewer | 1 | доступ к любому клубу на уровень просмотра |
club_editor | 2 | доступ к любому клубу на уровень редактора |
club_owner | 3 | доступ к любому клубу на уровень владельца |
create_club_with_id | 4 | возможность задать id при создании клуба |
create_unlimited_clubs | 5 | возможность создавать не ограниченное количество клубов, включать корп режим и устанавливать предел клиентов клуба |
create_corp_club | 6 | возможность создавать корпоративный вариант клуба |
manage_club_limit | 7 | возможность создавать корпоративный вариант клуба |
any_theme | 8 | возможность выбирать любую тему из доступных |
rbac | 9 | возможность включать RBAC для аккаунта |
Name | Number | Description |
deleted | 0 | доступа нет (удален) |
viewer | 1 | только просмотр |
editor | 2 | редактирование |
owner | 3 | владелец |
smm | 4 | доступ к рассылкам (по факту тот же что и viewer) |
RBAC | 999 | режим доступа через точный перечень ролей (Role Based Access Control) указанный в rights |
Name | Number | Description |
unknown | 0 | неизвестная роль |
view_club_info | 1 | просмотр общих данных о клубе |
edit_club_info | 2 | редактирование общих данных о клубе |
delete_club | 3 | возможность полностью удалить клуб (при этом если остались соревнования в любом статусе, они продолжат свое существование не в рамках клуба) |
view_payment_methods | 4 | просмотр платежных терминалов |
edit_payment_methods | 5 | редактирование платежных терминалов |
view_integration_methods | 6 | просмотр данных интеграции |
edit_integration_methods | 7 | редактирование данных интеграции |
grant_rights | 8 | управление правами на доступ к клубу |
edit_club_limit | 9 | управление лимитом пользователей в клубе |
any_theme | 10 | возможность выбрать любую тему |
access_analytics | 11 | доступ к аналитике |
access_mailing_view | 12 | доступ к рассылкам на просмотр |
access_mailing_send | 13 | доступ к рассылкам на отправку |
view_pos | 14 | просмотр точек продаж |
edit_pos | 15 | просмотр точек продаж |
view_roi | 16 | просмотр точек продаж |
edit_roi | 17 | просмотр точек продаж |
upload_promo_codes | 18 | возможность загружать промо коды в онлайн точки продаж |
enable_analytics | 19 | разрешить включение аналитики |
create_club_with_id | 20 | возможность задать id при создании клуба |
create_corp_club | 21 | возможность создавать корпоративный вариант клуба |
unlimited_clubs | 22 | возможность создавать не ограниченное количество клубов |
search_clients | 23 | поиск клиентов |
api_logging | 24 | доступ к логам API |
export_clients | 25 | экспорт данных по всем клиентам |
view_local_schedule | 26 | получение элементов локального расписания |
edit_local_schedule | 27 | изменение элементов локального расписания |
view_client_activity | 28 | доступ к данным активности клиентов |
edit_client_activity | 29 | доступ к данным активности клиентов |
reset_qr_device | 30 | возможность сбросить привязку QR к устройству |
export_pos_usage | 31 | экспорт данных по использованию маркета |
access_content | 32 | доступ к контенту |
upload_content | 33 | возможность загружать контент |
view_challenges | 34 | просмотр соревнований |
edit_challenges | 35 | создание/изменение соревнований |
change_layout | 36 | изменение конфигурации элементов в приложении |
modify_tester | 37 | возможность изменить статус тестировщика |
migrate_challenges | 38 | импорт/миграция соревнований |
view_client_transactions | 39 | доступ к данным транзакций клиентов |
edit_client_transactions | 40 | изменение транзакций клиентов |
delete_club_client | 41 | удаление клиента из клуба |
manage_client_approves | 42 | управление заявками на вступление в клуб |
view_user_devices | 43 | доступ к списку устройств клиента |
impersonate_client | 44 | возможность зайти в приложение от имени клиента, для целей отладки |
export_payments | 45 | получение отчетов по платежам |
reset_profile_progress | 46 | сброс прогресса достижений для профиля |
edit_oauth2_requirement | 47 | возможность задавать требования для внешних связей по oauth2 |
payed_challenges | 48 | возможность создавать платные соревнования за реальную валюту |
grant_rbac_rights | 49 | управление правами на доступ в режиме RBAC |
view_funds | 50 | просмотр данных о сборе средств |
edit_funds | 51 | создание/изменение данных о сборе средств |
view_pos_bots | 52 | просмотр ботов у точки продаж |
edit_pos_bots | 53 | управление ботами точки продаж |
view_projects | 54 | просмотр проектов документов согласия |
edit_projects | 55 | управление проектами документов согласия |
run_expression | 56 | запуск скрипт-выражений |
edit_client_activity_tasks | 57 | возможность создавать/изменять активность клиента с типом задание |
view_dictionary | 58 | просмотр справочников |
edit_dictionary | 59 | обновление справочников |
update_artifact_shelf | 60 | обновление данных по артефактам |
Name | Number | Description |
None | 0 | |
Day | 1 | |
Week | 2 | |
Month | 3 |
Name | Number | Description |
csv | 0 | |
jsonl | 1 |
Name | Number | Description |
info | 0 | |
warn | 1 | |
error | 2 |
Name | Number | Description |
unknown | 0 | неизвестная стадия |
acc_000 | 1 | наличие полного контракта для номера телефона +70000000000 |
acc_999 | 2 | наличие полного контракта для номера телефона +79999999999 |
trainers | 3 | проверка тренеров |
offers | 4 | проверка прайс листа |
appointments | 5 | проверка расписания |
full_log | 6 | полный лог |
Сервис управления клубами
Method Name | Request Type | Response Type | Description |
Rights | AccountRights | AccountRights stream | получение данных о списке доступных клубов с правами на них |
ClubRights | ClubIntegration | ClubAccess stream | получение прав на клуб включая пустой или любой произвольный clubid (на входе важен только ClubIntegration.Info.Id) |
Update | ClubIntegration | ClubIntegration | обновить данные о клубе с заданным id, если id не задан то будет создан новый клуб |
Delete | ClubIntegration | ClubIntegration | удаление клуба (при этом если остались соревнования в любом статусе, они продолжат свое существование не в рамках клуба) требуются права _delete_club |
GetIntegration | ClubAccess | ClubIntegration | получить полные данные по интеграции |
ManageClub | ClubAccess | ClubAccess | добавить к себе в личный кабинет для управления клуб (если позволяют возможности аккаунта) |
InviteManager | AccessTicket | AccessTicket | Пригласить к управлению клубом менеджера с заданным билетом (только если есть права владельца клуба) |
UploadAsset | AssetBlob | AdoptedAssetUrl | Загрузка ресурса (картинки) для размещения в новости |
AdoptAsset | AdoptedAssetUrl | AdoptedAssetUrl | Адаптация любой ссылки на ресурс |
TestCredentials | ClubIntegration | ClubIntegration | Проверка валидности данных для подключения к клубному ПО, могут вернуться уточненные данные которые надо использовать для фактической настройки |
TestCredentialsV2 | ClubIntegration | TestCredentialsResponse | Проверка валидности данных для подключения к клубному ПО |
TestPayment | PaymentMethod | PaymentMethod | Проверка валидности данных для подключения к платежному шлюзу |
FindTelegramChannel | Empty | TelegramSearchResponse stream | Поиск идентификатора телеграм канала для NPS |
ClubManagers | ClubIntegration | ClubManagersResponse stream | Отдает/отслеживает список всех у кого есть доступ к клубу (для пользователя без уровня owner вернет ошибку) |
DescribeLeagueOffer | LeagueOffer | LeagueOffer | Актуализирует данные по предложению из соревнования |
FormatPhone | PhoneNumber | PhoneNumber | Форматирует номер телефона или возвращает ошибку если он не валидный |
UpdatePos | Pos | Pos | Создает/обновляет/удаляет данные по точке продаж в разрезе клуба |
ResetLicense | Pos | Pos | Сброс привязки лицензии на клиентской стороне |
UpdateCoverage | Coverage | Coverage | Создает/обновляет/удаляет данные по региону интереса в разрезе клуба |
UpdateCoverageGeo | GeoJson | RoiDetails | Загружает GeoJson как ROI для покрытия |
MonitorPos | MonitorScope | Pos stream | Отслеживание списка точек продаж для клуба (поддерживается NOWAIT) |
MonitorPosBots | BotScope | PosBots stream | Отслеживание списка ботов подключенных к точке продаж (поддерживается NOWAIT) доступно для роли view_pos_bots |
ConnectPosBot | BotScope | PosBotLink stream | Получение активной ссылки для подключения бота к точке продаж доступно для роли edit_pos_bots |
DisconnectPosBot | BotScope | PosBot | Отключения бота от точки продаж доступно для роли edit_pos_bots |
MonitorCoverage | MonitorScope | Coverage stream | Отслеживание зон покрытия для клуба (поддерживается NOWAIT) |
MonitorRoiData | MonitorScope | RoiDetails stream | Отслеживание данных покрытия (поддерживается NOWAIT) |
UploadPromoCodes | PromoCodes | UploadResult | Загрузка промокодов |
UpdateCities | Cities | Cities | Создает или обновляет данные по списку городов (доступно для роли edit_roi) |
MonitorCities | Cities | Cities stream | Мониторит отдельно взятый список городов по клубу (доступно для роли view_roi) |
MonitorClubCities | MonitorScope | CitiesList stream | Мониторит списки городов интереса в клубе (поддерживается NOWAIT, доступно для роли view_roi) |
MonitorClubDictionary | MonitorScope | DictionaryValues stream | Мониторит списки справочников клуба (поддерживается NOWAIT, доступно для роли view_dictionary, при указании object_id возвращаются элементы справочника) |
UpdateClubDictionary | UpdateDictionaryRequest | DictionaryValues | Обновление данных по справочнику (доступно для роли edit_dictionary) |
UpdateProject | AgreementProject | AgreementProject | Создает или обновляет данные по проекту согласий (доступно для роли edit_projects) |
MonitorProject | AgreementProject | AgreementProject stream | Мониторит отдельно взятый проект (доступно для роли view_projects) |
MonitorClubProjects | MonitorScope | ProjectList stream | Мониторит проекты согласий в клубе (поддерживается NOWAIT, доступно для роли view_projects) |
SearchClientProfiles | SearchScope | Profile stream | Поиск профилей клиентов в контексте клуба |
MonitorClientDetails | MonitorScope | ClientData stream | Мониторинг данных о клиенте по его profile.id |
MonitorClientActivity | ProfileMonitorScope | TrainingSession stream | Мониторинг данных о последней активности клиенте по его profile.id (если задан object_id то мониторит конкретное активити с заданным id) доступно для view_client_activity |
MonitorClientItemReactions | ProfileMonitorScope | EventFeedback stream | Мониторит данные по реакциям на |
MonitorClientTransactions | ProfileMonitorScope | TransactionDetails stream | Мониторинг данных о последних транзакциях клиента по его profile.id (если задан object_id то мониторит конкретную транзакцию с заданным id) доступно для view_client_transactions |
ApplyTransaction | ApplyTransactionRequest | TransactionDetails | создать/исправить транзакцию клиенту доступно для edit_client_transactions |
UpdateClientActivity | TrainingSession | TrainingSession | обновляет/добавляет/удаляет сведения об активности доступно для edit_client_activity |
ImportFitActivity | MemberFitFile | TrainingSession | импортирует активность для участника из FIT файла доступно для edit_client_activity |
MonitorClubLocalSchedule | MonitorScope | ScheduledEvent stream | Мониторинг данных об элементах локального расписания клуба доступно для view_local_schedule |
UpdateClubLocalSchedule | ScheduledEvent | ScheduledEvent | Обновление данных об элементе локального расписания, если флаг deleted=true то удаляет данный элемент доступно для edit_local_schedule |
MonitorClubLocalEventPlan | ScheduledEvent | Appointments stream | Получает список фактически спланированных событий по указанному шаблону (поддерживается NOWAIT, доступно для роли view_local_schedule) |
MonitorClubLocalAppointmentMembers | ScheduledAppointment | ScheduledAppointmentMembers stream | Список записанных на занятие (поддерживается NOWAIT, доступно для роли view_local_schedule) |
ExportClubClients | MonitorScope | ClientData stream | Выгрузка данных по всем клиентам клуба (доступна только людям с правом export_clients) |
RequestReport | ReportRequest | ReportAccess | Запрос создания отчета |
MonitorLoggingSession | LoggingSession | SessionLogEntry stream | Мониторинг данных отладочной сессии, все вызовы в API с заголовком Logging-Session-Id равным LoggingSession.session_id будут дампить сюда логи доступны только для пользователей с ролью api_logging |
RunClubSync | SyncOptions | SyncOptions | принудительно запускает синхронизацию данных, и логирует данные в указанную сессию доступны только для пользователей с ролью api_logging |
ResetPassDevice | ProfileMonitorScope | ProfileMonitorScope | Отключает привязку QR клиента к устройству, позволяя привязать новое. Обязательно передать profile_id,club_id |
ModifyProfile | ModifyProfileRequest | Profile | Управляет различными признаками профиля. |
DeleteClubClient | ClientInfo | ClientInfo | Удаление клиента из клуба, доступно для роли delete_club_client. Необходимо передать skllzz_id и club_id |
MonitorApproves | MonitorScope | ApproveRequest stream | Мониторинг данных о запросах на подключение к клубу (если задан object_id то мониторит конкретный запрос с заданным id) доступно для manage_client_approves |
ManageApprove | ApproveResult | ApproveResult | Управление запросом на подключение к клубу доступно для manage_client_approves |
MonitorUserDevices | ProfileMonitorScope | UserDeviceId stream | Список устройств профиля доступно для view_client_devices |
MonitorUserShelf | ProfileMonitorScope | Shelf stream | Состояние полки с артефактами доступно для view_client_activity |
UpdateProfileArtifactShelf | UpdateProfileArtifactShelfRequest | Shelf | Состояние полки с артефактами доступно для update_artifact_shelf |
ImpersonateClubClient | ClientInfo | ClientInfo | Имперсонализация клиента клуба для менеджера, доступно для роли impersonate_client. Необходимо передать skllzz_id и club_id. После вызова этого метода, у менеджера есть 30 секунд чтобы войти в приложение под своим аккаунтом и попасть в окружение клиента. |
ResetProfileProgress | ClientInfo | ClientInfo | Сброс прогресса в неигровое состояние. доступно для роли reset_profile_progress. Необходимо передать skllzz_id и club_id. |
MonitorClubRecentErrors | MonitorScope | SessionLogEntry stream | Мониторинг последних ошибок в работе API клуба, достаточно передать MonitorScope.club_id доступны только для пользователей с ролью api_logging |
RunExpression | ExpressionScope | SessionLogEntry stream | Запуск скрипт-выражений. В ответ получаем поток логов которые формируются в процессе его выполнения. Поток закрывается когда скрипт завершает выполнение. В случае ошибок на этапе компиляции выражения метод сразу вернет эту ошибку |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
item_id | string | идентификатор соревнования если нужно отслеживать конкретный элемент |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
challenge_id | string | идентификатор соревнования |
|
member_id | string | идентификатор участника соревнования |
|
record | DisqualifyRecord | запись о дисквалификации (если nil то вернуть обратно в команду) |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
member_id | string | идентификатор участника соревнования |
|
role | LeaderboardRole | роль участника |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
challenge_id | string | идентификатор соревнования |
|
member_id | string | идентификатор участника соревнования |
Field | Type | Label | Description |
club_id | string | идентификатор клуба в который мигрировать соревнование |
|
url | string | ссылка на соревнование |
Field | Type | Label | Description |
club_id | string | идентификатор клуба |
|
profile_id | string | идентификатор профиля |
|
training_session_id | string | идентификатор активности |
Сервис управления соревнованиями
Method Name | Request Type | Response Type | Description |
Monitor | ChallengesScope | Challenge stream | Отслеживание соревнований клуба (поддерживается NOWAIT) требуется право view_challenges |
UpdateChallenge | Challenge | Challenge | Обновление/создание/удаление соревнования требуется право edit_challenges |
MonitorTemplate | ChallengesScope | ChallengeTemplate stream | Отслеживание шаблонов соревнований клуба (поддерживается NOWAIT) требуется право view_challenges |
UpdateTemplate | ChallengeTemplate | ChallengeTemplate | Обновление/создание/удаление шаблона соревнования требуется право edit_challenges |
MonitorRank | ChallengesScope | LeaderboardRank stream | Отслеживание таблицы результатов конкретного соревнования (поддерживается NOWAIT) доступно публично |
DisqualifyMember | DisqualifyRequest | Empty | Дисквалифицировать или восстановить участника команды (требуется право edit_challenges) |
Member | MemberRequest | Empty | Добавление или удаление участников команды (требуется право edit_challenges) |
RecalculateChallenge | ChallengesScope | Empty | Принудительный пересчет результатов соревнования требуется право edit_challenges |
Migrate | MigrateRequest | Empty | Миграция соревнования в V2, передается ссылка на соревнование. требуется право migrate_challenges |
ReleaseChallenge | Challenge | Challenge | Убирает соревнование из под управления клубом требуется право edit_challenges |
MonitorMemberActivity | MemberScope | TrainingSession stream | Отслеживание активности участника (поддерживается NOWAIT) требуется право view_challenges |
ReApplyActivityToLeaderboards | ReApplyActivityRequest | Empty | переучитывает соревнование во всех активных лидербордах. Требуется edit_challenges |
Field | Type | Label | Description |
account | string | номер счета в магазине |
|
key_1 | string | ключ 1 |
|
key_2 | string | ключ 2 |
|
success_url | string | адрес возврата успешного платежа |
|
fail_url | string | адрес возврата не успешного платежа |
|
test_mode | bool | признак тестовой среды |
|
use_hmac | bool | использование подписи hmac |
Field | Type | Label | Description |
login | string | логин |
|
password | string | пароль |
Field | Type | Label | Description |
id | string | ID магазина |
|
secret_key | string | секретный ключ |
|
public_key | string | публичный ключ (многострочный ввод) |
|
test_mode | bool | признак тестовой среды |
Field | Type | Label | Description |
public_id | string | Public ID |
|
api_password | string | Пароль для API |
Field | Type | Label | Description |
user_token | string | токен платежной точки |
|
test_mode | bool | признак тестовой среды |
Field | Type | Label | Description |
basic | BasicAuth |
|
|
shared_secret | string | колбэк токен для проверки целостности данных |
|
server | string | адрес сервера |
Field | Type | Label | Description |
id | string | идентификатор метода |
|
priority | int32 | порядок платежной системы (чем ниже значение тем предпочтительнее для использования) |
|
description_prefix | string | префикс перед назначением платежа |
|
beneficiary_info | string | данные о бенефициаре |
|
default_vat | VatMode | НДС по умолчанию |
|
default_service_vat | VatMode | НДС по умолчанию для услуг (не пополнение депозита) |
|
sber | SberProvider | PaymoProvider paymo = 100; |
|
redirect | RedirectProvider | ApexProvider apex = 102; |
|
vtb | VtbProvider |
|
|
paykeeper | PaykeeperProvider |
|
|
tinkoff | TinkoffProvider |
|
|
cloud_payments | CloudPaymentsProvider |
|
|
new_pay | NewPayProvider |
|
|
be_paid | BePaidProvider |
|
|
ykassa | YKassaProvider |
|
Field | Type | Label | Description |
api_key | string | Ключ магазина |
|
api_secret | string | секрет магазина |
|
success_url | string | адрес возврата успешного платежа |
|
fail_url | string | адрес возврата не успешного платежа |
Field | Type | Label | Description |
redirect_url | string | адрес куда отправить пользователя |
Field | Type | Label | Description |
token | TokenAuth |
|
|
basic | BasicAuth |
|
|
success_url | string | адрес возврата успешного платежа |
|
fail_url | string | адрес возврата не успешного платежа |
|
shared_secret | string | колбэк токен для проверки целостности данных |
|
test_mode | bool | признак тестовой среды |
Field | Type | Label | Description |
terminal_id | string | идентификатор терминала |
|
secret | string | секрет/пароль терминала |
|
tax_mode | TinkoffProvider.TaxMode | режим налогообложения |
|
use_spb | bool | использования СБП |
Field | Type | Label | Description |
token | string | токен |
Field | Type | Label | Description |
basic | BasicAuth |
|
|
success_url | string | адрес возврата успешного платежа |
|
fail_url | string | адрес возврата не успешного платежа |
|
shared_secret | string | колбэк токен для проверки целостности данных |
|
test_mode | bool | признак тестовой среды |
Field | Type | Label | Description |
shop_id | string | Идентификатор магазина |
|
api_key | string | Секретный ключ API |
Name | Number | Description |
UNDEFINED | 0 | режим не определен |
OSN | 10 | Общая система налогообложения |
USN_INCOME | 20 | Упрощенная (УСН, доходы) |
USN_INCOME_OUTCOME | 30 | Упрощенная (УСН, доходы минус расходы) |
ENVD | 40 | Единый налог на вмененный доход (ЕНВД) |
ESN | 50 | Единый сельскохозяйственный налог (ЕСН) |
PATENT | 60 | Патентная система налогообложения |
Name | Number | Description |
osn | 0 | общая |
usn_income | 1 | упрощенная (доходы) |
usn_income_outcome | 2 | упрощенная (доходы минус расходы) |
patent | 3 | патентная |
envd | 4 | единый налог на вмененный доход |
esn | 5 | единый сельскохозяйственный налог |
Name | Number | Description |
UNKNOWN | 0 | режим не определен |
VAT_5 | 5 | НДС 5% |
VAT_7 | 7 | НДС 7% |
VAT_10 | 10 | НДС 10% |
VAT_20 | 20 | НДС 20% |
VAT_18 | 18 | НДС 18% |
VAT_5_105 | 105 | НДС 5/105 |
VAT_7_107 | 106 | НДС 7/107 |
VAT_10_110 | 110 | НДС 10/110 |
VAT_18_118 | 118 | НДС 18/118 |
VAT_20_120 | 120 | НДС 20/120 |
VAT_0 | 1000 | НДС 0% |
NO_VAT | 9999 | НДС не облагается |
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | 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. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |