Краткий обзор. Используйте API межсерверных событий в вебе (веб-S2S), чтобы сообщать в PBA о событиях и конверсиях, о которых не сообщает веб-SDK.
API межсерверных событий в вебе для PBA
API веб-S2S для атрибуции People-Based дополняет веб-SDK, позволяя маркетологам сообщать о событиях, происходящих на их сайтах, но не входящих в сферу веб-SDK. Например, посетитель сайта (веб-пользователь) запускает событие онлайн-платежа, которое обрабатывается внутренними системами. После обработки бэкэнд, используя API S2S, сообщает о событии в AppsFlyer.
События, отправленные API S2S:
- регистрируются аналогично событиям, сообщаемым через веб-SDK,
- показаны на дэшбордах PBA, если они указаны как события конверсии,
- заполняют сырые данные PBA, где для поля event_source установлено веб-S2S.
Инструкции по использованию API
Создайте вызов API, используя следующие разделы.
№ | Элемент | Примечания |
---|---|---|
1 | Уникальный идентификатор пользователя |
|
2 | Временная метка |
|
3 | Доходы и валюта | Вы должны заполнить eventRevenueCurrency и eventRevenue, даже если значения содержатся в eventValue. Сделайте это, потому что мы используем их на наших дэшбордах. |
Основы API
Для реализации API требуются следующие учетные данные, доступные на дэшборде:
- Идентификатор пакета (он же идентификатор пакета бренда)
- Веб-ключ разработчика
Чтобы получить учетные данные:
- В AppsFlyer в верхнем меню выберите Мои приложения > Просмотр пакетов брендов.
Отобразится список пакетов. - Скопируйте и запишите:
- Идентификатор пакета бренда
- Веб-ключ разработчика
Основы API веб-S2S
Путь |
|
HTTP-метод | POST |
Принятый тип контента |
application/json |
Ограничение размера JSON |
Размер полезной нагрузки JSON: не более 1 КБ |
Ограничение предоставления данных |
Ограничение POST: 60 000 POST в минуту. Чтобы увеличить лимит, обратитесь к своему менеджеру. |
TLS |
|
Метод setCuId
Название метода |
setCuId |
Пример использования |
О привязке CUID к посетителю вашего сайта. Например, каждый раз, когда вы сопоставляете веб |
Путь к методу |
|
Полезная нагрузка |
Полезная нагрузка JSON состоит из перечисленных здесь параметров. Все параметры являются обязательными. |
Пример Curl setCuId
curl --location --request POST 'https://webs2s.appsflyer.com/v1/bundleId/setcuid' \
--header 'Accept-Encoding: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"customerUserId": "1234567890abcdef",
"afUserId":"9999999-f848-4963-a091-568f0bf9a361",
"webDevKey" : "99999999-9999-9999-9999-999999999999"}
Метод события
Название метода |
event |
Пример использования | Отправить |
Путь к методу |
|
Подробная информация | В разделе Описание метода события этой статьи содержится информация о полезной нагрузке, пример Curl, пример Python и рекомендации по тестированию. |
Описание метода события
Параметры полезных данных
Параметры полезной нагрузки делятся на идентификаторы пользователей и параметры событий.
- Идентификатор пользователя: Вы должны отправить хотя бы один параметр идентификатора пользователя.
- Событие: Отправьте обязательные параметры и необязательные по мере необходимости.
Параметры идентификатора пользователя (отправьте хотя бы один параметр)
Параметр Идентификатор пользователя | Описание |
---|---|
customerUserId |
Идентификатор клиента (CUID) — это уникальный идентификатор, установленный вами.
|
afUserId |
Уникальный идентификатор пользователя, присваиваемый веб-SDK каждому пользователю, который посещает ваш сайт. Вам нужно будет передать значение cookie на внутренние серверы.
|
Параметры события
Имя параметра | Обязательно/Не обязательно | Описание |
---|---|---|
webDevKey |
Да |
Заполните с помощью веб-ключа разработчика, доступного на дэшборде.
|
eventType | Да |
Идентификатор атрибута события для внутреннего использования AppsFlyer. Всегда устанавливается на EVENT.
|
eventName | Да |
|
timestamp | Нет |
Время наступления события в миллисекундах. Отправьте в виде временной метки Unix, состоящей из 13 цифр.
|
eventValue | Нет |
Сопоставление параметров события, описывающих событие. Используйте этот параметр для отправки расширенных внутренних событий приложения, таких как артикул товара, цена позиции.
|
eventRevenueCurrency | Нет |
Код валюты для события выручки, представляющий собой код валюты по ISO 4217 из 3 символов.
|
eventRevenue | Нет |
Доход (денежное выражение), назначенный событию. Внимание! Если доход указан в eventValue, укажите его также в eventRevenue и заполните eventRevenueCurrency.
|
Нет | Этот параметр устарел и будет удален из системы в будущем. Вместо этого используйте eventValue. | |
Нет |
Этот параметр устарел и будет удален из системы в будущем. Вместо этого используйте eventValue. |
|
Referrer | Нет |
Источник ссылки HTTP
|
userAgent | Нет |
Запрос пользовательского агента, отправляемый браузером на сервер.
|
ip | Нет |
IP-адрес пользователя
|
Пример curl
curl --location --request POST 'https://webs2s.appsflyer.com/v1/bundleId/event' \
--header 'Accept-Encoding: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
"customerUserId": "1234567890abcdef",
"afUserId":"9999999-f848-4963-a091-568f0bf9a361",
"webDevKey" : "99999999-9999-9999-9999-999999999999",
"ip" : "192.0.2.1",
"eventType":"EVENT",
"timestamp" : 1234567890123,
"eventName":"my_web_event",
"eventRevenueCurrency" : "EUR",
"eventRevenue" : 1234.56,
"eventValue": {
"purchase":{
"shoes": "color",
"quantity" : "3",
"Revenue" : "1234.56",
"Currency" : "ZAR"
}
}
}'
Пример Python
''' using the requests python package, install using pip install requests '''
import requests
url = "https://webs2s.appsflyer.com/v1/bundleId/event"
payload = {
"customerUserId": "1234567890abcdef",
"afUserId": "9999999-f848-4963-a091-568f0bf9a361",
"webDevKey": "99999999-9999-9999-9999-999999999999",
"ip": "192.0.2.1",
"eventType": "EVENT",
"timestamp": 1234567890123,
"eventName": "my_web_event",
"eventRevenenuCurrency": "EUR",
"eventRevenue": 1234.56,
"eventValue":
{
"purchase":
{
"shoes": "color",
"quantity": "3",
"Revenue": "1234.56",
"Currency": "ZAR"
}
}
}
headers = {
'Accept-Encoding': 'application/json',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, json=payload)
print(response.text.encode('utf8'))
Тестирование
Для тестирования отправьте несколько событий следующим образом:
- Отправьте событие.
- Убедитесь, что вы получили код возврата 200 OK. Если нет, примите меры по исправлению ситуации, используя коды возврата и сообщения об ошибках.
- Подождите несколько часов после полуночи UTC, чтобы увидеть зарегистрированное событие в сырых данных PBA. Вы должны подождать, потому что данные PBA обрабатываются один раз в день.
Дополнительные сведения
Получение веб-ключа разработчика.
Извлечение afUserID из веб-SDK
afUserId
— это уникальный идентификатор, устанавливаемый в веб-SDK при первом посещении пользователем вашего сайта.- Если вам нужен
afUserId
, воспользуйтесь одним из следующих способов.
Получение afUserId из заголовка HTTP cookie
- Значение
afUserId
отправляется браузером посетителя при обращении к вашему сайту. - При необходимости извлеките его из заголовка HTTP cookie.
Просмотр afUserId в браузере посетителя
- Просмотрите
afUserId
в браузере посетителя в целях устранения неполадок и отладки. - Чтобы параметр стал доступен, посетитель должен хотя бы один раз зайти на страницу с веб-SDK.
- Файл cookie, содержащий
afUserId
, является файлом cookie первой стороны по отношению к вашему домену. - Следующая процедура была подготовлена с использованием Chrome 81. В разных браузерах и операционных системах могут быть некоторые различия.
Чтобы получить afUserId из браузера посетителя:
- В своем браузере перейдите на свой сайт.
-
Нажмите правой кнопкой мыши, выберите Inspect.
Откроется окно браузера для проверки элементов. - Перейти на вкладку (A) Application.
- В боковом меню (B) раскройте Cookies.
- Выберите свой сайт. Если он не отображается, обновите браузер.
- В поле (C) фильтр введите
afUserId
Отобразится значение afUserID.
Коды ответа
Код ответа | Сообщение | Способ устранения |
---|---|---|
200 | OK | |
404 | Not found |
|
400 | Bad request |
|
Устранение неполадок
- Признак ошибки: Коды возврата HTTP не возвращаются
Решение: Внесите серверы AppsFlyer в список разрешенных
Примечания
Дата | Версия конечной точки* | Примечания |
---|---|---|
12.05.2020 | 1 | Первоначальный выпуск |
24.05.2020 | 1 | |
* Номер версии относится к номеру версии конечной точки. https://webs2s.appsflyer.com/v1/method
|