Иногда стандартной эфирной справки бывает недостаточно и требуются данные о факте каждого воспроизвдения. Для данной задачи можно использовать API.

Внимание! Каждый месяц плееры отправляют на сервер visiobox.cloud несколько миллиардов записей о факте воспроизведения. Для того, чтобы база данных не была очень большой и не терялась производительность, сервер агрегирует эти данные в эфирные справки и удаляет логи воспроизведений старше 7 дней. Поэтому если запросить логи, то возможно получить только лог последних семи дней. Если вам нужны всегда актуальные логи, то нужно их запрашивать раз в сутки и сохранять у себя.

Второй вариант - купить свою серверную лицензию. В таком случае у вас не будет ограничений по срокам хранения логов в базе (при этом нужно думать о разумном балансе необходимости иметь такой архив и производительности).

Выгрузка данных о воспроизведении

У нас есть токен авторизации и ID последнего воспроизведения, которое есть у нас в базе (или 0, если ничего нет). Отправляем запрос.

curl -H "Authorization: OAuth <token>" 'https://visiobox.cloud/v3/playback_item_playback?max_id=12345'

Получаем ответ

< HTTP/1.1 503 SERVICE UNAVAILABLE
<
{"message": "The server is temporarily unable to service your request due to maintenance downtime or capacity problems.  Please try again later."}

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

< HTTP/1.1 302 FOUND
< Location: https://testing.visiobox.cloud/reports/GnWLOvCdF6oYTb9tKM1bhDNL1ogV6nrHWq6JX90rjc7wWEOnajma3tGTh3NlkENu.csv.zip
< 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="/reports/GnWLOvCdF6oYTb9tKM1bhDNL1ogV6nrHWq6JX90rjc7wWEOnajma3tGTh3NlkENu.csv.zip">/reports/GnWLOvCdF6oYTb9tKM1bhDNL1ogV6nrHWq6JX90rjc7wWEOnajma3tGTh3NlkENu.csv.zip</a>.  If not click the link.

Можно выбирать только воспроизведения выбранных рекламных кампаний:

curl -H "Authorization: OAuth <token>" 'https://visiobox.cloud/v3/playback_item_playback?max_id=12345&ad_campaign_id=6789&ad_campaign_id=6791'

Получить список рекламных кампаний можно так:

curl -H "Authorization: OAuth <token>" 'https://visiobox.cloud/v3/od/campaigns?limit=-1'

Кампании можно фильтровать по статусу (deleted, pending, running, finished; по умолчанию все, кроме deleted):

curl -H "Authorization: OAuth <token>" 'https://visiobox.cloud/v3/od/campaigns?state=pending'