Ana içeriğe atla
PUT
/
user
/
assistant
/
{id}
Asistanı güncelle
curl --request PUT \
  --url https://api.example.com/user/assistant/{id} \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "voice_id": 123,
  "language_id": 123,
  "type": "<string>",
  "mode": "<string>",
  "timezone": "<string>",
  "initial_message": "<string>",
  "system_prompt": "<string>",
  "llm_model_id": 123,
  "multimodal_model_id": 123,
  "chat_llm_fallback_id": 123,
  "turn_detection_threshold": 123,
  "secondary_language_ids": [
    123
  ],
  "knowledgebase_id": 123,
  "knowledgebase_mode": "<string>",
  "phone_number_id": 123,
  "tool_ids": [
    123
  ],
  "tools": [
    {}
  ],
  "tts_emotion_enabled": true,
  "voice_stability": 123,
  "voice_similarity": 123,
  "speech_speed": 123,
  "llm_temperature": 123,
  "synthesizer_provider_id": 123,
  "transcriber_provider_id": 123,
  "allow_interruptions": true,
  "fillers": true,
  "filler_config": {},
  "record": true,
  "enable_noise_cancellation": true,
  "wait_for_customer": true,
  "max_duration": 123,
  "max_silence_duration": 123,
  "max_initial_silence_duration": 123,
  "ringing_time": 123,
  "reengagement_interval": 123,
  "reengagement_prompt": "<string>",
  "end_call_on_voicemail": true,
  "voice_mail_message": "<string>",
  "endpoint_type": "<string>",
  "endpoint_sensitivity": 123,
  "interrupt_sensitivity": 123,
  "min_interrupt_words": 123,
  "ambient_sound": "<string>",
  "ambient_sound_volume": 123,
  "is_webhook_active": true,
  "webhook_url": "<string>",
  "send_webhook_only_on_completed": true,
  "include_recording_in_webhook": true,
  "post_call_evaluation": true,
  "post_call_schema": [
    {
      "name": "<string>",
      "type": "<string>",
      "description": "<string>"
    }
  ],
  "variables": {},
  "conversation_inactivity_timeout": 123,
  "conversation_ended_retrigger": true,
  "conversation_ended_webhook_url": "<string>"
}
'
{
  "message": "Assistant updated successfully",
  "data": {
    "id": 789,
    "name": "Updated Sales Assistant",
    "status": "active",
    "type": "outbound",
    "mode": "pipeline"
  }
}
Bu endpoint, mevcut bir AI asistanının yapılandırmasını güncellemenize olanak tanır. Tüm alanlar isteğe bağlıdır - yalnızca güncellemek istediğiniz alanları sağlayın.

Yol Parametreleri

id
integer
gerekli
Güncellenecek asistanın benzersiz tanımlayıcısı

İstek Gövdesi

Temel Alanlar

name
string
Asistanın adı (maks. 255 karakter)
voice_id
integer
Asistan için kullanılacak ses ID’si. Motor modunuz ile uyumlu sesleri almak için mode parametresi ile Get Voices endpoint’ini kullanın.
language_id
integer
Asistanın dil ID’si. Mevcut dilleri almak için Get Languages endpoint’ini kullanın.
type
string
Asistan türü. Seçenekler: inbound, outbound
mode
string
Motor modu. Seçenekler: pipeline, multimodal, dualplex
Modun değiştirilmesi, moda özel ayarları yeni modun varsayılan değerlerine sıfırlar.
timezone
string
Asistanın saat dilimi (ör. “Europe/Bucharest”, “America/New_York”)
initial_message
string
Arama başladığında asistanın söyleyeceği ilk mesaj (maks. 200 karakter)
system_prompt
string
Asistanın davranışını ve kişiliğini tanımlayan sistem istemi

Moda Özel Alanlar

