Загрузка офферных событий

Передает данные об офферных событиях (Product Flow).

Пример использования: вы можете передавать через Post API серверные (S2S) результаты продуктовых сценариев. Например, финальное решение банка или страховой компании после статуса pending в приложении.

Примеры сценариев см. в разделе Примеры продуктовых сценариев.

Свойства событий можно передавать в параметрах запроса или в теле. При передаче данных в теле к URL запроса необходимо добавить .csv. Подробнее в разделе Пример запроса.

Для привязки события к пользователю в запросе используйте одно из следующих полей:

  • profile_id
  • appmetrica_device_id

Внимание

Post API содержит ограничения на загрузку данных. Подробнее в разделе Ограничения.

Формат запроса

POST https://api.appmetrica.yandex.ru/logs/v1/import/product_flow
  ? post_api_key=<string>
  & application_id=<int>
  & profile_id=<string>
  & appmetrica_device_id=<int>
  & event_timestamp=<int>
  & product_flow_type=<string>
  & [product_offer_id=<string>]
  & [product_id=<string>]
  & [offer_type=<string>]
  & [benefit_type=<string>]
  & [referrer_type=<string>]
  & [referrer_id=<string>]
  & [referrer_screen=<string>]
  & [step_type=<string>]
  & [step_option=<string>]
  & [result_status=<string>]
  & [price_unit=<string>]
  & [price_value=<decimal>]
  & [payload=<string>]
  & [session_type=<string>]
  & [ios_ifa=<string>]
  & [ios_ifv=<string>]
  & [google_aid=<string>]
  & [windows_aid=<string>]
  & [os_name=<string>]
  & [os_version=<string>]
  & [device_manufacturer=<string>]
  & [device_model=<string>]
  & [device_type=<string>]
  & [device_locale=<string>]
  & [app_version_name=<string>]
  & [app_package_name=<string>]
  & [connection_type=<string>]
  & [operator_name=<string>]
  & [mcc=<int>]
  & [mnc=<int>]
  & [device_ipv6=<string>]

post_api_key*

Токен для загрузки данных. Его можно получить в разделе Настройки вашего приложения.

application_id*

Уникальный числовой идентификатор приложения в AppMetrica.

profile_id*

Идентификатор профиля пользователя. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK.

Внимание

Не передавайте значение вместе с параметром appmetrica_device_id. Сервер принимает только один из параметров.

appmetrica_device_id*

Хеш от уникального идентификатора устройства, который устанавливает AppMetrica. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK.

Внимание

Не передавайте значение вместе с параметром profile_id. Сервер принимает только один из параметров.

event_timestamp*

Время события в формате UNIX-time.

Post API позволяет загрузить только те события, у которых разница между датой совершения события (event_timestamp) и датой загрузки не больше 14 дней. Ожидается значение в секундах.

product_flow_type*

Тип офферного события. Возможные значения:

  • offer_shown — пользователь увидел оффер;
  • flow_start — пользователь начал оформление;
  • step — промежуточный шаг оформления;
  • flow_result — итоговый результат сценария.

product_offer_id

Идентификатор оффера — конкретного варианта предложения. Например, идентификатор промокампании или баннера. Если сценарий начался без оффера, параметр можно не передавать.

product_id

Идентификатор продукта в приложении. Например, кредит, подписка или бронирование. Связывает события одного сценария между собой.

offer_type

Категория оффера. Например, financial_product, subscription. Обычно передается вместе с product_flow_type=offer_shown.

benefit_type

Тип выгоды для пользователя. Например, discount_percentage, cashback. Обычно передается вместе с product_flow_type=offer_shown.

referrer_type

Тип источника перехода к офферу. Например, banner, push, deeplink. Обычно передается вместе с product_flow_type=offer_shown.

referrer_id

Идентификатор источника перехода. Например, идентификатор баннера или push-кампании.

referrer_screen

