curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"enabled": true,
"having_any_audience_id": [
"having_any_audience_id"
],
"negated": true,
"parent_trigger_group_name": "parent_trigger_group_name",
"person_id": {},
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"enabled": True,
"having_any_audience_id": ["having_any_audience_id"],
"negated": True,
"parent_trigger_group_name": "parent_trigger_group_name",
"person_id": {},
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING"
}
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({
component_ids: ['component_id'],
component_references: [{component_id: 'component_id', socket_names: ['socket_name']}],
enabled: true,
having_any_audience_id: ['having_any_audience_id'],
negated: true,
parent_trigger_group_name: 'parent_trigger_group_name',
person_id: {},
trigger_description: 'trigger_description',
trigger_name: 'trigger_name',
trigger_phase: 'MATCHING'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships', 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.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships",
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([
'component_ids' => [
'component_id'
],
'component_references' => [
[
'component_id' => 'component_id',
'socket_names' => [
'socket_name'
]
]
],
'enabled' => true,
'having_any_audience_id' => [
'having_any_audience_id'
],
'negated' => true,
'parent_trigger_group_name' => 'parent_trigger_group_name',
'person_id' => [
],
'trigger_description' => 'trigger_description',
'trigger_name' => 'trigger_name',
'trigger_phase' => 'MATCHING'
]),
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://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships"
payload := strings.NewReader("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\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://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships")
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 \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"enabled": true,
"negated": true,
"parent_trigger_group_name": "<string>",
"trigger_description": "<string>",
"trigger_id": "<string>",
"trigger_name": "<string>",
"trigger_type": "AUDIENCE_MEMBERSHIP",
"having_any_audience_id": [
"<string>"
],
"person_id": "<string>"
}Create an audience membership trigger
Adds an audience membership trigger to the specified campaign controller. The trigger fires when a participant joins or leaves the configured audience. Returns the created trigger with its server-assigned id.
curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"enabled": true,
"having_any_audience_id": [
"having_any_audience_id"
],
"negated": true,
"parent_trigger_group_name": "parent_trigger_group_name",
"person_id": {},
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"enabled": True,
"having_any_audience_id": ["having_any_audience_id"],
"negated": True,
"parent_trigger_group_name": "parent_trigger_group_name",
"person_id": {},
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING"
}
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({
component_ids: ['component_id'],
component_references: [{component_id: 'component_id', socket_names: ['socket_name']}],
enabled: true,
having_any_audience_id: ['having_any_audience_id'],
negated: true,
parent_trigger_group_name: 'parent_trigger_group_name',
person_id: {},
trigger_description: 'trigger_description',
trigger_name: 'trigger_name',
trigger_phase: 'MATCHING'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships', 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.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships",
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([
'component_ids' => [
'component_id'
],
'component_references' => [
[
'component_id' => 'component_id',
'socket_names' => [
'socket_name'
]
]
],
'enabled' => true,
'having_any_audience_id' => [
'having_any_audience_id'
],
'negated' => true,
'parent_trigger_group_name' => 'parent_trigger_group_name',
'person_id' => [
],
'trigger_description' => 'trigger_description',
'trigger_name' => 'trigger_name',
'trigger_phase' => 'MATCHING'
]),
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://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships"
payload := strings.NewReader("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\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://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/audience-memberships")
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 \"component_ids\": [\n \"component_id\"\n ],\n \"component_references\": [\n {\n \"component_id\": \"component_id\",\n \"socket_names\": [\n \"socket_name\"\n ]\n }\n ],\n \"enabled\": true,\n \"having_any_audience_id\": [\n \"having_any_audience_id\"\n ],\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"person_id\": {},\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\"\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"enabled": true,
"negated": true,
"parent_trigger_group_name": "<string>",
"trigger_description": "<string>",
"trigger_id": "<string>",
"trigger_name": "<string>",
"trigger_type": "AUDIENCE_MEMBERSHIP",
"having_any_audience_id": [
"<string>"
],
"person_id": "<string>"
}Authorizations
Path Parameters
(/version/.+)?Body
Body of a POST /v2/campaigns/{campaignId}{version:(/version/.+)?}/controllers/{controllerId}/triggers/audience-memberships request.
Show child attributes
Show child attributes
Choose between static or dynamic enabled
Choose between static or dynamic having any audience id
Choose between static or dynamic negated
Choose between static or dynamic parent trigger group name
Choose between static or dynamic person id
Choose between static or dynamic trigger description
Choose between static or dynamic trigger name
Choose between static or dynamic trigger phase
MATCHING, QUALIFYING, QUALITY Response
Successful response
Show child attributes
Show child attributes
The enabled as configured: a literal value, or an expression (type:string) when defined dynamically.
The negated as configured: a literal value, or an expression (type:string) when defined dynamically.
The parent trigger group name as configured: a literal value, or an expression (type:string) when defined dynamically.
The trigger description as configured: a literal value, or an expression (type:string) when defined dynamically.
The trigger name as configured: a literal value, or an expression (type:string) when defined dynamically.
The trigger phase as configured: a literal value, or an expression (type:string) when defined dynamically.
MATCHING, QUALIFYING, QUALITY AUDIENCE_MEMBERSHIP The having any audience id as configured: a literal value, or an expression (type:string) when defined dynamically.
The person id as configured: a literal value, or an expression (type:string) when defined dynamically.
