curl --request POST \
--url https://events.extole.io/v6/events/{manual_request_event_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"identity_person_id": "<string>",
"person_id": "<string>",
"target": "campaign_id:{id}",
"container": "<string>",
"other_person_id": "<string>",
"ignore_quality": true,
"note": "<string>"
}
'import requests
url = "https://events.extole.io/v6/events/{manual_request_event_name}"
payload = {
"identity_person_id": "<string>",
"person_id": "<string>",
"target": "campaign_id:{id}",
"container": "<string>",
"other_person_id": "<string>",
"ignore_quality": True,
"note": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identity_person_id: '<string>',
person_id: '<string>',
target: 'campaign_id:{id}',
container: '<string>',
other_person_id: '<string>',
ignore_quality: true,
note: '<string>'
})
};
fetch('https://events.extole.io/v6/events/{manual_request_event_name}', 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://events.extole.io/v6/events/{manual_request_event_name}",
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([
'identity_person_id' => '<string>',
'person_id' => '<string>',
'target' => 'campaign_id:{id}',
'container' => '<string>',
'other_person_id' => '<string>',
'ignore_quality' => true,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://events.extole.io/v6/events/{manual_request_event_name}"
payload := strings.NewReader("{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://events.extole.io/v6/events/{manual_request_event_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://events.extole.io/v6/events/{manual_request_event_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"event_id": "<string>",
"person_id": "<string>"
}Create New
Issues this reward to a person who did not reach it through the normal flow, by submitting the reward’s manual request event. The campaign’s rules still decide the outcome, so a successful call means the request was recorded.
curl --request POST \
--url https://events.extole.io/v6/events/{manual_request_event_name} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"identity_person_id": "<string>",
"person_id": "<string>",
"target": "campaign_id:{id}",
"container": "<string>",
"other_person_id": "<string>",
"ignore_quality": true,
"note": "<string>"
}
'import requests
url = "https://events.extole.io/v6/events/{manual_request_event_name}"
payload = {
"identity_person_id": "<string>",
"person_id": "<string>",
"target": "campaign_id:{id}",
"container": "<string>",
"other_person_id": "<string>",
"ignore_quality": True,
"note": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identity_person_id: '<string>',
person_id: '<string>',
target: 'campaign_id:{id}',
container: '<string>',
other_person_id: '<string>',
ignore_quality: true,
note: '<string>'
})
};
fetch('https://events.extole.io/v6/events/{manual_request_event_name}', 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://events.extole.io/v6/events/{manual_request_event_name}",
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([
'identity_person_id' => '<string>',
'person_id' => '<string>',
'target' => 'campaign_id:{id}',
'container' => '<string>',
'other_person_id' => '<string>',
'ignore_quality' => true,
'note' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://events.extole.io/v6/events/{manual_request_event_name}"
payload := strings.NewReader("{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://events.extole.io/v6/events/{manual_request_event_name}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://events.extole.io/v6/events/{manual_request_event_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity_person_id\": \"<string>\",\n \"person_id\": \"<string>\",\n \"target\": \"campaign_id:{id}\",\n \"container\": \"<string>\",\n \"other_person_id\": \"<string>\",\n \"ignore_quality\": true,\n \"note\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"event_id": "<string>",
"person_id": "<string>"
}Authorizations
A client access token, issued to your Extole account and used from your own backend. Never send a client token from a consumer device.
Path Parameters
The event that asks for this reward to be issued by hand. It is named after the journey, which here is reward_core, so the event is reward_core_manual_request. Rename the journey and this name changes with it, so take it from the manualRequestEventName setting on the reward rather than assembling it yourself.
reward_core_manual_request Body
Which rewardable this is, when the reward can be earned more than once. The key is named identity_person_id on this reward, and it is how a caller says which one.
Extole person whose rewardable is being rewarded.
Which campaign this applies to. Here that is campaign_id:{id}.
campaign_id:{id} Container the rewardable sits in, when it has one.
The other person in the referral relationship, when the reward depends on one.
Issue the reward even when the quality rules would hold it.
Why the reward is being issued by hand. Recorded alongside it.
Was this page helpful?
