curl --request GET \
--url https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily', 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.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"hasMore": true,
"reports": [
{
"impressions": {
"total": 123,
"charged": 123,
"adSpent": 123,
"adSpentDecimal": "<string>"
},
"clicks": {
"total": 123,
"charged": 123,
"adSpent": 123,
"adSpentDecimal": "<string>"
},
"purchases": {
"amount": 123,
"count": 123,
"quantity": 123,
"countByProduct": {}
},
"date": "2023-12-25"
}
],
"nextPage": "SSBzb2xlbW5seSBzd2VhciB0aGF0IEkgYW0gdXAgdG8gbm8gZ29vZAo="
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Campaign Daily Report
Get campaign daily report.
curl --request GET \
--url https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily', 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.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}/daily")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"hasMore": true,
"reports": [
{
"impressions": {
"total": 123,
"charged": 123,
"adSpent": 123,
"adSpentDecimal": "<string>"
},
"clicks": {
"total": 123,
"charged": 123,
"adSpent": 123,
"adSpentDecimal": "<string>"
},
"purchases": {
"amount": 123,
"count": 123,
"quantity": 123,
"countByProduct": {}
},
"date": "2023-12-25"
}
],
"nextPage": "SSBzb2xlbW5seSBzd2VhciB0aGF0IEkgYW0gdXAgdG8gbm8gZ29vZAo="
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
A valid API key generated in Topsort's UI. Use the TSE API key if calling auctions or events API, otherwise use the TSC API key.
Path Parameters
The ID of the campaign to get the daily report for.
Query Parameters
The ID of the vendor to get the daily report for.
The start date for which reports will be generated.
The end date for which reports will be generated.
The pagination limit.
0 <= x <= 365Pagination cursor as provided in an earlier response. If provided will fetch the next page of results.
Response
Successful Response
Flag that indicates whether more results are available. true indicates there is a next page of results. false indicates this response contains the last page of results.
The daily report for the campaign
Show child attributes
Show child attributes
Pagination cursor. Provide this value as a next_page query parameter in a new request to retrieve the next page of results.
1"SSBzb2xlbW5seSBzd2VhciB0aGF0IEkgYW0gdXAgdG8gbm8gZ29vZAo="
Was this page helpful?