Загрузка офлайн событий в систему TargetADS
Шаг 1. Авторизация
Для взаимодействия с API системы используется метод авторизации через токен типа Bearer. Чтобы авторизовать запрос, нужно включить в заголовок Authorization токен в следующем формате: Bearer <авторизационный токен>.
Чтобы получить авторизационный токен, выполните следующие шаги:
  1. Войдите в личный кабинет на сайте.
  2. Перейдите в раздел "Настройки".
  3. Найдите вкладку "API", где и сможете сгенерировать новый токен для авторизации.
Есть два типа загрузки: пакетная и стриминговая. Стриминговая предназначена для загрузки событий по штучно, в реалтайм, а пакетная для загрузки на следующий день большим объемом.
Шаг 2. Событийная загрузка
Если желаете отправить отдельное событие, следует использовать метод событийной загрузки. Для этого отправьте POST-запрос на следующий URL:
https://eye.targetads.io/api/project/event/upload?pid=<id проекта>
В теле запроса необходимо передать данные в формате JSON с информацией о событии.
Пример запроса (стриминг)
{

"uid":  "462f9a7880b4ed96ccd3159c0d0c0246",

"event_type": "target_type",

"event_category": "target_category",

"event_name": "target_name",

"event_value": 1000,

"cp": {"segment": "new"}

}
Важно! В событийном API время по умолчанию берется северное, для передачи времени в этом событии, необходимо в ссылку добавить get параметр в url edttm=1752883200.

Пример: https://eye.targetads.io/api/project/event/upload?pid=<id проекта>&edttm=1752883200


Если загрузка события прошла успешно, сервер вернёт код ответа HTTP 200.

В случае возникновения ошибки при обработке запроса сервер вернёт код ответа HTTP 400. Также в теле ответа будет представлен JSON-объект, содержащий текст ошибки в поле "error".

Шаг 3. Пакетная загрузка
Для пакетной загрузки оффлайн событий следует отправить POST-запрос на следующий URL: https://eye.targetads.io/api/project/event/upload/batch?pid=<id проекта>
Тело запроса должно содержать JSON, в котором указывается массив объектов, соответствующих формату, используемому для событийной загрузки.

Кол-во объектов не должно превышать 1000 шт.
Пример запроса (пакетная загрузка)
[{
    "uid": "546bgbggg",
    "edttm": 1714291174,
    "event_type": "type",
    "event_category": "category",
    "event_name": "test",
    "event_value": 1000,
    "cp": {"segemtn": "segment"}
},{
    "uid": "546bgbggg1",
    "edttm": 1714291174,
    "event_type": "type",
    "event_category": "category",
    "event_name": "test",
    "event_value": 1000,
    "cp": {"segemtn": "segment"}
},{
    "uid": "546bgbggg2",
    "edttm": 1714291174,
    "event_type": "type",
    "event_category": "category",
    "event_name": "test",
    "event_value": 1000,
    "cp": {"segemtn": "segment"}
},{
    "uid": "546bgbggg3",
    "edttm": 1714291174,
    "event_type": "type",
    "event_category": "category",
    "event_name": "test",
    "event_value": 1000,
    "cp": {"segemtn": "segment"}
}]
В случае успешной загрузки всех событий система возвращает код ответа HTTP 200 и JSON-объект, где количество успешно загруженных событий указывается в поле items_upload.

Если не удалось загрузить ни одного события, сервер вернёт код ответа HTTP 400, а также JSON-объект с описанием ошибки в поле "error".

Когда загрузилась только часть из отправленных событий, ответ сервера будет с кодом HTTP 200. В теле ответа будет JSON-объект, содержащий детали по каждому из событий, включая информацию о тех, которые не были загружены.
Шаг 4. Ecommerce-данные
Если требуется отправить ecommerce-параметры по события, следует использовать метод событийной загрузки. Для этого отправьте POST-запрос на следующий URL:
https://eye.targetads.io/api/project/event/upload?pid=<id проекта>
В теле запроса необходимо передать данные в формате JSON с ecommerce-параметрами о событии.
[{
    "uid": String,
    "edttm": Timestamp,
    "event_type": String,
    "event_category": String,
    "event_name": String,
    "event_value": Float32,
    "ecommerce": {
        "type": String,
        "id": String,
        "quantity": Int,
        "amount": Float32
    },
    "ecommerce_items": {
        "id": [
            String,
            String
        ],
        "title": [
            String,
            String
        ],
        "category1": [
            String,
            String
        ],
        "category2": [
            String,
            String
        ],
        "brand": [
            String,
            String"
        ],
        "variant": [
            String,
            String
        ],
        "quantity": [
            Int,
            Int
        ],
        "price": [
            Float32,
            Float32
        ]
        
    }
}]
Кол-во объектов не должно превышать 1000 шт.

В случае успешной загрузки всех событий система возвращает код ответа HTTP 200 и JSON-объект, где количество успешно загруженных событий указывается в поле items_upload.

Если не удалось загрузить ни одного события, сервер вернёт код ответа HTTP 400, а также JSON-объект с описанием ошибки в поле "error".

Когда загрузилась только часть из отправленных событий, ответ сервера будет с кодом HTTP 200. В теле ответа будет JSON-объект, содержащий детали по каждому из событий, включая информацию о тех, которые не были загружены.
Перейти к созданию источника в TargetADS

Давай настроим источник, чтобы все корректно работало.