Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Marketing API v.1.0
* IMPORTANT: This swagger links to Criteo production environment. Any test applied here will thus impact real campaigns.
*
* The version of the OpenAPI document: v.1.0
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.criteo.marketing.api;
import com.criteo.marketing.ApiCallback;
import com.criteo.marketing.ApiClient;
import com.criteo.marketing.ApiException;
import com.criteo.marketing.ApiResponse;
import com.criteo.marketing.Configuration;
import com.criteo.marketing.Pair;
import com.criteo.marketing.ProgressRequestBody;
import com.criteo.marketing.ProgressResponseBody;
import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SellersV2StatsApi {
private ApiClient localVarApiClient;
public SellersV2StatsApi() {
this(Configuration.getDefaultApiClient());
}
public SellersV2StatsApi(ApiClient apiClient) {
this.localVarApiClient = apiClient;
}
public ApiClient getApiClient() {
return localVarApiClient;
}
public void setApiClient(ApiClient apiClient) {
this.localVarApiClient = apiClient;
}
/**
* Build call for campaigns
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public okhttp3.Call campaignsCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/v2/crp/stats/campaigns";
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
if (intervalSize != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("intervalSize", intervalSize));
}
if (clickAttributionPolicy != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("clickAttributionPolicy", clickAttributionPolicy));
}
if (startDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("startDate", startDate));
}
if (endDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("endDate", endDate));
}
if (campaignId != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId));
}
if (count != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("count", count));
}
Map localVarHeaderParams = new HashMap();
if (authorization != null) {
localVarHeaderParams.put("Authorization", localVarApiClient.parameterToString(authorization));
}
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/json", "text/json", "application/xml", "text/xml", "text/html"
};
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) {
localVarHeaderParams.put("Accept", localVarAccept);
}
final String[] localVarContentTypes = {
};
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
String[] localVarAuthNames = new String[] { "Authorization" };
return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
private okhttp3.Call campaignsValidateBeforeCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'authorization' is set
if (authorization == null) {
throw new ApiException("Missing the required parameter 'authorization' when calling campaigns(Async)");
}
okhttp3.Call localVarCall = campaignsCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, campaignId, count, _callback);
return localVarCall;
}
/**
* Get stats by campaign.
* ## Dimensions Get performance statistics aggregated for _campaigns_. The campaign id appears in the output as the first column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by campaign, date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, \"2019-05-01\", 3969032, 13410, 1111.295, 985, 190758099, 0.073, 1.128, 0.000, 171653.880 ], [168423, \"2019-06-01\", 8479603, 25619, 2190.705, 740, 152783656, 0.028, 2.960, 0.000, 69741.775 ] ], \"rows\": 2 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension column comes first and consists of the campaign id. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return byte[]
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public byte[] campaigns(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String campaignId, Integer count) throws ApiException {
ApiResponse localVarResp = campaignsWithHttpInfo(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, campaignId, count);
return localVarResp.getData();
}
/**
* Get stats by campaign.
* ## Dimensions Get performance statistics aggregated for _campaigns_. The campaign id appears in the output as the first column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by campaign, date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, \"2019-05-01\", 3969032, 13410, 1111.295, 985, 190758099, 0.073, 1.128, 0.000, 171653.880 ], [168423, \"2019-06-01\", 8479603, 25619, 2190.705, 740, 152783656, 0.028, 2.960, 0.000, 69741.775 ] ], \"rows\": 2 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension column comes first and consists of the campaign id. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return ApiResponse<byte[]>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public ApiResponse campaignsWithHttpInfo(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String campaignId, Integer count) throws ApiException {
okhttp3.Call localVarCall = campaignsValidateBeforeCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, campaignId, count, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
* Get stats by campaign. (asynchronously)
* ## Dimensions Get performance statistics aggregated for _campaigns_. The campaign id appears in the output as the first column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by campaign, date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, \"2019-05-01\", 3969032, 13410, 1111.295, 985, 190758099, 0.073, 1.128, 0.000, 171653.880 ], [168423, \"2019-06-01\", 8479603, 25619, 2190.705, 740, 152783656, 0.028, 2.960, 0.000, 69741.775 ] ], \"rows\": 2 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension column comes first and consists of the campaign id. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public okhttp3.Call campaignsAsync(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = campaignsValidateBeforeCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, campaignId, count, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
* Build call for sellerCampaigns
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public okhttp3.Call sellerCampaignsCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/v2/crp/stats/seller-campaigns";
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
if (intervalSize != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("intervalSize", intervalSize));
}
if (clickAttributionPolicy != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("clickAttributionPolicy", clickAttributionPolicy));
}
if (startDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("startDate", startDate));
}
if (endDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("endDate", endDate));
}
if (sellerId != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("sellerId", sellerId));
}
if (campaignId != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("campaignId", campaignId));
}
if (count != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("count", count));
}
Map localVarHeaderParams = new HashMap();
if (authorization != null) {
localVarHeaderParams.put("Authorization", localVarApiClient.parameterToString(authorization));
}
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/json", "text/json", "application/xml", "text/xml", "text/html"
};
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) {
localVarHeaderParams.put("Accept", localVarAccept);
}
final String[] localVarContentTypes = {
};
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
String[] localVarAuthNames = new String[] { "Authorization" };
return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
private okhttp3.Call sellerCampaignsValidateBeforeCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'authorization' is set
if (authorization == null) {
throw new ApiException("Missing the required parameter 'authorization' when calling sellerCampaigns(Async)");
}
okhttp3.Call localVarCall = sellerCampaignsCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, campaignId, count, _callback);
return localVarCall;
}
/**
* Get stats by seller-campaign.
* ## Dimensions Get performance statistics aggregated for _seller campaigns_.The campaign id, seller id, and seller name appear in the first three columns of the output. These are followed by the interval size column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The remaining columns are metrics. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, 1110222, \"118883955\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110222, \"118883955\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-05-01\", 12502, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-06-01\", 20266, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the campaign id, seller id, and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return byte[]
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public byte[] sellerCampaigns(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, String campaignId, Integer count) throws ApiException {
ApiResponse localVarResp = sellerCampaignsWithHttpInfo(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, campaignId, count);
return localVarResp.getData();
}
/**
* Get stats by seller-campaign.
* ## Dimensions Get performance statistics aggregated for _seller campaigns_.The campaign id, seller id, and seller name appear in the first three columns of the output. These are followed by the interval size column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The remaining columns are metrics. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, 1110222, \"118883955\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110222, \"118883955\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-05-01\", 12502, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-06-01\", 20266, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the campaign id, seller id, and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return ApiResponse<byte[]>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public ApiResponse sellerCampaignsWithHttpInfo(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, String campaignId, Integer count) throws ApiException {
okhttp3.Call localVarCall = sellerCampaignsValidateBeforeCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, campaignId, count, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
* Get stats by seller-campaign. (asynchronously)
* ## Dimensions Get performance statistics aggregated for _seller campaigns_.The campaign id, seller id, and seller name appear in the first three columns of the output. These are followed by the interval size column. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The remaining columns are metrics. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by date or count. Filtering the results to events associated with a specific campaign is done by setting the `campaignId` filter parameter to the desired value. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [ \"campaignId\", \"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\" ], \"data\": [ [168423, 1110222, \"118883955\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110222, \"118883955\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-05-01\", 12502, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [168423, 1110225, \"117980027\", \"2019-06-01\", 20266, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the campaign id, seller id, and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param campaignId Show only metrics for this campaign (default all campaigns) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public okhttp3.Call sellerCampaignsAsync(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, String campaignId, Integer count, final ApiCallback _callback) throws ApiException {
okhttp3.Call localVarCall = sellerCampaignsValidateBeforeCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, campaignId, count, _callback);
Type localVarReturnType = new TypeToken(){}.getType();
localVarApiClient.executeAsync(localVarCall, localVarReturnType, _callback);
return localVarCall;
}
/**
* Build call for sellers
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback Callback for upload/download progress
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public okhttp3.Call sellersCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, Integer count, final ApiCallback _callback) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/v2/crp/stats/sellers";
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
if (intervalSize != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("intervalSize", intervalSize));
}
if (clickAttributionPolicy != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("clickAttributionPolicy", clickAttributionPolicy));
}
if (startDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("startDate", startDate));
}
if (endDate != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("endDate", endDate));
}
if (sellerId != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("sellerId", sellerId));
}
if (count != null) {
localVarQueryParams.addAll(localVarApiClient.parameterToPair("count", count));
}
Map localVarHeaderParams = new HashMap();
if (authorization != null) {
localVarHeaderParams.put("Authorization", localVarApiClient.parameterToString(authorization));
}
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"application/json", "text/json", "application/xml", "text/xml", "text/html"
};
final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) {
localVarHeaderParams.put("Accept", localVarAccept);
}
final String[] localVarContentTypes = {
};
final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
String[] localVarAuthNames = new String[] { "Authorization" };
return localVarApiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, _callback);
}
@SuppressWarnings("rawtypes")
private okhttp3.Call sellersValidateBeforeCall(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, Integer count, final ApiCallback _callback) throws ApiException {
// verify the required parameter 'authorization' is set
if (authorization == null) {
throw new ApiException("Missing the required parameter 'authorization' when calling sellers(Async)");
}
okhttp3.Call localVarCall = sellersCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, count, _callback);
return localVarCall;
}
/**
* Get stats by seller.
* ## Dimensions Get performance statistics aggregated for _sellers_. The seller id appears in the output in the first column and the seller name appears in the second. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by seller id, date or count. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [\"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\"], \"data\": [ [1200972, \"sellerA\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [1200972, \"sellerA\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [1200974, \"sellerB\", \"2019-05-01\", 10102, 47, 3.29, 3, 396000.0, 0.063, 1.096, 8.308E-6, 120364.741], [1200974, \"sellerB\", \"2019-06-01\", 11576, 54, 3.78, 1, 132000.0, 0.018, 3.78, 2.863E-5, 34920.634] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the seller id and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining metrics depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return byte[]
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public byte[] sellers(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, Integer count) throws ApiException {
ApiResponse localVarResp = sellersWithHttpInfo(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, count);
return localVarResp.getData();
}
/**
* Get stats by seller.
* ## Dimensions Get performance statistics aggregated for _sellers_. The seller id appears in the output in the first column and the seller name appears in the second. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by seller id, date or count. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [\"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\"], \"data\": [ [1200972, \"sellerA\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [1200972, \"sellerA\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [1200974, \"sellerB\", \"2019-05-01\", 10102, 47, 3.29, 3, 396000.0, 0.063, 1.096, 8.308E-6, 120364.741], [1200974, \"sellerB\", \"2019-06-01\", 11576, 54, 3.78, 1, 132000.0, 0.018, 3.78, 2.863E-5, 34920.634] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the seller id and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining metrics depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @return ApiResponse<byte[]>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.
-
500
Unknown error.
-
*/
public ApiResponse sellersWithHttpInfo(String authorization, String intervalSize, String clickAttributionPolicy, OffsetDateTime startDate, OffsetDateTime endDate, String sellerId, Integer count) throws ApiException {
okhttp3.Call localVarCall = sellersValidateBeforeCall(authorization, intervalSize, clickAttributionPolicy, startDate, endDate, sellerId, count, null);
Type localVarReturnType = new TypeToken(){}.getType();
return localVarApiClient.execute(localVarCall, localVarReturnType);
}
/**
* Get stats by seller. (asynchronously)
* ## Dimensions Get performance statistics aggregated for _sellers_. The seller id appears in the output in the first column and the seller name appears in the second. Aggregation can be done by `hour`, `day`, `month`, or `year`. The aggregation interval size is controlled by `intervalSize`. The time interval appears in the output as the second column. ## Metrics The metrics reported by this endpoint are . | Metric Group | Description ---|--------------|------------ A | impressions | Number of times product is shown in a banner B | clicks | Number of clicks on product C | cost | Amount spent for clicks on products D | saleUnits | Number of products sold attributed to clicks E | revenue | Revenue generated by sales F | CR = Conversion Rate | salesUnits / clicks G | CPO = Cost Per Order | cost / salesUnits H | COS = Cost of Sale | cost / revenue I | ROAS = Return On Add Spend | revenue / cost The last six metrics can be computed in two ways depending on the policy to count only the sales that result from clicks on the same sellers product in a banner (same-seller) or not (any-seller). Reporting can be controlled by `clickAttributionPolicy`. The 9 (or 15) metric values appear in the output as the final 9 (or 15) columns. ## Filtering The results can be filtered by seller id, date or count. Filtering the results to events associated with a specific seller is done by setting the `sellerId` filter parameter to the desired value. Filtering the results to events that happened in a time interval is done by setting the `startDate` and `endDate` filter parameters using the `yyyy-MM-DD` format. The start date includes all events timestamped since the beginning of that day while the end date includes events until the end of day. The maximum duration of the date range is 1 year. If the aggregation interval is `hour`, then the maximum duration of the date range is 31 days. Note that month and year aggregate values may contain partial data for the interval if filtering by date. Filtering the results to a maximum number of data rows is done by setting the `count` filter parameter. When combined with startDate this can be used to perform simple pagination. ## Response Format The representation format can be specified by MIME values in the Accept header. For now the only supported values for the accept header is `application/json` and `text/csv`. ```json { \"columns\": [\"sellerId\", \"sellerName\", \"month\", \"impressions\", \"clicks\", \"cost\", \"saleUnits\", \"revenue\", \"cr\", \"cpo\", \"cos\", \"roas\"], \"data\": [ [1200972, \"sellerA\", \"2019-05-01\", 14542, 48, 3.36, 0, 0.0, 0.0, null, null, 0.0], [1200972, \"sellerA\", \"2019-06-01\", 16619, 53, 3.71, 0, 0.0, 0.0, null, null, 0.0], [1200974, \"sellerB\", \"2019-05-01\", 10102, 47, 3.29, 3, 396000.0, 0.063, 1.096, 8.308E-6, 120364.741], [1200974, \"sellerB\", \"2019-06-01\", 11576, 54, 3.78, 1, 132000.0, 0.018, 3.78, 2.863E-5, 34920.634] ], \"rows\": 4 } ``` The JSON result is an object with three fields (`columns`, `data`, and `rows`). The “columns” array acts as the header for the data rows. The categorical dimension columns come first and include the seller id and seller name. The interval column comes next and defines the aggregation period. The interval size is determined by the `intervalSize` parameter. This is followed by either nine or fifteen metrics columns. The first three metrics (impressions, clicks, and cost) always appear. The remaining metrics depend on the `clickAttributionPolicy` parameter. The “data” array contains data rows whose values match the entries in the “columns” array. Id dimensions are numbers while name and date dimensions are strings. The metrics are JSON objects whose type is number. Some of these are natural numbers (e.g. clicks and impressions) whereas others are decimal values. A divide by zero yields null. The currency is assumed to be the local currency established by the advertiser. The “row” value is a count of the number of rows in the data array, and can be used to check the integrity of the data. Further information on the campaign or seller (e.g. the seller name) can be obtained from the existing V1 or V2 endpoints using the campaign and/or seller ID values.
* @param authorization JWT Bearer Token (required)
* @param intervalSize Specify the aggregation interval for events used to compute stats (default is \"day\") (optional)
* @param clickAttributionPolicy Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS (optional)
* @param startDate Filter out all events that occur before date (default is the value of `endDate`) (optional)
* @param endDate Filter out all events that occur after date (default is today’s date) (optional)
* @param sellerId Show only metrics for this seller (default all sellers) (optional)
* @param count Return up to the first count rows of data (default is all rows) (optional)
* @param _callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
* @http.response.details
Status Code
Description
Response Headers
200
OK
-
400
BadRequest
-
401
Authentication failed.
-
403
Forbidden
-
429
Throttling failure. Maximum sending rate exceeded.