Загрузка событий In-app Revenue

Передает данные о покупках.

Пример использования: вы можете передавать в AppMetrica In-app Revenue события через Post API, если покупки в вашем приложении осуществятся не через Google Play или AppStore и не отслеживаются на клиенте. Если вы отслеживаете данные о подписках внутри приложения самостоятельно или используете сторонний сервис, вы можете передавать данные о подписках через Post API.

События покупок, полученные через Post API, используются в расчете всех метрик, также они доступны в воронках и когортах.

Примечание

Revenue события, полученные через Post API не проходят валидацию и всегда считаются валидными.

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

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

  • profile_id
  • appmetrica_device_id

Внимание

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

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

POST https://api.appmetrica.yandex.ru/logs/v1/import/revenue
  ? post_api_key=<string>
  & application_id=<int>
  & profile_id=<string>
  & appmetrica_device_id=<int>
  & revenue_event_type=<string>
  & event_timestamp=<int>
  & price=<decimal>
  & currency=<string>
  & product_id=<string>
  & [quantity=<int>]
  & [payload=<string>]
  & [transaction_id=<int>]
  & [order_id=<int>]
  & [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. Сервер принимает только один из параметров.

revenue_event_type*

Тип события покупки. Список доступных типов:

  • one_time_purchase — оформление разовой покупки;
  • trial_started — оформление подписки с триальным периодом;
  • intro_started — оформление подписки с intro предложением;
  • promo_started — оформление подписки с promo предложением;
  • subscription_converted — оплата полной стоимости подписки после одного из вводных предложений;
  • subscription_started — оформление подписки без вводных предложений;
  • subscription_renewed — продление оплаты нового периода подписки;
  • cancellation — отмена подписки. После этого события у пользователя может остаться оплаченный период, но еще одного списания не произойдет;
  • uncancellation — событие включения подписки из настроек Apple ID;
  • expired — действие подписки закончилось;
  • billing_issues — ошибка при оплате возобновления подписки;
  • refund — возврат средств за подписку или разовую покупку.

event_timestamp*

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

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

price*

Стоимость. Сумма дохода в формате decimal(10,8) — десятичная дробь с 10 знаками до точки и 8 знаками после точки.

currency

Валюта покупки. Список доступных валют.

product_id

Идентификатор товара.

quantity

Количество покупок (купленных товаров). Значение по умолчанию: 1.

payload

Произвольный payload: дополнительная информация, представленная в виде пар key-value. Максимальный размер составляет 30 КБ. Если значение превышает этот предел, оно будет усечено AppMetrica.

transaction_id

Уникальный идентификатор транзакции.

order_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_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/revenue.csv?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012 HTTP/1.1
Host: api.appmetrica.yandex.ru
Content-Length: 540i
Connection: close

appmetrica_device_id,device_model,device_type,google_aid,app_package_name,operator_name,mnc,application_id,account_id,event_timestamp,price,currency,product_id,quantity,transaction_id,order_id,revenue_event_type
1757762239877245682,iPhone X,phone,01234567-890a-bcde-f012-3456789abcde,com.yandex.sample.metrica,MegaFon,2,1111,1234567890123456789,1689943892,0.0001,usd,some_product1,1,transact1,8101,promo_started
1757762239877245682,iPhone X,phone,76543210-890a-bcde-f012-3456789abcde,com.yandex.sample.metrica,MegaFon,2,1111,9876543210987654321,1689943892,0.0001,usd,some_product2,2,transact2,1234,expired

POST /logs/v1/import/revenue.csv?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012&appmetrica_device_id=1757762239877245682&device_model=iPhoneX&device_type=phone&google_aid=01234567-890a-bcde-f012-3456789abcde&app_package_name=com.yandex.sample.metrica&operator_name=MegaFon&mnc=2&application_id=1111&account_id=1234567890123456789&event_timestamp=1689943892&price=0.0001&currency=usd&product_id=some_product1&quantity=1&transaction_id=transact1&order_id=8101&revenue_event_type=promo_started HTTP/1.1
Host: api.appmetrica.yandex.ru
Content-Length: 0
Connection: close

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

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

Написать в службу поддержки