curl --request POST \
--url https://api.eflow.team/v1/advertisers/reporting/entity \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [
{
"column": "offer"
}
],
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/advertisers/reporting/entity"
payload = {
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [{ "column": "offer" }],
"query": { "filters": [] }
}
headers = {
"X-Eflow-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '2024-01-01',
to: '2024-01-31',
timezone_id: 67,
currency_id: 'USD',
columns: [{column: 'offer'}],
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/advertisers/reporting/entity', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eflow.team/v1/advertisers/reporting/entity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '2024-01-01',
'to' => '2024-01-31',
'timezone_id' => 67,
'currency_id' => 'USD',
'columns' => [
[
'column' => 'offer'
]
],
'query' => [
'filters' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Eflow-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/advertisers/reporting/entity"
payload := strings.NewReader("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Eflow-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.eflow.team/v1/advertisers/reporting/entity")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/advertisers/reporting/entity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"table": [
{
"columns": [
{
"column_type": "<string>",
"id": "<string>",
"label": "<string>"
}
],
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"performance": [
{
"unix": 123,
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"summary": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}Get Entity Report
curl --request POST \
--url https://api.eflow.team/v1/advertisers/reporting/entity \
--header 'Content-Type: application/json' \
--header 'X-Eflow-Api-Key: <api-key>' \
--data '
{
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [
{
"column": "offer"
}
],
"query": {
"filters": []
}
}
'import requests
url = "https://api.eflow.team/v1/advertisers/reporting/entity"
payload = {
"from": "2024-01-01",
"to": "2024-01-31",
"timezone_id": 67,
"currency_id": "USD",
"columns": [{ "column": "offer" }],
"query": { "filters": [] }
}
headers = {
"X-Eflow-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Eflow-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '2024-01-01',
to: '2024-01-31',
timezone_id: 67,
currency_id: 'USD',
columns: [{column: 'offer'}],
query: {filters: []}
})
};
fetch('https://api.eflow.team/v1/advertisers/reporting/entity', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.eflow.team/v1/advertisers/reporting/entity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'from' => '2024-01-01',
'to' => '2024-01-31',
'timezone_id' => 67,
'currency_id' => 'USD',
'columns' => [
[
'column' => 'offer'
]
],
'query' => [
'filters' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Eflow-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.eflow.team/v1/advertisers/reporting/entity"
payload := strings.NewReader("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Eflow-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.eflow.team/v1/advertisers/reporting/entity")
.header("X-Eflow-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eflow.team/v1/advertisers/reporting/entity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Eflow-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"2024-01-01\",\n \"to\": \"2024-01-31\",\n \"timezone_id\": 67,\n \"currency_id\": \"USD\",\n \"columns\": [\n {\n \"column\": \"offer\"\n }\n ],\n \"query\": {\n \"filters\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"table": [
{
"columns": [
{
"column_type": "<string>",
"id": "<string>",
"label": "<string>"
}
],
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"performance": [
{
"unix": 123,
"reporting": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}
],
"summary": {
"imp": 123,
"total_click": 123,
"unique_click": 123,
"invalid_click": 123,
"cv": 123,
"event": 123,
"cvr": 123,
"evr": 123,
"ctr": 123,
"cost": 123,
"cpc": 123,
"cpm": 123,
"gross_sales": 123
}
}query.metric_filters to drop rows below a threshold — for example, filter to rows with cost by adding { "metric_type": "revenue", "operator": "greater_than", "metric_value": 0 } (an advertiser’s cost is the revenue metric).Authorizations
The advertiser's API key generated from the Advertiser Portal. Uses the same X-Eflow-Api-Key header as other Everflow APIs, but the key belongs to the advertiser user rather than the network admin.
Body
Start date for the reporting period. Format YYYY-MM-DD.
End date for the reporting period. Format YYYY-MM-DD.
Timezone identifier for the request.
Currency code for monetary values (e.g. "USD").
Columns to group/pivot data by. Minimum 1, maximum 10. Only one time column (hour, date, week, month, year) is allowed per request.
1 - 10 elementsShow child attributes
Show child attributes
Query configuration for filtering, metric filtering, and exclusions.
Show child attributes
Show child attributes
Response
Array of reporting data rows grouped by the requested columns.
Show child attributes
Show child attributes
Time-series performance data points.
Show child attributes
Show child attributes
Aggregated summary across all rows. A flat object with the same metric keys as ReportingMetrics.
Show child attributes
Show child attributes
Was this page helpful?
