Skip to main content
PUT
/
user
/
assistant
/
{id}
Актуализиране на асистент
curl --request PUT \
  --url https://call.aiployees.com/api/user/assistant/{id} \
  --header 'Authorization: Bearer <token>' \
  --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"
  }
}
Този endpoint ви позволява да актуализирате конфигурацията на съществуващ AI асистент. Всички полета са опционални - предоставете само полетата, които искате да актуализирате.

Параметри в пътя

id
integer
required
Уникалният идентификатор на асистента за актуализиране

Тяло на заявката

Основни полета

name
string
Името на асистента (максимум 255 символа)
voice_id
integer
ID на гласа за използване от асистента. Използвайте endpoint-а Get Voices с параметъра mode, за да получите съвместими гласове за вашия режим на двигателя.
language_id
integer
ID на езика за асистента. Използвайте endpoint-а Get Languages, за да получите наличните езици.
type
string
Типът на асистента. Опции: inbound, outbound
mode
string
Режимът на двигателя. Опции: pipeline, multimodal, dualplex
Промяната на режима ще нулира настройките, специфични за режима, към настройките по подразбиране за новия режим.
timezone
string
Часовата зона за асистента (напр. “Europe/Bucharest”, “America/New_York”)
initial_message
string
Първоначалното съобщение, което асистентът ще произнесе, когато разговорът започне (максимум 200 символа)
system_prompt
string
Системният prompt, който дефинира поведението и личността на асистента

Полета, специфични за режима

llm_model_id
integer
ID на LLM модела за използване. Приложимо само за режим pipeline.Използвайте endpoint-а Get Models, за да получите наличните модели.
multimodal_model_id
integer
ID на multimodal модела. Приложимо само за режими multimodal и dualplex.Използвайте endpoint-а Get Models, за да получите наличните multimodal модели.
chat_llm_fallback_id
integer
Резервен LLM модел ID за извиквания на инструменти в multimodal/dualplex режими. Задайте null за премахване.
turn_detection_threshold
number
Чувствителност за разпознаване на реда за multimodal/dualplex режими (0-1). Задайте null за автоматично.

Вторични езици

secondary_language_ids
integer[]
Масив от допълнителни ID на езици, на които асистентът може да говори. Заменя съществуващите вторични езици. Подайте празен масив [] за премахване на всички вторични езици.
"secondary_language_ids": [2, 3, 4]

Настройки за knowledgebase

knowledgebase_id
integer
ID на knowledgebase за прикачване. Задайте null за премахване на knowledgebase.
knowledgebase_mode
string
Как да се използва knowledgebase. Опции:
  • function_call - AI извиква функция за търсене (необходимо за multimodal/dualplex)
  • prompt - Знанията се инжектират в prompt-а (само pipeline)

Телефонен номер

phone_number_id
integer
ID на телефонен номер за назначаване. Задайте null за отмяна на назначението. Трябва да принадлежи на вашия профил.
За inbound асистенти телефонният номер не може да бъде от тип Caller ID и не може да бъде вече назначен към друг inbound асистент.

Персонализирани инструменти по време на разговор

tool_ids
integer[]
Масив от ID на персонализирани инструменти за синхронизиране по време на разговор. Заменя всички съществуващи назначения на инструменти. Подайте празен масив [] за премахване на всички инструменти. Всеки инструмент трябва да принадлежи на вашия профил.
"tool_ids": [1, 5, 12]

Вградени инструменти

tools
array
Масив от вградени инструменти. Заменя всички съществуващи вградени инструменти. Подайте празен масив [] за премахване на всички инструменти.
"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"
  }
]

Настройки за глас и TTS

tts_emotion_enabled
boolean
Дали да се активира емоционална text-to-speech синтеза
voice_stability
number
Настройка за стабилност на гласа (0-1). По-високо = по-последователен глас
voice_similarity
number
Настройка за приличност на гласа (0-1). По-високо = по-близо до оригиналния глас
speech_speed
number
Множител за скорост на говора (0.7-1.2)
llm_temperature
number
Настройка за LLM температура (0-1). По-ниско = по-детерминистично
synthesizer_provider_id
integer
ID на персонализиран TTS доставчик. Задайте null, за да използвате езиковия по подразбиране. Използвайте endpoint-а Get Synthesizer Providers, за да откриете наличните доставчици.
transcriber_provider_id
integer
ID на персонализиран STT доставчик. Само за Pipeline режим. Задайте null, за да използвате езиковия по подразбиране. Използвайте endpoint-а Get Transcriber Providers, за да откриете наличните доставчици.

Настройки за поведение при разговор

allow_interruptions
boolean
Дали да се позволят прекъсвания от обаждащия се.
Не може да се деактивира за режими multimodal и dualplex.
fillers
boolean
Дали да се използва filler аудио по време на обработка.
Налично само за режим pipeline.
filler_config
object
Персонализирани профили за filler думи по категория. Заменя съществуващата filler конфигурация. Всяка категория е масив от кратки фрази.
  • positive: Filler думи за позитивни/утвърдителни отговори
  • negative: Filler думи за негативни/неутрални отговори
  • question: Filler думи при обработване на въпрос
  • neutral: Filler думи за неутрални потвърждения
