keitaro-api-skill/references/paths/report_build.yaml

750 lines
15 KiB
YAML

post:
tags:
- Reports
security:
- ApiKeyAuth: []
summary: Build custom report
description: >
<style>
.list-flex {
display: flex;
list-style: none;
flex-wrap: wrap;
}
.list-flex li {
width: 200px;
}
</style>
<h3 id='operators'>
List of available operators:
</h3>
<div class="table sectionedit75 table-responsive"><table class="inline table
table-striped table-condensed table-bordered">
<thead>
<tr class="row0">
<th class="col0 leftalign"> Operator </th><th class="col1 leftalign"> Type </th><th class="col2 leftalign"> Expression Example </th>
</tr>
</thead>
<tbody><tr class="row1">
<td class="col0"> EQUALS </td><td class="col1 leftalign"> Number </td><td class="col2 leftalign"> 10 </td>
</tr>
<tr class="row2">
<td class="col0 leftalign"> NOT_EQUAL </td><td class="col1 leftalign"> Number </td><td class="col2 leftalign"> 10 </td>
</tr>
<tr class="row3">
<td class="col0 leftalign"> EQUALS_OR_GREATER_THAN </td><td class="col1 leftalign"> Number </td><td class="col2 leftalign"> 10 </td>
</tr>
<tr class="row4">
<td class="col0 leftalign"> EQUALS_OR_LESS_THAN </td><td class="col1 leftalign"> Number </td><td class="col2 leftalign"> 10 </td>
</tr>
<tr class="row5">
<td class="col0 leftalign"> GREATER_THAN </td><td class="col1 leftalign"> Number </td><td class="col2 leftalign"> 10 </td>
</tr>
<tr class="row6">
<td class="col0 leftalign"> LESS_THAN </td><td class="col1 leftalign"> Number </td><td class="col2"> 10</td>
</tr>
<tr class="row7">
<td class="col0 leftalign"> MATCH_REGEXP </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> /uuid=100[0-9]{2}/ </td>
</tr>
<tr class="row8">
<td class="col0 leftalign"> NOT_MATCH_REGEXP </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> /uuid=100[0-9]{2}/ </td>
</tr>
<tr class="row9">
<td class="col0"> BEGINS_WITH </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> abc </td>
</tr>
<tr class="row10">
<td class="col0"> ENDS_WITH </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> zyx </td>
</tr>
<tr class="row11">
<td class="col0 leftalign"> CONTAINS </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> mnp </td>
</tr>
<tr class="row12">
<td class="col0 leftalign"> NOT_CONTAIN </td><td class="col1 leftalign"> String </td><td class="col2 leftalign"> abc </td>
</tr>
<tr class="row13">
<td class="col0 leftalign"> IN_LIST </td><td class="col1 leftalign"> Array </td><td class="col2 leftalign"> [“a”, “b”, “c”] </td>
</tr>
<tr class="row14">
<td class="col0 leftalign"> NOT_IN_LIST </td><td class="col1 leftalign"> Array </td><td class="col2 leftalign"> [“a”, “b”, “c”] </td>
</tr>
<tr class="row15">
<td class="col0 leftalign"> BETWEEN </td><td class="col1 leftalign"> Array </td><td class="col2"></td>
</tr>
<tr class="row16">
<td class="col0 leftalign"> IS_SET </td><td class="col1 leftalign"> </td><td class="col2"></td>
</tr>
<tr class="row17">
<td class="col0 leftalign"> IS_NOT_SET </td><td class="col1 leftalign"> </td><td class="col2"></td>
</tr>
<tr class="row18">
<td class="col0 leftalign"> IS_TRUE </td><td class="col1 leftalign"> </td><td class="col2"></td>
</tr>
<tr class="row19">
<td class="col0 leftalign"> IS_FALSE </td><td class="col1 leftalign"> </td><td class="col2"></td>
</tr>
<tr class="row20">
<td class="col0 leftalign"> HAS_LABEL </td><td class="col1 leftalign"> <code>whitelist</code> or <code>blacklist</code> </td><td class="col2"></td>
</tr>
<tr class="row21">
<td class="col0 leftalign"> NOT_HAS_LABEL </td><td class="col1 leftalign"> <code>whitelist</code> or <code>blacklist</code> </td><td class="col2"></td>
</tr>
</tbody></table></div>
<h3 class="sectionedit78" id="field_metrics">Field 'metrics'</h3>
<div class="level3">
<h4>
Stats
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> clicks</div>
</li>
<li class="level1"><div class="li"> campaign_unique_clicks</div>
</li>
<li class="level1"><div class="li"> stream_unique_clicks</div>
</li>
<li class="level1"><div class="li"> global_unique_clicks</div>
</li>
<li class="level1"><div class="li"> uc_campaign_rate</div>
</li>
<li class="level1"><div class="li"> uc_stream_rate</div>
</li>
<li class="level1"><div class="li"> uc_global_rate</div>
</li>
<li class="level1"><div class="li"> bots</div>
</li>
<li class="level1"><div class="li"> bot_share</div>
</li>
<li class="level1"><div class="li"> proxies</div>
</li>
<li class="level1"><div class="li"> empty_referrers</div>
</li>
<li class="level1"><div class="li"> conversions</div>
</li>
<li class="level1"><div class="li"> leads</div>
</li>
<li class="level1"><div class="li"> sales</div>
</li>
<li class="level1"><div class="li"> rejected</div>
</li>
<li class="level1"><div class="li"> rebills</div>
</li>
<li class="level1"><div class="li"> approve</div>
</li>
<li class="level1"><div class="li"> lp_clicks</div>
</li>
<li class="level1"><div class="li"> lp_ctr</div>
</li>
<li class="level1"><div class="li"> landing_clicked_period</div>
</li>
<li class="level1"><div class="li"> cr</div>
</li>
<li class="level1"><div class="li"> crs</div>
</li>
<li class="level1"><div class="li"> crl</div>
</li>
<li class="level1"><div class="li"> roi</div>
</li>
<li class="level1"><div class="li"> roi_confirmed</div>
</li>
<li class="level1"><div class="li"> epc</div>
</li>
<li class="level1"><div class="li"> epc_confirmed</div>
</li>
<li class="level1"><div class="li"> cps</div>
</li>
<li class="level1"><div class="li"> cpa</div>
</li>
<li class="level1"><div class="li"> cpc</div>
</li>
<li class="level1"><div class="li"> ecpc</div>
</li>
<li class="level1"><div class="li"> ecpm</div>
</li>
<li class="level1"><div class="li"> ecpm_confirmed</div>
</li>
<li class="level1"><div class="li"> ec</div>
</li>
<li class="level1"><div class="li"> ec_confirmed</div>
</li>
</ul>
<h4>
Money
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> profitability</div>
</li>
<li class="level1"><div class="li"> cost</div>
</li>
<li class="level1"><div class="li"> revenue</div>
</li>
<li class="level1"><div class="li"> profit</div>
</li>
<li class="level1"><div class="li"> lead_revenue</div>
</li>
<li class="level1"><div class="li"> sale_revenue</div>
</li>
<li class="level1"><div class="li"> rejected_revenue</div>
</li>
<li class="level1"><div class="li"> profit_confirmed</div>
</li>
</ul>
</div>
<h3 class="sectionedit79" id="field_columns1">Field 'columns'</h3>
<div class="level3">
<h4>
IDS
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> click_id</div>
</li>
<li class="level1"><div class="li"> sub_id</div>
</li>
<li class="level1"><div class="li"> visitor_code</div>
</li>
<li class="level1"><div class="li"> campaign_id</div>
</li>
<li class="level1"><div class="li"> campaign_group_id</div>
</li>
<li class="level1"><div class="li"> parent_campaign_id</div>
</li>
<li class="level1"><div class="li"> landing_id</div>
</li>
<li class="level1"><div class="li"> offer_id</div>
</li>
<li class="level1"><div class="li"> ts_id</div>
</li>
<li class="level1"><div class="li"> stream_id</div>
</li>
<li class="level1"><div class="li"> language_id</div>
</li>
<li class="level1"><div class="li"> device_type_id</div>
</li>
</ul>
<h4>
Data
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> campaign</div>
</li>
<li class="level1"><div class="li"> campaign_group</div>
</li>
<li class="level1"><div class="li"> parent_campaign</div>
</li>
<li class="level1"><div class="li"> landing</div>
</li>
<li class="level1"><div class="li"> landing_clicked_datetime</div>
</li>
<li class="level1"><div class="li"> landing_clicked_period</div>
</li>
<li class="level1"><div class="li"> offer</div>
</li>
<li class="level1"><div class="li"> ts</div>
</li>
<li class="level1"><div class="li"> affiliate_network</div>
</li>
<li class="level1"><div class="li"> stream</div>
</li>
<li class="level1"><div class="li"> language</div>
</li>
<li class="level1"><div class="li"> device_type</div>
</li>
<li class="level1"><div class="li"> connection_type</div>
</li>
<li class="level1"><div class="li"> ip</div>
</li>
<li class="level1"><div class="li"> country_code</div>
</li>
<li class="level1"><div class="li"> country</div>
</li>
<li class="level1"><div class="li"> region</div>
</li>
<li class="level1"><div class="li"> city</div>
</li>
<li class="level1"><div class="li"> user_agent</div>
</li>
<li class="level1"><div class="li"> operator</div>
</li>
<li class="level1"><div class="li"> os</div>
</li>
<li class="level1"><div class="li"> os_version</div>
</li>
<li class="level1"><div class="li"> browser</div>
</li>
<li class="level1"><div class="li"> browser_version</div>
</li>
<li class="level1"><div class="li"> device_model</div>
</li>
<li class="level1"><div class="li"> isp</div>
</li>
<li class="level1"><div class="li"> source</div>
</li>
<li class="level1"><div class="li"> referrer</div>
</li>
<li class="level1"><div class="li"> search_engine</div>
</li>
<li class="level1"><div class="li"> keyword</div>
</li>
<li class="level1"><div class="li"> destination</div>
</li>
<li class="level1"><div class="li"> sub_id_1..30</div>
</li>
<li class="level1"><div class="li"> extra_param_1..10</div>
</li>
<li class="level1"><div class="li"> revenue</div>
</li>
<li class="level1"><div class="li"> cost</div>
</li>
<li class="level1"><div class="li"> profit</div>
</li>
<li class="level1"><div class="li"> ad_campaign_id</div>
</li>
<li class="level1"><div class="li"> external_id</div>
</li>
<li class="level1"><div class="li"> creative_id</div>
</li>
</ul>
<h4>
Flags
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> is_unique_stream</div>
</li>
<li class="level1"><div class="li"> is_unique_campaign</div>
</li>
<li class="level1"><div class="li"> is_lead</div>
</li>
<li class="level1"><div class="li"> is_sale</div>
</li>
<li class="level1"><div class="li"> is_rejected</div>
</li>
<li class="level1"><div class="li"> is_bot</div>
</li>
<li class="level1"><div class="li"> is_using_proxy</div>
</li>
</ul>
<h4>
Date and Time
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> datetime</div>
</li>
<li class="level1"><div class="li"> year</div>
</li>
<li class="level1"><div class="li"> month</div>
</li>
<li class="level1"><div class="li"> week</div>
</li>
<li class="level1"><div class="li"> weekday</div>
</li>
<li class="level1"><div class="li"> day</div>
</li>
<li class="level1"><div class="li"> hour</div>
</li>
<li class="level1"><div class="li"> day_hour</div>
</li>
</ul>
<h4>
Other
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> ip_mask1</div>
</li>
<li class="level1"><div class="li"> ip_mask2</div>
</li>
<li class="level1"><div class="li"> label</div>
</li>
</ul>
<h4>
Conversions Specific (for Entry-point <a href="#tag/Conversions"
title="admin-api ↵" class="wikilink1">Conversions</a>):
</h4>
<ul class="list-flex">
<li class="level1"><div class="li"> conversion_id</div>
</li>
<li class="level1"><div class="li"> click_datetime</div>
</li>
<li class="level1"><div class="li"> postback_datetime</div>
</li>
<li class="level1"><div class="li"> sale_datetime</div>
</li>
<li class="level1"><div class="li"> sale_period</div>
</li>
<li class="level1"><div class="li"> tid</div>
</li>
<li class="level1"><div class="li"> status</div>
</li>
<li class="level1"><div class="li"> previous_status</div>
</li>
<li class="level1"><div class="li"> original_status</div>
</li>
<li class="level1"><div class="li"> params</div>
</li>
</ul>
</div>
requestBody:
description: Build a custom report
required: true
content:
application/json:
schema:
$ref: ../schemas/ReportsRequest.yaml
responses:
'200':
description: Reports
content:
application/json:
schema:
$ref: ../schemas/Report.yaml
'400':
$ref: ../responses/BadRequest.yaml
'401':
$ref: ../responses/Unauthorized.yaml
'402':
$ref: ../responses/PaymentRequired.yaml
'406':
$ref: ../responses/NotAcceptable.yaml
'500':
$ref: ../responses/InternalError.yaml
x-code-samples:
- lang: PHP
source: >-
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'http://example.com/admin_api/v1/report/build');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Api-Key: your-api-key'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$params = [
'range' => [
'from' => '2017-09-10',
'to' => '2017-09-12',
'timezone' => 'Europe/Madrid'
],
'dimensions' => ['ts', 'landing'],
'metrics' => ['clicks', 'bot_share', 'cr'],
'filters' => [
"OR" => [
"AND" => [
['name' => 'campaign_id', 'operator' => 'EQUALS', 'expression' => 4],
['name' => 'stream_id', 'operator' => 'EQUALS', 'expression' => 8],
],
['name' => 'campaign_id', 'operator' => 'EQUALS', 'expression' => 5]
]
]
];
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
echo curl_exec($ch);