Экран, на котором пользователь увидел оффер или начал оформление. Например, main, catalog.

step_type

Название промежуточного шага оформления. Например, documents, scoring. Передается вместе с product_flow_type=step.

step_option

Детализация шага. Например, passport_upload, automatic_scoring. Передается вместе с product_flow_type=step.

result_status

Итог сценария. Передается вместе с product_flow_type=flow_result. Возможные значения:

  • success — успешное завершение;
  • declined — отклонено третьей стороной;
  • pending — ожидает решения;
  • cancelled — пользователь отменил;
  • expired — оффер или сессия истекли;
  • fail — техническая ошибка.

Подробнее о статусах см. в разделе Примеры продуктовых сценариев.

price_unit

Валюта цены оффера или итоговой суммы сценария. Список доступных валют. Передается вместе с price_value, если в сценарии есть сумма. Например, стоимость услуги после визита.

price_value

Сумма в валюте price_unit. Передается вместе с price_unit.

payload

Дополнительные параметры сценария в формате {"key":"value"}. Например, application_id, booking_id, campaign_id.

session_type

Тип сессии. Возможные значения:

  • foreground — в отчете События будет увеличиваться метрика Пользователи.
  • background — в отчете События будет увеличиваться метрика Устройства. Такие события не будут попадать в отчет с группировкой по пользователям и в карточку профиля.

Значение по умолчанию: background.

ios_ifa

IFA устройства в формате, в котором получен от устройства.

ios_ifv

IFV для приложения в формате, в котором получен от устройства.

google_aid

Google AID устройства в формате, в котором получен от устройства.

windows_aid

Windows AID устройства в формате, в котором получен от устройства.

os_name

Операционная система на устройстве пользователя: ios | android | windows.

os_version

Версия операционной системы на устройстве пользователя.

device_manufacturer

Производитель устройства, определяется сервисом AppMetrica (например, Apple или Samsung).

device_model

Модель устройства, определяется сервисом AppMetrica (например, Galaxy S6).

device_type

Тип устройства, определяется сервисом AppMetrica. Возможные значения: phone | tablet | unknown.

device_locale

Язык интерфейса устройства.

app_version_name

Версия приложения в виде, как указана разработчиком.

app_package_name

Имя пакета для Android или Bundle ID для iOS (например, ru.yandex.metro).

connection_type

Тип подключения устройства. Возможные значения: wifi | cell | unknown.

operator_name

Имя оператора сотовой связи.

mcc

Мобильный код страны.

mnc

Код мобильной сети.

device_ipv6

IP-адрес в момент совершения события в формате IPv6. Например, 2a02:6b8::40c:6676:baff:fea6:53d8, ::ffff:5.255.232.147.

Коды ответа

Код Описание
200 Данные успешно загружены.
403 Запрос не содержит заголовка авторизации, либо указан неверный токен.
400 Запрос не содержит одного или нескольких обязательных параметров.

Пример запроса

POST /logs/v1/import/product_flow.csv?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012 HTTP/1.1
Host: api.appmetrica.yandex.ru
Connection: close

application_id,appmetrica_device_id,event_timestamp,product_flow_type,product_offer_id,product_id,result_status,price_unit,price_value,payload,session_type
1234567890,1757762239877245682,1689943892,flow_result,credit_q1,personal_loan,success,RUB,123.45,"{""request_id"":""loan-42""}",background
POST /logs/v1/import/product_flow?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012&application_id=1234567890&appmetrica_device_id=1757762239877245682&event_timestamp=1689943892&product_flow_type=flow_result&product_offer_id=credit_q1&product_id=personal_loan&result_status=success&price_unit=RUB&price_value=123.45&payload="{""request_id"":""loan-42""}"&session_type=background HTTP/1.1
Host: api.appmetrica.yandex.ru
Content-Length: 0
Connection: close

Другие методы Post API

Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.

Написать в службу поддержки Предложить улучшение для документации