llm_model_id
integer
Kullanılacak LLM model ID’si. Yalnızca pipeline modu için geçerlidir.Mevcut modelleri almak için Get Models endpoint’ini kullanın.
multimodal_model_id
integer
Multimodal model ID’si. Yalnızca multimodal ve dualplex modları için geçerlidir.Mevcut multimodal modelleri almak için Get Models endpoint’ini kullanın.
chat_llm_fallback_id
integer
Multimodal/dualplex modlarında araç çağrıları için yedek LLM model ID’si. Kaldırmak için null olarak ayarlayın.
turn_detection_threshold
number
Multimodal/dualplex modları için konuşma sırası algılama hassasiyeti (0-1). Otomatik için null olarak ayarlayın.

İkincil Diller

secondary_language_ids
integer[]
Asistanın konuşabileceği ek dil ID’lerinin dizisi. Mevcut ikincil dilleri değiştirir. Tüm ikincil dilleri kaldırmak için boş bir dizi [] gönderin.
"secondary_language_ids": [2, 3, 4]

Bilgi Bankası Ayarları

knowledgebase_id
integer
Eklenecek bilgi bankası ID’si. Bilgi bankasını kaldırmak için null olarak ayarlayın.
knowledgebase_mode
string
Bilgi bankasının nasıl kullanılacağı. Seçenekler:
  • function_call - AI arama yapmak için bir fonksiyon çağırır (multimodal/dualplex için zorunlu)
  • prompt - Bilgi isteme enjekte edilir (yalnızca pipeline)

Telefon Numarası

phone_number_id
integer
Atanacak telefon numarasının ID’si. Atamayı kaldırmak için null olarak ayarlayın. Hesabınıza ait olmalıdır.
inbound asistanlar için telefon numarası Arayan Kimliği türünde olamaz ve başka bir inbound asistana zaten atanmış olamaz.

Özel Görüşme İçi Araçlar

tool_ids
integer[]
Senkronize edilecek özel görüşme içi araç ID’lerinin dizisi. Mevcut tüm araç atamalarını değiştirir. Tüm araçları kaldırmak için boş bir dizi [] gönderin. Her araç hesabınıza ait olmalıdır.
"tool_ids": [1, 5, 12]

Yerleşik Araçlar

tools
array
Yerleşik araçların dizisi. Mevcut tüm yerleşik araçları değiştirir. Tüm araçları kaldırmak için boş bir dizi [] gönderin.
"tools": [
  {
    "type": "dtmf_input",
    "description": "Navigate IVR when needed"
  },
  {
    "type": "warm_call_transfer",
    "supervisor_phone": "+1234567890",
    "outbound_phone_id": 7,
    "description": "Transfer the call to a human supervisor when the customer requests to speak with a real person.",
    "custom_sip": false,
    "caller_id_mode": "outbound_number",
    "hold_music": "hold_music",
    "hold_music_volume": 80,
    "hold_message": "Please hold while I connect you with a supervisor.",
    "summary_instructions": "Introduce the conversation from your perspective:\n- WHO is calling (name, company if mentioned)\n- WHY they called (their goal or problem)\n- WHY a human is needed at this point\n\nKeep it brief (2-3 sentences).",
    "briefing_initial_message": "Hello! I have a caller on the line who needs your assistance. May I brief you on the situation?",
    "connected_message": "You are now connected with a supervisor. I'll leave you to it."
  },
  {
    "type": "collect_keypad",
    "timeout": 5,
    "stop_key": "#"
  },
  {
    "type": "end_call",
    "description": "End call when done"
  }
]

Ses ve TTS Ayarları

