Tracking V2
Track Conversion
The tracking API allows you to track conversions for any affiliate.
POST
/
v2
/
tracking
/
conversion
Referral Conversion
curl --request POST \
--url https://api.getreditus.com/api/v2/tracking/conversion \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"affiliate_slug": "<string>",
"advocate_slug": "<string>",
"email": "<string>",
"uid": "<string>",
"gr_id": "<string>"
}
'import requests
url = "https://api.getreditus.com/api/v2/tracking/conversion"
payload = {
"affiliate_slug": "<string>",
"advocate_slug": "<string>",
"email": "<string>",
"uid": "<string>",
"gr_id": "<string>"
}
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({
affiliate_slug: '<string>',
advocate_slug: '<string>',
email: '<string>',
uid: '<string>',
gr_id: '<string>'
})
};
fetch('https://api.getreditus.com/api/v2/tracking/conversion', 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.getreditus.com/api/v2/tracking/conversion",
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([
'affiliate_slug' => '<string>',
'advocate_slug' => '<string>',
'email' => '<string>',
'uid' => '<string>',
'gr_id' => '<string>'
]),
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.getreditus.com/api/v2/tracking/conversion"
payload := strings.NewReader("{\n \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\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.getreditus.com/api/v2/tracking/conversion")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getreditus.com/api/v2/tracking/conversion")
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 \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"type": "<string>",
"attributes": {
"email": "<string>",
"uid": "<string>",
"state": "<string>",
"state_set_at": 123,
"created_at": 123,
"updated_at": 123
}
}
}{
"error": "Invalid request"
}{
"error": "Referral already exists"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
URL parameter of the affiliate (i.e. https://company.com?red=john -> john). You can use a competitor slug as well.
required if affiliate_slug is not set - URL parameter of the advocate (i.e. https://company.com?refby=jwe512 -> jwe512).
required if uid is not set - Email of the referral
required if email is not set - Your internal ID of the user/customer
Cookie set by the tracking script in the referral's browser. Used to match the exact click that converted.
Response
Successful conversion
Show child attributes
Show child attributes
Previous
Create RefundMarks a commission as rejected based on a refunded payment. Requires a valid `payment_id`.
Next
⌘I
Referral Conversion
curl --request POST \
--url https://api.getreditus.com/api/v2/tracking/conversion \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"affiliate_slug": "<string>",
"advocate_slug": "<string>",
"email": "<string>",
"uid": "<string>",
"gr_id": "<string>"
}
'import requests
url = "https://api.getreditus.com/api/v2/tracking/conversion"
payload = {
"affiliate_slug": "<string>",
"advocate_slug": "<string>",
"email": "<string>",
"uid": "<string>",
"gr_id": "<string>"
}
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({
affiliate_slug: '<string>',
advocate_slug: '<string>',
email: '<string>',
uid: '<string>',
gr_id: '<string>'
})
};
fetch('https://api.getreditus.com/api/v2/tracking/conversion', 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.getreditus.com/api/v2/tracking/conversion",
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([
'affiliate_slug' => '<string>',
'advocate_slug' => '<string>',
'email' => '<string>',
'uid' => '<string>',
'gr_id' => '<string>'
]),
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.getreditus.com/api/v2/tracking/conversion"
payload := strings.NewReader("{\n \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\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.getreditus.com/api/v2/tracking/conversion")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getreditus.com/api/v2/tracking/conversion")
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 \"affiliate_slug\": \"<string>\",\n \"advocate_slug\": \"<string>\",\n \"email\": \"<string>\",\n \"uid\": \"<string>\",\n \"gr_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"type": "<string>",
"attributes": {
"email": "<string>",
"uid": "<string>",
"state": "<string>",
"state_set_at": 123,
"created_at": 123,
"updated_at": 123
}
}
}{
"error": "Invalid request"
}{
"error": "Referral already exists"
}