Kampanya oluştur
curl --request POST \
--url https://api.example.com/user/campaign \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"assistant_id": 123,
"timezone": "<string>",
"max_calls_in_parallel": 123,
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"allowed_days": [
{}
],
"max_retries": 123,
"retry_interval": 123,
"retry_on_voicemail": true,
"retry_on_goal_incomplete": true,
"goal_completion_variable": "<string>",
"mark_complete_when_no_leads": true,
"phone_number_ids": [
{}
]
}
'import requests
url = "https://api.example.com/user/campaign"
payload = {
"name": "<string>",
"assistant_id": 123,
"timezone": "<string>",
"max_calls_in_parallel": 123,
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"allowed_days": [{}],
"max_retries": 123,
"retry_interval": 123,
"retry_on_voicemail": True,
"retry_on_goal_incomplete": True,
"goal_completion_variable": "<string>",
"mark_complete_when_no_leads": True,
"phone_number_ids": [{}]
}
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>',
assistant_id: 123,
timezone: '<string>',
max_calls_in_parallel: 123,
allowed_hours_start_time: '<string>',
allowed_hours_end_time: '<string>',
allowed_days: [{}],
max_retries: 123,
retry_interval: 123,
retry_on_voicemail: true,
retry_on_goal_incomplete: true,
goal_completion_variable: '<string>',
mark_complete_when_no_leads: true,
phone_number_ids: [{}]
})
};
fetch('https://api.example.com/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://api.example.com/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>',
'assistant_id' => 123,
'timezone' => '<string>',
'max_calls_in_parallel' => 123,
'allowed_hours_start_time' => '<string>',
'allowed_hours_end_time' => '<string>',
'allowed_days' => [
[
]
],
'max_retries' => 123,
'retry_interval' => 123,
'retry_on_voicemail' => true,
'retry_on_goal_incomplete' => true,
'goal_completion_variable' => '<string>',
'mark_complete_when_no_leads' => true,
'phone_number_ids' => [
[
]
]
]),
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://api.example.com/user/campaign"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\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://api.example.com/user/campaign")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/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 \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"status": "draft",
"max_calls_in_parallel": 3,
"mark_complete_when_no_leads": true,
"allowed_hours_start_time": "09:00:00",
"allowed_hours_end_time": "17:00:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "You have reached the maximum number of campaigns allowed by your plan."
}
{
"message": "Assistant not found or not an outbound assistant."
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
Kampanyalar
Kampanya oluştur
Yeni bir giden arama kampanyası oluşturun
POST
/
user
/
campaign
Kampanya oluştur
curl --request POST \
--url https://api.example.com/user/campaign \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"assistant_id": 123,
"timezone": "<string>",
"max_calls_in_parallel": 123,
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"allowed_days": [
{}
],
"max_retries": 123,
"retry_interval": 123,
"retry_on_voicemail": true,
"retry_on_goal_incomplete": true,
"goal_completion_variable": "<string>",
"mark_complete_when_no_leads": true,
"phone_number_ids": [
{}
]
}
'import requests
url = "https://api.example.com/user/campaign"
payload = {
"name": "<string>",
"assistant_id": 123,
"timezone": "<string>",
"max_calls_in_parallel": 123,
"allowed_hours_start_time": "<string>",
"allowed_hours_end_time": "<string>",
"allowed_days": [{}],
"max_retries": 123,
"retry_interval": 123,
"retry_on_voicemail": True,
"retry_on_goal_incomplete": True,
"goal_completion_variable": "<string>",
"mark_complete_when_no_leads": True,
"phone_number_ids": [{}]
}
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>',
assistant_id: 123,
timezone: '<string>',
max_calls_in_parallel: 123,
allowed_hours_start_time: '<string>',
allowed_hours_end_time: '<string>',
allowed_days: [{}],
max_retries: 123,
retry_interval: 123,
retry_on_voicemail: true,
retry_on_goal_incomplete: true,
goal_completion_variable: '<string>',
mark_complete_when_no_leads: true,
phone_number_ids: [{}]
})
};
fetch('https://api.example.com/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://api.example.com/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>',
'assistant_id' => 123,
'timezone' => '<string>',
'max_calls_in_parallel' => 123,
'allowed_hours_start_time' => '<string>',
'allowed_hours_end_time' => '<string>',
'allowed_days' => [
[
]
],
'max_retries' => 123,
'retry_interval' => 123,
'retry_on_voicemail' => true,
'retry_on_goal_incomplete' => true,
'goal_completion_variable' => '<string>',
'mark_complete_when_no_leads' => true,
'phone_number_ids' => [
[
]
]
]),
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://api.example.com/user/campaign"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\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://api.example.com/user/campaign")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/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 \"assistant_id\": 123,\n \"timezone\": \"<string>\",\n \"max_calls_in_parallel\": 123,\n \"allowed_hours_start_time\": \"<string>\",\n \"allowed_hours_end_time\": \"<string>\",\n \"allowed_days\": [\n {}\n ],\n \"max_retries\": 123,\n \"retry_interval\": 123,\n \"retry_on_voicemail\": true,\n \"retry_on_goal_incomplete\": true,\n \"goal_completion_variable\": \"<string>\",\n \"mark_complete_when_no_leads\": true,\n \"phone_number_ids\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"status": "draft",
"max_calls_in_parallel": 3,
"mark_complete_when_no_leads": true,
"allowed_hours_start_time": "09:00:00",
"allowed_hours_end_time": "17:00:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "You have reached the maximum number of campaigns allowed by your plan."
}
{
"message": "Assistant not found or not an outbound assistant."
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
Bu endpoint, belirtilen yapılandırmayla yeni bir giden arama kampanyası oluşturmanızı sağlar.
İstek gövdesi
string
gerekli
Kampanyanın adı. Maksimum 255 karakter.
integer
gerekli
Kampanya için kullanılacak asistanın kimliği. Giden arama yapabilir bir asistan olmalıdır.
string
Kampanya için saat dilimi tanımlayıcısı (ör.
America/New_York, Europe/London). Varsayılan olarak hesap saat diliminiz kullanılır.integer
varsayılan:"3"
Maksimum eşzamanlı arama sayısı. Minimum: 1. Maksimum planınızın paralel arama limitine bağlıdır (10’a kadar).
string
varsayılan:"00:00"
İzin verilen arama penceresinin başlangıcı,
H:i formatında (ör. 09:00).string
varsayılan:"23:59"
İzin verilen arama penceresinin sonu,
H:i formatında (ör. 17:00).array
varsayılan:"all 7 days"
Aramalara izin verilen hafta içi gün adlarının dizisi. Geçerli değerler:
monday, tuesday, wednesday, thursday, friday, saturday, sunday.integer
varsayılan:"3"
Başarısız aramalar için maksimum yeniden deneme sayısı. Aralık: 1-5.
integer
varsayılan:"60"
Yeniden denemeler arasındaki dakika cinsinden süre. Aralık: 10-4320 (3 güne kadar).
boolean
Sesli mesaja ulaşan aramaları yeniden deneyip denemeyeceği.
boolean
Hedefin tamamlanmadığı aramaları yeniden deneyip denemeyeceği.
string
Hedef tamamlanmasını izlemek için asistanınızın arama sonrası şemasındaki bir boolean değişkenin adı. Maksimum 255 karakter.
boolean
varsayılan:"true"
Aranacak müşteri kalmadığında kampanyayı otomatik olarak tamamlandı işaretleyip işaretlemeyeceği.
array
Kampanya için kullanılacak telefon numarası kimliklerinin dizisi. Her kimlik benzersiz bir tam sayı olmalıdır.
Yanıt
string
Kampanyanın oluşturulduğunu onaylayan başarı mesajı
object
Oluşturulan kampanya verileri
Göster veri özellikleri
Göster veri özellikleri
integer
Oluşturulan kampanyanın kimliği
string
Kampanyanın adı
string
Kampanyanın durumu (
draft olarak başlar)integer
Maksimum eşzamanlı arama sayısı
boolean
Müşteri kalmadığında kampanyayı tamamlandı olarak işaretleyip işaretlemeyeceği
string
İzin verilen arama penceresinin başlangıcı
string
İzin verilen arama penceresinin sonu
array
Aramalara izin verilen haftanın günleri
integer
Maksimum yeniden deneme sayısı
integer
Yeniden denemeler arasındaki dakika cinsinden süre
string
Kampanyanın oluşturulma zaman damgası
string
Kampanyanın son güncellenme zaman damgası
Hata Yanıtları
Göster Hata Yanıtı
Göster Hata Yanıtı
string
Belirtilen asistan bulunamadığında veya giden arama asistanı olmadığında dönen hata mesajı
{
"message": "Campaign created successfully",
"data": {
"id": 1,
"name": "Product Demo Campaign",
"status": "draft",
"max_calls_in_parallel": 3,
"mark_complete_when_no_leads": true,
"allowed_hours_start_time": "09:00:00",
"allowed_hours_end_time": "17:00:00",
"allowed_days": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"max_retries": 3,
"retry_interval": 60,
"created_at": "2026-02-23T10:00:00.000000Z",
"updated_at": "2026-02-23T10:00:00.000000Z"
}
}
{
"message": "You have reached the maximum number of campaigns allowed by your plan."
}
{
"message": "Assistant not found or not an outbound assistant."
}
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"assistant_id": [
"The assistant id field is required."
]
}
}
⌘I