"filler_config": {
  "positive": ["Great!", "Perfect!"],
  "negative": ["Hmm.", "I see."],
  "question": ["Good question.", "Let me check."],
  "neutral": ["Ok.", "Noted."]
}
record
boolean
Дали да се записва разговорът
enable_noise_cancellation
boolean
Дали да се активира потискане на шума
wait_for_customer
boolean
Ако е true, асистентът чака клиентът първо да заговори

Настройки за време

max_duration
integer
Максимална продължителност на разговора в секунди (20-1200)
max_silence_duration
integer
Максимална продължителност на тишината преди повторно ангажиране в секунди (1-360)
max_initial_silence_duration
integer
Максимална тишина в началото на разговора преди приключване (1-120 секунди). Задайте null за деактивиране.
ringing_time
integer
Максимално време за звънене преди отказване (1-60 секунди)

Настройки за повторно ангажиране

reengagement_interval
integer
Интервал за повторно ангажиране в секунди (7-600)
reengagement_prompt
string
Персонализиран prompt за съобщения за повторно ангажиране (максимум 1000 символа). Задайте null, за да използвате по подразбиране.

Настройки за гласова поща

end_call_on_voicemail
boolean
Дали да се приключи разговорът, когато се открие гласова поща
voice_mail_message
string
Съобщение за оставяне в гласовата поща преди затваряне (максимум 1000 символа). Задайте null за деактивиране.

Разпознаване на край

endpoint_type
string
Тип разпознаване на гласова активност. Опции: vad, ai
endpoint_sensitivity
number
Ниво на чувствителност за край (0-5)
interrupt_sensitivity
number
Ниво на чувствителност за прекъсване (0-5)
min_interrupt_words
integer
Минимален брой думи преди разрешаване на прекъсване (0-10). Задайте null за деактивиране.

Фонов звук

ambient_sound
string
Фонов звук. Опции: off, office, city, forest, crowded_room, cafe, nature
ambient_sound_volume
number
Ниво на звука на фоновия звук (0-1)

Конфигурация за webhook

is_webhook_active
boolean
Дали webhook нотификациите са активирани
webhook_url
string
URL на webhook за нотификации след разговор. Задайте null за премахване.
send_webhook_only_on_completed
boolean
Дали да се изпращат webhook-и само при завършени разговори (не неуспешни/без отговор)
include_recording_in_webhook
boolean
Дали да се включи URL за записа в webhook payload-а

Оценка след разговор

post_call_evaluation
boolean
Дали да се активира AI оценка след разговор
post_call_schema
array
Схема за дефиниция за извличане на данни след разговор. Заменя съществуващата схема.

Променливи

variables
object
Ключ-стойност двойки от персонализирани променливи. Заменя всички съществуващи променливи.
"variables": {
  "company_name": "Acme Corp",
  "product": "Premium Widget"
}

Настройки за приключен разговор

conversation_inactivity_timeout
integer
Минути на неактивност в чата преди разговорът да се счита за приключен (1-1440). Задайте null за деактивиране. По подразбиране: 30
conversation_ended_retrigger
boolean
Дали да се позволи повторно задействане на разговора след приключване поради неактивност
conversation_ended_webhook_url
string
URL на webhook, извикван когато чат разговорът приключи поради неактивност. Задайте null за премахване. Отделно от основния разговорен webhook.

Примерни заявки

Актуализиране на основни настройки

{
  "name": "Актуализирано име на асистент",
  "initial_message": "Здравейте! Как мога да ви помогна?",
  "max_duration": 900
}

Превключване към Multimodal режим

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

Актуализиране на инструменти и knowledgebase

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

Актуализиране на повторно ангажиране и гласова поща

{
  "reengagement_interval": 15,
  "reengagement_prompt": "Все още ли сте там? Тук съм, за да помогна.",
  "end_call_on_voicemail": true,
  "voice_mail_message": "Здравейте, моля, обадете ни се отново, когато ви е удобно."
}

Премахване на опционални настройки

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

Отговор

message
string
Съобщение за успех, потвърждаващо актуализацията на асистента
data
object
{
  "message": "Assistant updated successfully",
  "data": {
    "id": 789,
    "name": "Updated Sales Assistant",
    "status": "active",
    "type": "outbound",
    "mode": "pipeline"
  }
}

Бележки

  • Само полетата, които предоставите в тялото на заявката, ще бъдат актуализирани
  • За премахване на опционални полета, изрично ги задайте на null
  • За изчистване на масиви (инструменти, вторични езици), подайте празен масив []
  • Асистентът трябва да принадлежи на удостоверения потребител
  • Използвайте Get Voices endpoint с параметър mode за получаване на съвместими гласове
  • За multimodal/dualplex режими, knowledgebase_mode трябва да бъде function_call
  • За multimodal/dualplex режими, allow_interruptions не може да се деактивира
  • Промяната на режима нулира настройките, специфични за режима (LLM модел, multimodal модел, доставчици)