curl --request GET \
--url https://api.topsort.com/public/v1/billing-service/billing-contacts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/billing-service/billing-contacts"
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/billing-service/billing-contacts', 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/billing-service/billing-contacts",
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/billing-service/billing-contacts"
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/billing-service/billing-contacts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/billing-service/billing-contacts")
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,
"billingContacts": [
{
"id": "<string>",
"brandName": "<string>",
"invoiceTo": "<string>",
"advertiserName": "<string>"
}
],
"nextPage": "SSBzb2xlbW5seSBzd2VhciB0aGF0IEkgYW0gdXAgdG8gbm8gZ29vZAo="
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Billing Contacts
List the billing contacts in your marketplace.
Billing contacts hold the advertiser, brand and invoice recipient behind a campaign, which marketplaces display next to ads to meet the Digital Services Act (DSA).
Pass external_vendor_id to list only the contacts linked to that vendor. These
are the contacts the vendor can choose from when creating a campaign in the Topsort
UI, so an empty list means the vendor can’t select one yet.
Results are paginated. When hasMore is true, send the nextPage value as
next_page to get the next page.
Returns 404 if external_vendor_id doesn’t match a vendor.
See the DSA setup guide.
curl --request GET \
--url https://api.topsort.com/public/v1/billing-service/billing-contacts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.topsort.com/public/v1/billing-service/billing-contacts"
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/billing-service/billing-contacts', 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/billing-service/billing-contacts",
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/billing-service/billing-contacts"
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/billing-service/billing-contacts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/billing-service/billing-contacts")
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,
"billingContacts": [
{
"id": "<string>",
"brandName": "<string>",
"invoiceTo": "<string>",
"advertiserName": "<string>"
}
],
"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.
Query Parameters
The External ID of the Vendor to retrieve.
1The maximum number of items to return per page.
1 <= x <= 100Pagination 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.
List of billing contacts for the vendor.
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?