tts_emotion_enabled
boolean
Duygusal metin-konuşma sentezinin etkinleştirilip etkinleştirilmeyeceği
voice_stability
number
Ses kararlılık ayarı (0-1). Yüksek = daha tutarlı ses
voice_similarity
number
Ses benzerlik ayarı (0-1). Yüksek = orijinal sese daha yakın
speech_speed
number
Konuşma hızı çarpanı (0.7-1.2)
llm_temperature
number
LLM sıcaklık ayarı (0-1). Düşük = daha belirleyici
synthesizer_provider_id
integer
Özel TTS sağlayıcı ID’si. Dil varsayılanını kullanmak için null olarak ayarlayın. Mevcut sağlayıcıları keşfetmek için Get Synthesizer Providers endpoint’ini kullanın.
transcriber_provider_id
integer
Özel STT sağlayıcı ID’si. Yalnızca pipeline modu. Dil varsayılanını kullanmak için null olarak ayarlayın. Mevcut sağlayıcıları keşfetmek için Get Transcriber Providers endpoint’ini kullanın.

Arama Davranış Ayarları

allow_interruptions
boolean
Arayan kişinin sözünü kesmesine izin verilip verilmeyeceği.
multimodal ve dualplex modları için devre dışı bırakılamaz.
fillers
boolean
İşleme sırasında dolgu sesi kullanılıp kullanılmayacağı.
Yalnızca pipeline modu için kullanılabilir.
filler_config
object
Kategoriye göre özel dolgu kelime profilleri. Mevcut dolgu yapılandırmasını değiştirir. Her kategori kısa ifadelerden oluşan bir dizidir.
  • positive: Olumlu/onaylayıcı yanıtlar için dolgu kelimeleri
  • negative: Olumsuz/nötr yanıtlar için dolgu kelimeleri
  • question: Bir soru işlenirken kullanılan dolgu kelimeleri
  • neutral: Nötr onay için dolgu kelimeleri
"filler_config": {
  "positive": ["Great!", "Perfect!"],
  "negative": ["Hmm.", "I see."],
  "question": ["Good question.", "Let me check."],
  "neutral": ["Ok.", "Noted."]
}
record
boolean
Aramanın kaydedilip kaydedilmeyeceği
enable_noise_cancellation
boolean
Gürültü engellemenin etkinleştirilip etkinleştirilmeyeceği
wait_for_customer
boolean
Doğru ise, asistan müşterinin önce konuşmasını bekler

Zamanlama Ayarları

max_duration
integer
Saniye cinsinden maksimum arama süresi (20-1200)
max_silence_duration
integer
Yeniden etkileşimden önce saniye cinsinden maksimum sessizlik süresi (1-360)
max_initial_silence_duration
integer
Aramayı sonlandırmadan önce arama başlangıcındaki maksimum sessizlik (1-120 saniye). Devre dışı bırakmak için null olarak ayarlayın.
ringing_time
integer
Vazgeçmeden önce maksimum çalma süresi (1-60 saniye)

Yeniden Etkileşim Ayarları

reengagement_interval
integer
Saniye cinsinden yeniden etkileşim aralığı (7-600)
reengagement_prompt
string
Yeniden etkileşim mesajları için özel istem (maks. 1000 karakter). Varsayılanı kullanmak için null olarak ayarlayın.

Sesli Mesaj Ayarları

end_call_on_voicemail
boolean
Sesli mesaj algılandığında aramanın sonlandırılıp sonlandırılmayacağı
voice_mail_message
string
Kapatmadan önce sesli mesaja bırakılacak mesaj (maks. 1000 karakter). Devre dışı bırakmak için null olarak ayarlayın.

Uç Nokta Algılama

endpoint_type
string
Ses aktivite algılama türü. Seçenekler: vad, ai
endpoint_sensitivity
number
Uç nokta hassasiyet seviyesi (0-5)
interrupt_sensitivity
number
Kesinti hassasiyet seviyesi (0-5)
min_interrupt_words
integer
Kesintiye izin verilmeden önce minimum kelime sayısı (0-10). Devre dışı bırakmak için null olarak ayarlayın.

Ortam Sesi

ambient_sound
string
Arka plan ortam sesi. Seçenekler: off, office, city, forest, crowded_room, cafe, nature
ambient_sound_volume
number
Ortam sesi ses seviyesi (0-1)

Webhook Yapılandırması

