curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states \
--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,
"invert_mapping_state": true,
"negated": true,
"parent_trigger_group_name": "parent_trigger_group_name",
"step_name": "step_name",
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING",
"zone_name": "zone_name"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"enabled": True,
"invert_mapping_state": True,
"negated": True,
"parent_trigger_group_name": "parent_trigger_group_name",
"step_name": "step_name",
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING",
"zone_name": "zone_name"
}
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,
invert_mapping_state: true,
negated: true,
parent_trigger_group_name: 'parent_trigger_group_name',
step_name: 'step_name',
trigger_description: 'trigger_description',
trigger_name: 'trigger_name',
trigger_phase: 'MATCHING',
zone_name: 'zone_name'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states', 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/zone-states",
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,
'invert_mapping_state' => true,
'negated' => true,
'parent_trigger_group_name' => 'parent_trigger_group_name',
'step_name' => 'step_name',
'trigger_description' => 'trigger_description',
'trigger_name' => 'trigger_name',
'trigger_phase' => 'MATCHING',
'zone_name' => 'zone_name'
]),
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/zone-states"
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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\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/zone-states")
.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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states")
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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\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": "ZONE_STATE",
"invert_mapping_state": true,
"step_name": "<string>",
"zone_name": "<string>"
}Create a zone state trigger
Adds a zone state trigger to the specified campaign controller. The trigger fires when the specified zone reaches the configured display state. Returns the created trigger with its server-assigned id.
curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states \
--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,
"invert_mapping_state": true,
"negated": true,
"parent_trigger_group_name": "parent_trigger_group_name",
"step_name": "step_name",
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING",
"zone_name": "zone_name"
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"enabled": True,
"invert_mapping_state": True,
"negated": True,
"parent_trigger_group_name": "parent_trigger_group_name",
"step_name": "step_name",
"trigger_description": "trigger_description",
"trigger_name": "trigger_name",
"trigger_phase": "MATCHING",
"zone_name": "zone_name"
}
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,
invert_mapping_state: true,
negated: true,
parent_trigger_group_name: 'parent_trigger_group_name',
step_name: 'step_name',
trigger_description: 'trigger_description',
trigger_name: 'trigger_name',
trigger_phase: 'MATCHING',
zone_name: 'zone_name'
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states', 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/zone-states",
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,
'invert_mapping_state' => true,
'negated' => true,
'parent_trigger_group_name' => 'parent_trigger_group_name',
'step_name' => 'step_name',
'trigger_description' => 'trigger_description',
'trigger_name' => 'trigger_name',
'trigger_phase' => 'MATCHING',
'zone_name' => 'zone_name'
]),
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/zone-states"
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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\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/zone-states")
.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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/controllers/{controllerId}/triggers/zone-states")
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 \"invert_mapping_state\": true,\n \"negated\": true,\n \"parent_trigger_group_name\": \"parent_trigger_group_name\",\n \"step_name\": \"step_name\",\n \"trigger_description\": \"trigger_description\",\n \"trigger_name\": \"trigger_name\",\n \"trigger_phase\": \"MATCHING\",\n \"zone_name\": \"zone_name\"\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": "ZONE_STATE",
"invert_mapping_state": true,
"step_name": "<string>",
"zone_name": "<string>"
}Authorizations
Path Parameters
(/version/.+)?Body
Body of a POST /v2/campaigns/{campaignId}{version:(/version/.+)?}/controllers/{controllerId}/triggers/zone-states request.
Show child attributes
Show child attributes
Choose between static or dynamic enabled
Choose between static or dynamic negated
Choose between static or dynamic parent trigger group name
Choose between static or dynamic step name
Choose between static or dynamic trigger description
Choose between static or dynamic trigger name
Choose between static or dynamic trigger phase
MATCHING, QUALIFYING, QUALITY Choose between static or dynamic zone name
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 ZONE_STATE The step name as configured: a literal value, or an expression (type:string) when defined dynamically.
The zone name as configured: a literal value, or an expression (type:string) when defined dynamically.
