Créer une campagne
curl --request POST \
--url https://app.famulor.de/api/user/campaign \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"channel": "<string>",
"timezone": "<string>",
"schedule_windows": [
{}
],
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"scheduled_start_at": "<string>",
"allowed_days": [
{}
],
"max_retries": 123,
"retry_interval": 123,
"mark_complete_when_no_leads": true,
"assistant_id": 123,
"max_calls_in_parallel": 123,
"phone_number_ids": [
{}
],
"retry_on_voicemail": true,
"retry_on_goal_incomplete": true,
"goal_completion_variable": "<string>",
"fallback_channel": "<string>",
"fallback_whatsapp_sender_id": 123,
"fallback_whatsapp_template_id": 123,
"fallback_sms_from_phone_number_id": 123,
"fallback_sms_body": "<string>",
"fallback_variable_mapping": {},
"whatsapp_sender_id": 123,
"whatsapp_template_id": 123,
"text_variable_mapping": {},
"messages_per_minute": 123,
"sms_from_phone_number_id": 123,
"sms_body": "<string>"
}
'import requests
url = "https://app.famulor.de/api/user/campaign"
payload = {
"name": "<string>",
"channel": "<string>",
"timezone": "<string>",
"schedule_windows": [{}],
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"scheduled_start_at": "<string>",
"allowed_days": [{}],
"max_retries": 123,
"retry_interval": 123,
"mark_complete_when_no_leads": True,
"assistant_id": 123,
"max_calls_in_parallel": 123,
"phone_number_ids": [{}],
"retry_on_voicemail": True,
"retry_on_goal_incomplete": True,
"goal_completion_variable": "<string>",
"fallback_channel": "<string>",
"fallback_whatsapp_sender_id": 123,
"fallback_whatsapp_template_id": 123,
"fallback_sms_from_phone_number_id": 123,
"fallback_sms_body": "<string>",
"fallback_variable_mapping": {},
"whatsapp_sender_id": 123,
"whatsapp_template_id": 123,
"text_variable_mapping": {},
"messages_per_minute": 123,
"sms_from_phone_number_id": 123,
"sms_body": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
channel: '<string>',
timezone: '<string>',
schedule_windows: [{}],
allowed_hours_start_time: '<string>',
allowed_hours_end_time: '<string>',
scheduled_start_at: '<string>',
allowed_days: [{}],
max_retries: 123,
retry_interval: 123,
mark_complete_when_no_leads: true,
assistant_id: 123,
max_calls_in_parallel: 123,
phone_number_ids: [{}],
retry_on_voicemail: true,
retry_on_goal_incomplete: true,
goal_completion_variable: '<string>',
fallback_channel: '<string>',
fallback_whatsapp_sender_id: 123,
fallback_whatsapp_template_id: 123,
fallback_sms_from_phone_number_id: 123,
fallback_sms_body: '<string>',
fallback_variable_mapping: {},
whatsapp_sender_id: 123,
whatsapp_template_id: 123,
text_variable_mapping: {},
messages_per_minute: 123,
sms_from_phone_number_id: 123,
sms_body: '<string>'
})
};
fetch('https://app.famulor.de/api/user/campaign', 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://app.famulor.de/api/user/campaign",
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([
'name' => '<string>',
'channel' => '<string>',
'timezone' => '<string>',
'schedule_windows' => [
[
]
],
'allowed_hours_start_time' => '<string>',
'allowed_hours_end_time' => '<string>',
'scheduled_start_at' => '<string>',
'allowed_days' => [
[
]
],
'max_retries' => 123,
'retry_interval' => 123,
'mark_complete_when_no_leads' => true,
'assistant_id' => 123,
'max_calls_in_parallel' => 123,
'phone_number_ids' => [
[
]
],
'retry_on_voicemail' => true,
'retry_on_goal_incomplete' => true,
'goal_completion_variable' => '<string>',
'fallback_channel' => '<string>',
'fallback_whatsapp_sender_id' => 123,
'fallback_whatsapp_template_id' => 123,
'fallback_sms_from_phone_number_id' => 123,
'fallback_sms_body' => '<string>',
'fallback_variable_mapping' => [
],
'whatsapp_sender_id' => 123,
'whatsapp_template_id' => 123,
'text_variable_mapping' => [
],
'messages_per_minute' => 123,
'sms_from_phone_number_id' => 123,
'sms_body' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://app.famulor.de/api/user/campaign"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.famulor.de/api/user/campaign")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"channel": "call",
"status": "draft",
"assistant_id": 42,
"timezone": "Europe/Berlin",
"max_calls_in_parallel": 3,
"messages_per_minute": null,
"schedule_windows": [
{ "start": "09:00", "end": "17:00" }
],
"scheduled_start_at": null,
"allowed_hours_start_time": "09:00",
"allowed_hours_end_time": "17:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"retry_on_voicemail": false,
"retry_on_goal_incomplete": false,
"goal_completion_variable": null,
"mark_complete_when_no_leads": true,
"phone_number_ids": [101],
"whatsapp_sender_id": null,
"whatsapp_template_id": null,
"sms_from_phone_number_id": null,
"sms_body": null,
"text_variable_mapping": null,
"fallback_channel": null,
"fallback_whatsapp_sender_id": null,
"fallback_whatsapp_template_id": null,
"fallback_sms_from_phone_number_id": null,
"fallback_sms_body": null,
"fallback_variable_mapping": null,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
Campagnes
Créer une campagne
Crée une campagne d’appel, WhatsApp ou SMS en brouillon dans Famulor via l’API. Ajoutez des leads, puis démarrez avec Mettre à jour le statut d’une campagne.
POST
/
api
/
user
/
campaign
Créer une campagne
curl --request POST \
--url https://app.famulor.de/api/user/campaign \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"channel": "<string>",
"timezone": "<string>",
"schedule_windows": [
{}
],
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"scheduled_start_at": "<string>",
"allowed_days": [
{}
],
"max_retries": 123,
"retry_interval": 123,
"mark_complete_when_no_leads": true,
"assistant_id": 123,
"max_calls_in_parallel": 123,
"phone_number_ids": [
{}
],
"retry_on_voicemail": true,
"retry_on_goal_incomplete": true,
"goal_completion_variable": "<string>",
"fallback_channel": "<string>",
"fallback_whatsapp_sender_id": 123,
"fallback_whatsapp_template_id": 123,
"fallback_sms_from_phone_number_id": 123,
"fallback_sms_body": "<string>",
"fallback_variable_mapping": {},
"whatsapp_sender_id": 123,
"whatsapp_template_id": 123,
"text_variable_mapping": {},
"messages_per_minute": 123,
"sms_from_phone_number_id": 123,
"sms_body": "<string>"
}
'import requests
url = "https://app.famulor.de/api/user/campaign"
payload = {
"name": "<string>",
"channel": "<string>",
"timezone": "<string>",
"schedule_windows": [{}],
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"scheduled_start_at": "<string>",
"allowed_days": [{}],
"max_retries": 123,
"retry_interval": 123,
"mark_complete_when_no_leads": True,
"assistant_id": 123,
"max_calls_in_parallel": 123,
"phone_number_ids": [{}],
"retry_on_voicemail": True,
"retry_on_goal_incomplete": True,
"goal_completion_variable": "<string>",
"fallback_channel": "<string>",
"fallback_whatsapp_sender_id": 123,
"fallback_whatsapp_template_id": 123,
"fallback_sms_from_phone_number_id": 123,
"fallback_sms_body": "<string>",
"fallback_variable_mapping": {},
"whatsapp_sender_id": 123,
"whatsapp_template_id": 123,
"text_variable_mapping": {},
"messages_per_minute": 123,
"sms_from_phone_number_id": 123,
"sms_body": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
channel: '<string>',
timezone: '<string>',
schedule_windows: [{}],
allowed_hours_start_time: '<string>',
allowed_hours_end_time: '<string>',
scheduled_start_at: '<string>',
allowed_days: [{}],
max_retries: 123,
retry_interval: 123,
mark_complete_when_no_leads: true,
assistant_id: 123,
max_calls_in_parallel: 123,
phone_number_ids: [{}],
retry_on_voicemail: true,
retry_on_goal_incomplete: true,
goal_completion_variable: '<string>',
fallback_channel: '<string>',
fallback_whatsapp_sender_id: 123,
fallback_whatsapp_template_id: 123,
fallback_sms_from_phone_number_id: 123,
fallback_sms_body: '<string>',
fallback_variable_mapping: {},
whatsapp_sender_id: 123,
whatsapp_template_id: 123,
text_variable_mapping: {},
messages_per_minute: 123,
sms_from_phone_number_id: 123,
sms_body: '<string>'
})
};
fetch('https://app.famulor.de/api/user/campaign', 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://app.famulor.de/api/user/campaign",
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([
'name' => '<string>',
'channel' => '<string>',
'timezone' => '<string>',
'schedule_windows' => [
[
]
],
'allowed_hours_start_time' => '<string>',
'allowed_hours_end_time' => '<string>',
'scheduled_start_at' => '<string>',
'allowed_days' => [
[
]
],
'max_retries' => 123,
'retry_interval' => 123,
'mark_complete_when_no_leads' => true,
'assistant_id' => 123,
'max_calls_in_parallel' => 123,
'phone_number_ids' => [
[
]
],
'retry_on_voicemail' => true,
'retry_on_goal_incomplete' => true,
'goal_completion_variable' => '<string>',
'fallback_channel' => '<string>',
'fallback_whatsapp_sender_id' => 123,
'fallback_whatsapp_template_id' => 123,
'fallback_sms_from_phone_number_id' => 123,
'fallback_sms_body' => '<string>',
'fallback_variable_mapping' => [
],
'whatsapp_sender_id' => 123,
'whatsapp_template_id' => 123,
'text_variable_mapping' => [
],
'messages_per_minute' => 123,
'sms_from_phone_number_id' => 123,
'sms_body' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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://app.famulor.de/api/user/campaign"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.famulor.de/api/user/campaign")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/campaign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"channel\": \"<string>\",\n \"timezone\": \"<string>\",\n \"schedule_windows\": [\n {}\n ],\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"scheduled_start_at\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"mark_complete_when_no_leads\": true,\n \"assistant_id\": 123,\n \"max_calls_in_parallel\": 123,\n \"phone_number_ids\": [\n {}\n ],\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"fallback_channel\": \"<string>\",\n \"fallback_whatsapp_sender_id\": 123,\n \"fallback_whatsapp_template_id\": 123,\n \"fallback_sms_from_phone_number_id\": 123,\n \"fallback_sms_body\": \"<string>\",\n \"fallback_variable_mapping\": {},\n \"whatsapp_sender_id\": 123,\n \"whatsapp_template_id\": 123,\n \"text_variable_mapping\": {},\n \"messages_per_minute\": 123,\n \"sms_from_phone_number_id\": 123,\n \"sms_body\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"channel": "call",
"status": "draft",
"assistant_id": 42,
"timezone": "Europe/Berlin",
"max_calls_in_parallel": 3,
"messages_per_minute": null,
"schedule_windows": [
{ "start": "09:00", "end": "17:00" }
],
"scheduled_start_at": null,
"allowed_hours_start_time": "09:00",
"allowed_hours_end_time": "17:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"retry_on_voicemail": false,
"retry_on_goal_incomplete": false,
"goal_completion_variable": null,
"mark_complete_when_no_leads": true,
"phone_number_ids": [101],
"whatsapp_sender_id": null,
"whatsapp_template_id": null,
"sms_from_phone_number_id": null,
"sms_body": null,
"text_variable_mapping": null,
"fallback_channel": null,
"fallback_whatsapp_sender_id": null,
"fallback_whatsapp_template_id": null,
"fallback_sms_from_phone_number_id": null,
"fallback_sms_body": null,
"fallback_variable_mapping": null,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
API Famulor 1.0 (héritée). Cette page concerne uniquement Famulor 1.0 (
app.famulor.de) et est conservée pour la compatibilité. Pour la plateforme actuelle, consultez la référence API Famulor 2.0.draft — ajoutez des leads, puis démarrez-la avec Mettre à jour le statut d’une campagne.
Canaux pris en charge :
call(par défaut) — voix sortante avec un assistant OUTBOUNDwhatsapp— modèle WhatsApp approuvé via l’un de vos expéditeurssms— corps de SMS depuis un numéro compatible SMS (peut être temporairement indisponible sur la plateforme)
Corps de la requête
Commun
string
requis
Nom de la campagne. 255 caractères maximum.
string
défaut:"call"
call, whatsapp ou sms.string
Fuseau horaire IANA pour la fenêtre d’envoi/d’appel (par ex.
America/New_York). Par défaut, le fuseau horaire de l’assistant pour les campagnes d’appel, sinon celui de votre compte.array
Planning préféré : une ou plusieurs fenêtres quotidiennes sous forme d’objets avec
start et end au format HH:MM. Les fenêtres nocturnes sont prises en charge lorsque end précède start (par ex. 16:00 → 02:00).string
défaut:"00:00"
Début de fenêtre unique (ancien format,
HH:MM). Utilisé si schedule_windows est omis.string
défaut:"23:59"
Fin de fenêtre unique (ancien format,
HH:MM). Nocturne lorsque end < start.string
Date-heure ISO optionnelle. Si elle est définie, la campagne peut être programmée pour démarrer automatiquement à ce moment-là.
array
défaut:"all 7 days"
Jours de la semaine :
monday … sunday.integer
défaut:"3"
Nombre maximal de tentatives par lead. Plage : 1 à 5.
integer
défaut:"60"
Minutes entre les tentatives. Plage : 10 à 4320.
boolean
défaut:"true"
Marque automatiquement la campagne comme terminée lorsqu’il ne reste plus de travail.
Campagnes d’appel
integer
Requis pour
channel=call. Doit être un assistant OUTBOUND que vous possédez.integer
défaut:"3"
Appels simultanés (limité par le forfait, 10 maximum).
array
IDs des numéros sortants disponibles pour votre compte.
boolean
Relance en cas de basculement sur messagerie vocale.
boolean
Continue les tentatives jusqu’à ce qu’une variable booléenne d’objectif post-appel soit vraie.
string
Nom de la variable booléenne du schéma post-appel utilisée avec
retry_on_goal_incomplete.string
Relance texte optionnelle après le nombre maximal de tentatives d’appel :
whatsapp ou sms.integer
Requis lorsque
fallback_channel=whatsapp.integer
Requis lorsque
fallback_channel=whatsapp. Doit être un modèle approuvé sur cet expéditeur.integer
Requis lorsque
fallback_channel=sms.string
Requis lorsque
fallback_channel=sms. Prend en charge les espaces réservés {{variable}}.object
Associe les espaces réservés du modèle WhatsApp (par ex.
"1") aux clés de variables du lead pour l’envoi de repli.Campagnes WhatsApp
integer
Requis pour
channel=whatsapp. Expéditeur que vous possédez.integer
Requis pour
channel=whatsapp. Modèle approuvé sur cet expéditeur.object
Associe les espaces réservés du modèle (par ex.
"1") aux clés de variables du lead.integer
Débit d’envoi propre à la campagne (1 à 10). Les campagnes WhatsApp partagent aussi un pool utilisateur de 10 envois simultanés, réparti entre toutes vos campagnes WhatsApp actives.
Campagnes SMS
integer
Requis pour
channel=sms. Doit être compatible SMS et disponible pour vous.string
Requis pour
channel=sms. 1600 caractères maximum. Prend en charge les espaces réservés {{variable}}.Réponse
string
Message de succès
object
La campagne créée (même forme que Obtenir une campagne), avec le canal, la planification, la configuration du texte et les champs de repli.
Réponses d’erreur
Limite du forfait, assistant/expéditeur/modèle invalide, canal désactivé, ou erreurs de validation.
{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"channel": "call",
"status": "draft",
"assistant_id": 42,
"timezone": "Europe/Berlin",
"max_calls_in_parallel": 3,
"messages_per_minute": null,
"schedule_windows": [
{ "start": "09:00", "end": "17:00" }
],
"scheduled_start_at": null,
"allowed_hours_start_time": "09:00",
"allowed_hours_end_time": "17:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"retry_on_voicemail": false,
"retry_on_goal_incomplete": false,
"goal_completion_variable": null,
"mark_complete_when_no_leads": true,
"phone_number_ids": [101],
"whatsapp_sender_id": null,
"whatsapp_template_id": null,
"sms_from_phone_number_id": null,
"sms_body": null,
"text_variable_mapping": null,
"fallback_channel": null,
"fallback_whatsapp_sender_id": null,
"fallback_whatsapp_template_id": null,
"fallback_sms_from_phone_number_id": null,
"fallback_sms_body": null,
"fallback_variable_mapping": null,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
Pages associées : Introduction, Guide d’authentification et Exemples d’intégration API.