Create Wallet
curl --request POST \
--url https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"isManaged": false,
"isMarketplaceCredits": false
}
'import requests
url = "https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets"
payload = {
"name": "<string>",
"isManaged": False,
"isMarketplaceCredits": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', isManaged: false, isMarketplaceCredits: false})
};
fetch('https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets', 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/vendors/{external_vendor_id}/wallets",
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([
'name' => '<string>',
'isManaged' => false,
'isMarketplaceCredits' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}"
response = http.request(request)
puts response.read_body{
"walletId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Billing API
Create Wallet
Endpoint to create a wallet for a vendor.
There is a limit of 3 Wallets per vendor.
POST
/
public
/
v1
/
billing-service
/
vendors
/
{external_vendor_id}
/
wallets
Create Wallet
curl --request POST \
--url https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"isManaged": false,
"isMarketplaceCredits": false
}
'import requests
url = "https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets"
payload = {
"name": "<string>",
"isManaged": False,
"isMarketplaceCredits": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', isManaged: false, isMarketplaceCredits: false})
};
fetch('https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets', 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/vendors/{external_vendor_id}/wallets",
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([
'name' => '<string>',
'isManaged' => false,
'isMarketplaceCredits' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.topsort.com/public/v1/billing-service/vendors/{external_vendor_id}/wallets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"isManaged\": false,\n \"isMarketplaceCredits\": false\n}"
response = http.request(request)
puts response.read_body{
"walletId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Autorizaciones
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.
Parámetros de ruta
The External ID of the Vendor to retrieve.
Minimum string length:
1Cuerpo
application/json
Name of the wallet
Required string length:
1 - 32Whether the wallet is visible only to the marketplace. When true, Topsort hides it from the vendor, but it still funds their campaigns as normal.
Whether the wallet holds marketplace credits. Campaigns funded by a marketplace credits wallet do not accrue billable spend. True requires free credit wallets to be enabled for the marketplace. Cannot be changed after creation.
Respuesta
Successful Response
¿Esta página le ayudó?