Create a campaign flow step app
curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"description": "description",
"name": "name",
"type": {
"name": "name"
}
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"description": "description",
"name": "name",
"type": { "name": "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']}],
description: 'description',
name: 'name',
type: {name: 'name'}
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps', 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}/flow-steps/{flowStepId}/apps",
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'
]
]
],
'description' => 'description',
'name' => 'name',
'type' => [
'name' => '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}/flow-steps/{flowStepId}/apps"
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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\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}/flow-steps/{flowStepId}/apps")
.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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps")
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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"description": "<string>",
"id": "<string>",
"name": "<string>",
"type": {
"name": "<string>"
}
}Campaign Flow Steps
Create a campaign flow step app
Adds a new app to the specified campaign flow step. Returns the created app with its server-assigned id.
POST
/
v2
/
campaigns
/
{campaignId}
{version}
/
flow-steps
/
{flowStepId}
/
apps
Create a campaign flow step app
curl --request POST \
--url https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"component_ids": [
"component_id"
],
"component_references": [
{
"component_id": "component_id",
"socket_names": [
"socket_name"
]
}
],
"description": "description",
"name": "name",
"type": {
"name": "name"
}
}
'import requests
url = "https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps"
payload = {
"component_ids": ["component_id"],
"component_references": [
{
"component_id": "component_id",
"socket_names": ["socket_name"]
}
],
"description": "description",
"name": "name",
"type": { "name": "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']}],
description: 'description',
name: 'name',
type: {name: 'name'}
})
};
fetch('https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps', 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}/flow-steps/{flowStepId}/apps",
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'
]
]
],
'description' => 'description',
'name' => 'name',
'type' => [
'name' => '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}/flow-steps/{flowStepId}/apps"
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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\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}/flow-steps/{flowStepId}/apps")
.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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v2/campaigns/{campaignId}{version}/flow-steps/{flowStepId}/apps")
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 \"description\": \"description\",\n \"name\": \"name\",\n \"type\": {\n \"name\": \"name\"\n }\n}"
response = http.request(request)
puts response.read_body{
"component_ids": [
"<string>"
],
"component_references": [
{
"component_id": "<string>",
"socket_names": [
"<string>"
]
}
],
"description": "<string>",
"id": "<string>",
"name": "<string>",
"type": {
"name": "<string>"
}
}Authorizations
HEADERQUERYCOOKIE
Path Parameters
Pattern:
(/version/.+)?Body
application/json
Body of a POST /v2/campaigns/{campaignId}{version:(/version/.+)?}/flow-steps/{flowStepId}/apps request.
Choose between static or dynamic name
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Choose between static or dynamic description
Response
Successful response
Stored campaign flow step app definition. Fields name and description are unevaluated and appear in buildtime-evaluatable form.
Show child attributes
Show child attributes
description
Static Value · stringBuildtime - Handlebars · stringBuildtime - Javascript · string
required
The description as configured: a literal value, or an expression (type:string) when defined dynamically.
The name as configured: a literal value, or an expression (type:string) when defined dynamically.
Show child attributes
Show child attributes
⌘I
