com.taboola.backstage.services.AdvertiserReportsService Maven / Gradle / Ivy
package com.taboola.backstage.services;
import com.taboola.backstage.exceptions.BackstageAPIConnectivityException;
import com.taboola.backstage.exceptions.BackstageAPIRequestException;
import com.taboola.backstage.exceptions.BackstageAPIUnauthorizedException;
import com.taboola.backstage.model.auth.BackstageAuthentication;
import com.taboola.backstage.model.media.reports.*;
import java.time.LocalDate;
import java.util.Map;
/**
* Created by vladi
* Date: 2/3/2018
* Time: 12:22 AM
* By Taboola
*/
public interface AdvertiserReportsService {
/**
*
* The "Top Campaign Content" report is an advertiser report. This report lists the top 1000 Items of
* a Campaign. The report allows fetching the top 1000 Items for all Campaigns of an Account, or
* filter the results to include only the Items of a specific Campaign.
*
*
* @param auth Authentication object {@link BackstageAuthentication}
* @param accountId Specific {@link com.taboola.backstage.model.Account Account.getId()}
* @param startDate From {@link LocalDate} period
* @param endDate To {@link LocalDate} period
* @return Report data in form of {@link TopCampaignContentReport} object
* @throws BackstageAPIUnauthorizedException {@link com.taboola.backstage.model.auth.Token Token} is expired or bad credentials
* @throws BackstageAPIConnectivityException Connectivity issues (HTTP status 5xx)
* @throws BackstageAPIRequestException Bad request (HTTP status 4xx)
*/
TopCampaignContentReport getTopCampaignContentReport(BackstageAuthentication auth, String accountId,
LocalDate startDate, LocalDate endDate) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException;
/**
*
* The "Top Campaign Content" report is an advertiser report. This report lists the top 1000 Items of
* a Campaign. The report allows fetching the top 1000 Items for all Campaigns of an Account, or
* filter the results to include only the Items of a specific Campaign.
*
*
* @param auth Authentication object {@link BackstageAuthentication}
* @param accountId Specific {@link com.taboola.backstage.model.Account Account.getId()}
* @param startDate From {@link LocalDate} period
* @param endDate To {@link LocalDate} period
* @param filters Optional report filters ({@link TopCampaignContentOptionalFilters})
* @return Report data in form of {@link TopCampaignContentReport} object
* @throws BackstageAPIUnauthorizedException {@link com.taboola.backstage.model.auth.Token Token} is expired or bad credentials
* @throws BackstageAPIConnectivityException Connectivity issues (HTTP status 5xx)
* @throws BackstageAPIRequestException Bad request (HTTP status 4xx)
*/
TopCampaignContentReport getTopCampaignContentReport(BackstageAuthentication auth, String accountId,
LocalDate startDate, LocalDate endDate,
Map filters) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException;
/**
*
* The "Campaign Summary" report is an advertiser report. This report provides general campaign
* metrics such as impressions, clicks, conversions, spend, as well as performance metrics such
* as CTR, CPC, CPM, CPA. The report can be broken down by date, campaign, referring site,
* country or platform.
*
*
* @param auth Authentication object {@link BackstageAuthentication}
* @param accountId Specific {@link com.taboola.backstage.model.Account Account.getId()}
* @param startDate From {@link LocalDate} period
* @param endDate To {@link LocalDate} period
* @param dimension {@link CampaignSummaryDimensions} enum
* @return Report data in form of {@link CampaignSummaryReport} object
* @throws BackstageAPIUnauthorizedException {@link com.taboola.backstage.model.auth.Token Token} is expired or bad credentials
* @throws BackstageAPIConnectivityException Connectivity issues (HTTP status 5xx)
* @throws BackstageAPIRequestException Bad request (HTTP status 4xx)
*/
CampaignSummaryReport getCampaignSummaryReport(BackstageAuthentication auth, String accountId, LocalDate startDate, LocalDate endDate, CampaignSummaryDimensions dimension) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException;
/**
*
* The "Campaign Summary" report is an advertiser report. This report provides general campaign
* metrics such as impressions, clicks, conversions, spend, as well as performance metrics such
* as CTR, CPC, CPM, CPA. The report can be broken down by date, campaign, referring site,
* country or platform.
*
*
* @param auth Authentication object {@link BackstageAuthentication}
* @param accountId Specific {@link com.taboola.backstage.model.Account Account.getId()}
* @param startDate From {@link LocalDate} period
* @param endDate To {@link LocalDate} period
* @param dimension {@link CampaignSummaryDimensions} enum
* @param filters Optional report filters ({@link CampaignSummaryOptionalFilters})
* @return Report data in form of {@link CampaignSummaryReport} object
* @throws BackstageAPIUnauthorizedException {@link com.taboola.backstage.model.auth.Token Token} is expired or bad credentials
* @throws BackstageAPIConnectivityException Connectivity issues (HTTP status 5xx)
* @throws BackstageAPIRequestException Bad request (HTTP status 4xx)
*/
CampaignSummaryReport getCampaignSummaryReport(BackstageAuthentication auth, String accountId, LocalDate startDate, LocalDate endDate,
CampaignSummaryDimensions dimension, Map filters) throws BackstageAPIUnauthorizedException, BackstageAPIConnectivityException, BackstageAPIRequestException;
}