Загрузка событий 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 *Числовой идентификатор приложения.
profile_id *Идентификатор профиля пользователя. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK. Обязателен, если не указан appmetrica_device_id.
Внимание. Не передавайте значение вместе с параметром appmetrica_device_id. Сервер принимает только один из параметров.
appmetrica_device_id *Хеш от уникального идентификатора устройства, который устанавливает AppMetrica. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK. Обязателен, если не указан profile_id.
Внимание. Не передавайте значение вместе с параметром 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_ifaIFA устройства.
ios_ifvIFV устройства.
google_aidGoogle AID устройства.
windows_aidWindows AID устройства.
os_nameИмя операционной системы на устройстве пользователя. Возможные значения: ios | android | windows.
os_versionВерсия операционной системы на устройстве пользователя.
device_manufacturerПроизводитель устройства. Например, Apple, Samsung.
device_modelМодель устройства. Например, Galaxy S6, iPhone X.
device_typeТип устройства, определяется сервисом AppMetrica. Возможные значения: phone | tablet | phablet | tv | desktop | unknown.
device_localeЯзык интерфейса устройства. Например, en_US
app_version_nameВерсия приложения в виде, как указана разработчиком.
app_package_nameИмя пакета для Android или Bundle ID для iOS. Например, ru.yandex.sample.metrica.
connection_typeТип подключения устройства. Возможные значения: wifi | cell | unknown.
operator_nameИмя оператора сотовой связи. Например, MegaFon.
mccМобильный код страны. Например, 250
mncКод мобильной сети. Например, 2
device_ipv6IP-адрес в момент совершения события в формате IPv6. Например, 2a02:6b8::40c:6676:baff:fea6:53d8, ::ffff:5.255.232.147
post_api_key *Токен для загрузки данных. Его можно получить в разделе Настройки вашего приложения.
application_id *Числовой идентификатор приложения.
profile_id *Идентификатор профиля пользователя. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK. Обязателен, если не указан appmetrica_device_id.
Внимание. Не передавайте значение вместе с параметром appmetrica_device_id. Сервер принимает только один из параметров.
appmetrica_device_id *Хеш от уникального идентификатора устройства, который устанавливает AppMetrica. Post API позволяет загружать данные только для идентификаторов, которые предварительно были отправлены через SDK. Обязателен, если не указан profile_id.
Внимание. Не передавайте значение вместе с параметром 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_ifaIFA устройства.
ios_ifvIFV устройства.
google_aidGoogle AID устройства.
windows_aidWindows AID устройства.
os_nameИмя операционной системы на устройстве пользователя. Возможные значения: ios | android | windows.
os_versionВерсия операционной системы на устройстве пользователя.
device_manufacturerПроизводитель устройства. Например, Apple, Samsung.
device_modelМодель устройства. Например, Galaxy S6, iPhone X.
device_typeТип устройства, определяется сервисом AppMetrica. Возможные значения: phone | tablet | phablet | tv | desktop | unknown.
device_localeЯзык интерфейса устройства. Например, en_US
app_version_nameВерсия приложения в виде, как указана разработчиком.
app_package_nameИмя пакета для Android или Bundle ID для iOS. Например, ru.yandex.sample.metrica.
connection_typeТип подключения устройства. Возможные значения: wifi | cell | unknown.
operator_nameИмя оператора сотовой связи. Например, MegaFon.
mccМобильный код страны. Например, 250
mncКод мобильной сети. Например, 2
device_ipv6IP-адрес в момент совершения события в формате IPv6. Например, 2a02:6b8::40c:6676:baff:fea6:53d8, ::ffff:5.255.232.147

* Обязательный параметр

Коды ответа

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

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

POST /logs/v1/import/revenue.csv?post_api_key=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012 HTTP/1.1
Host: api.appmetrica.yandex.com
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 API