# События воронки для Яндекса
## Авторизация
* **[веб] открылось окно со спиннером и текстом "Входим в аккаунт Яндекса"**
```
YandexPlus
Action: Start,
Intent: Loaded,
Name: AuthSpinner
```
* **[веб] закрылось окно со спиннером и текстом "Входим в аккаунт Яндекса"**
```
YandexPlus
Action: Close,
Name: AuthSpinner
```
* [клиент] начало авторизации через сдк
```
YandexAuth
Action = Start
```
* [клиент] получение токена авторизации
```
YandexAuth
Action = TokenReceived
```
* **[веб] Успешно авторизовались через sdk**
```
YandexPlus
Intent: ClientAuth,
Status: Success
```
* **[веб] ошибка получения токена авторизации**
```
YandexPlus
Intent: ClientAuth,
Status: Failed
ErrorMessage: 'error1, error2'
```
* [клиент] ошибка авторизации
```
YandexAuth
Action = Error
ErrorMessage = msg?
```
* **[веб] запрос на авторизацию на сервере(запрос идёт после успешной авторизации через sdk)**
```
YandexPlus
Action: Start
Intent: ServerAuth,
```
* [клиент] отправка на клиенте запроса на сервер на получение инфы о пользователе по токену
```
YandexAuth
Action = UserDataRequest
```
* **[веб] ответ от серверой авторизации - текущие статус подписки пользователя (плюс/плюс+кидс/none), уперлись ли в лимит по девайсам**
```
YandexPlus
Action: Finish
Intent: ServerAuth,
Success: true | false
Subscription: None | Plus | PlusKids
DeviceLimitExceeded: true | false
ErrorMessage: ""
```
* [клиент] ответ от сервера на клиенте запроса на сервер на получение инфы о пользователе по токену - текущие статус подписки пользователя (плюс/плюс+кидс/none), уперлись ли в лимит по девайсам
```
YandexAuth
Action = UserDataReceived
Subscription = None | Plus | PlusKids
```
## Управление лимитом девайсов
* **[Сменить LogoutConfirmation на LogoutConfirmationPopup]**
* **[веб] открытие окна с лимитами по девайсам(уже реализовано, надо только Name поменять)**
```
YandexPlus:
Name = DeviceManagementScreen
```
* **[веб] Появился попап “Подтвердите выход“ на экране с лимитом по девайсам(уже реализовано, надо только Name поменять**
```
YandexPlus:
Name = DetachConfirmationPopup
```
* **[веб] Нажали “Выйти“ на попапе “Подтвердите выход“ на экране с лимитом по девайсам**
```
YandexPlus
Name = DetachConfirmationPopup,
Intent = Detach
```
* [клиент] логировать запрос на открепление девайса
```
YandexAuth
Action = DetachRequested
```
* [клиент] логировать ответ на запрос на открепление девайса
```
YandexAuth
Action = Detached
```
* **[веб] Получили результат отвязки девайса и убрали крутилку ожидания с кнопки выхода этого девайса**
```
YandexPlus
Action: Finish
Name = DeviceManagementScreen,
Success = true|false
ErrorMessage: ""
```
## Пейвол
* **[веб] открытие пейвола без плюс, без опции детям (параллельно сразу открывается ссылка на лендинг оплаты)**
```
YandexPlus
Action: Start,
Intent: Load,
Name: Paywall,
Type: NoPlus
```
* **[веб] Автоматически открылся лендинг яндекса на пейволе без плюса**
```
YandexPlus
Action: Open,
Intent: OpenYandexURL,
Url: url,
Subscription = None | Plus
```
* **[веб] открытие пейвола с плюсом, без опции детям**
```
YandexPlus
Action: Start,
Intent: Load,
Name: Paywall,
Type: NoKids
```
* **[веб] открылось окно со спиннером и текстом "Проверяем статус оплаты"**
```
YandexPlus
Action: Start,
Intent: Loaded,
Name: BuySpinner
```
* **[веб] закрылось окно со спиннером и текстом "Проверяем статус оплаты"**
```
YandexPlus
Action: Close,
Name: BuySpinner
```
* **[веб] Открылся лендинг яндекса по клику на "60 дней бесплатно"**
```
YandexPlus
Action: Tap,
Intent: OpenYandexURL,
Url: url,
Subscription = None | Plus
```
* [клиент] трекает открытие урла
```
YandexPaywall
Action = TryOpenUrl
Url = url
```
* **[веб] запрос на верификацию покупки**
```
YandexPlus
Action: Start
Intent: ServerVerify,
Subscription = None | Plus // текущий статус подпики у юзера
```
* **[веб] результат верификации покупки**
```
YandexPlus
Action: Finish
Intent: ServerVerify,
Success: true | false,
ErrorMessage: "",
Subscription = None | Plus | PlusKids // ответ от сервера
...
```
* [клиент] отправка запроса на верификацию
```
YandexPaywall
Action = VerifyStart
```
* [клиент] получение ответа на запрос на верификацию
***прокидывать в веб ответ от сервера**
```
YandexPaywall
Action = VerifyComplete
Subscription = None | Plus | PlusKids // проверить
```
* [клиент] старое событие Purchased - чекнуть, отправляется или нет
* [клиент] ко всем эвентам докинуть свойства Store и SubscriptionKind (по аналогии с "ParentID", который докидывается всем эвентам)
---
**[сервер]** Логирование начало проверки покупки после лендинга Яндекса:
**YandexSubscriptionStatus**
* Action = YandexPurchaseVerifyBegin
* IsActiveSubscription = True/False
* Subscription = none/ plus/ plusKids
* YandexID = None / идентификатор
**[сервер]** Логирование конца проверки покупки после лендинга Яндекса:
**YandexSubscriptionStatus**
* Action = YandexPurchaseVerifyComplete
* IsActiveSubscription = True/False
* Subscription = none/ plus/ plusKids
* YandexID = None / идентификатор