Get Campaign Aggregated Report
curl --request GET \
--url https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}"
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}', 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}",
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}"
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}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}")
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{
"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": {}
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Offsite Ads API
Get Campaign Aggregated Report
Get campaign report.
GET
/
public
/
v1
/
offsite-ads
/
reporting
/
campaigns
/
{campaign_id}
Get Campaign Aggregated Report
curl --request GET \
--url https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}"
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}', 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}",
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}"
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}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/offsite-ads/reporting/campaigns/{campaign_id}")
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{
"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": {}
}
}{
"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 report for.
Query Parameters
The ID of the vendor to get the campaign report for.
The start date for which reports will be generated.
The end date for which reports will be generated.
Response
Successful Response
Clicks, impressions and purchases attributed to this report item so far.
How many impressions are attributed to this report item.
Show child attributes
Show child attributes
How many clicks are attributed to this report item.
Show child attributes
Show child attributes
How many purchases are attributed to this report item.
Show child attributes
Show child attributes
Was this page helpful?