is_webhook_active
boolean
Webhook bildirimlerinin etkin olup olmadığı
webhook_url
string
Arama sonrası bildirimler için webhook URL’si. Kaldırmak için null olarak ayarlayın.
send_webhook_only_on_completed
boolean
Webhook’ların yalnızca tamamlanan aramalarda gönderilip gönderilmeyeceği (başarısız/cevaplanmayan aramalar hariç)
include_recording_in_webhook
boolean
Webhook yüküne kayıt URL’sinin dahil edilip edilmeyeceği

Arama Sonrası Değerlendirme

post_call_evaluation
boolean
AI arama sonrası değerlendirmenin etkinleştirilip etkinleştirilmeyeceği
post_call_schema
array
Arama sonrası veri çıkarma için şema tanımı. Mevcut şemayı değiştirir.

Değişkenler

variables
object
Özel değişkenlerin anahtar-değer çiftleri. Mevcut tüm değişkenleri değiştirir.
"variables": {
  "company_name": "Acme Corp",
  "product": "Premium Widget"
}

Görüşme Sona Erme Ayarları

conversation_inactivity_timeout
integer
Görüşmenin sona ermiş sayılmasından önceki sohbet hareketsizlik süresi (dakika) (1-1440). Devre dışı bırakmak için null olarak ayarlayın. Varsayılan: 30
conversation_ended_retrigger
boolean
Hareketsizlik nedeniyle sona erdikten sonra görüşmenin yeniden tetiklenmesine izin verilip verilmeyeceği
conversation_ended_webhook_url
string
Sohbet görüşmesi hareketsizlik nedeniyle sona erdiğinde çağrılan webhook URL’si. Kaldırmak için null olarak ayarlayın. Ana arama webhook’undan bağımsızdır.

Örnek İstekler

Temel Ayarları Güncelle

{
  "name": "Updated Assistant Name",
  "initial_message": "Hello! How may I assist you?",
  "max_duration": 900
}

Multimodal Moda Geç

{
  "mode": "multimodal",
  "voice_id": 41,
  "multimodal_model_id": 1,
  "chat_llm_fallback_id": 2,
  "knowledgebase_mode": "function_call"
}

Araçları ve Bilgi Bankasını Güncelle

{
  "tool_ids": [1, 5, 12],
  "knowledgebase_id": 3,
  "knowledgebase_mode": "prompt"
}

Yeniden Etkileşim ve Sesli Mesajı Güncelle

{
  "reengagement_interval": 15,
  "reengagement_prompt": "Are you still there? I'm here to help.",
  "end_call_on_voicemail": true,
  "voice_mail_message": "Hello, please call us back at your convenience."
}

İsteğe Bağlı Ayarları Kaldır

{
  "phone_number_id": null,
  "webhook_url": null,
  "tool_ids": [],
  "secondary_language_ids": []
}

Yanıt

message
string
Asistan güncellemesini onaylayan başarı mesajı
data
object
{
  "message": "Assistant updated successfully",
  "data": {
    "id": 789,
    "name": "Updated Sales Assistant",
    "status": "active",
    "type": "outbound",
    "mode": "pipeline"
  }
}

Notlar

  • Yalnızca istek gövdesinde sağladığınız alanlar güncellenecektir
  • İsteğe bağlı alanları kaldırmak için açıkça null olarak ayarlayın
  • Dizileri temizlemek (araçlar, ikincil diller) için boş bir dizi [] gönderin
  • Asistan, kimlik doğrulaması yapılmış kullanıcıya ait olmalıdır
  • Uyumlu sesleri almak için mode parametresi ile Get Voices endpoint’ini kullanın
  • Multimodal/dualplex modları için knowledgebase_mode değeri function_call olmalıdır
  • Multimodal/dualplex modları için allow_interruptions devre dışı bırakılamaz
  • Modun değiştirilmesi moda özel ayarları sıfırlar (LLM modeli, multimodal model, sağlayıcılar)