Asistanın etkin yapılandırmasını (taslak + yayınlanmış + varsayılan) kaynak takibi ile alın
/assistants/:id/effectiveEtkin yapılandırmayı döner (taslak öncelikli, sonra yayınlanmış, sonra varsayılan). Her alanın kaynağını gösterir.
Bu endpoint, her yapılandırma alanı için şu öncelik sırasını kullanır:
_meta.source alanı, her değerin kaynağını gösterir:"draft","published" veya"default"
idzorunluAsistan ID'si
curl -X GET https://api.wespoke.ai/api/v1/assistants/ast_1234567890/effective \
-H "Authorization: Bearer YOUR_API_KEY"{
"systemPrompt": "Etkin sistem talimatı (taslaktan)",
"greetingMessage": "Karşılama mesajı (yayınlanmış versiyondan)",
"voice": "Fahco4VZzobUeiPqni1S",
"language": "tr",
"temperature": 0.8,
"maxOutputTokens": 500,
"llmModel": "google/gemini-2.5-flash",
"sttProvider": "DEEPGRAM",
"sttModel": "nova-2",
"ttsProvider": "ELEVENLABS",
"ttsModel": "eleven_turbo_v2_5",
"ttsSpeed": 1.0,
"ttsPitch": 1.0,
"backgroundAudioEnabled": false,
"backgroundAudioVolume": 0.1,
"inactivityTimeoutEnabled": true,
"inactivityTimeoutSeconds": 10,
"crmLookupMode": "disabled",
"requireVerification": true,
"toolIds": ["tool_123", "tool_456"],
"knowledgeBaseIds": ["kb_789"],
"_meta": {
"source": {
"systemPrompt": "draft",
"greetingMessage": "published",
"voice": "default",
"language": "default",
"temperature": "draft",
"maxOutputTokens": "published",
"llmModel": "default",
"sttProvider": "default",
"sttModel": "default",
"ttsProvider": "default",
"ttsModel": "default",
"ttsSpeed": "default",
"ttsPitch": "default",
"backgroundAudioEnabled": "default",
"backgroundAudioVolume": "default",
"inactivityTimeoutEnabled": "default",
"inactivityTimeoutSeconds": "default",
"crmLookupMode": "default",
"requireVerification": "default",
"toolIds": "draft",
"knowledgeBaseIds": "published"
}
}
}Not: Tüm yapılandırma alanları yanıtta yer alır (değer varsa veya varsayılan kullanılır)._meta.source her alanın nereden geldiğini gösterir.
systemPromptstring | undefinedEtkin sistem talimatı
greetingMessagestring | undefinedEtkin karşılama mesajı
voicestringEtkin ses ID'si (varsayılan: "Fahco4VZzobUeiPqni1S")
languagestringEtkin dil kodu (varsayılan: "tr")
temperaturenumberEtkin LLM sıcaklık değeri (varsayılan: 0.1)
maxOutputTokensnumberEtkin maksimum çıktı token sayısı (varsayılan: 500)
llmModelstringEtkin LLM model adı (varsayılan: "google/gemini-2.5-flash")
sttProviderstringEtkin STT sağlayıcı (varsayılan: "DEEPGRAM")
sttModelstringEtkin STT model (varsayılan: "nova-2")
ttsProviderstringEtkin TTS sağlayıcı (varsayılan: "ELEVENLABS")
ttsModelstringEtkin TTS model (varsayılan: "eleven_turbo_v2_5")
ttsSpeednumberEtkin TTS hızı (varsayılan: 1.0)
ttsPitchnumberEtkin TTS pitch (varsayılan: 1.0)
inactivityTimeoutEnabledbooleanSessizlik zaman aşımı aktif mi (varsayılan: true)
inactivityTimeoutSecondsnumberKullanıcı sessiz kalırsa aramayı sonlandırma süresi (5-30 saniye, varsayılan: 10)
toolIdsstring[]Etkin araç ID'leri listesi (varsayılan: [])
knowledgeBaseIdsstring[]Etkin bilgi tabanı ID'leri listesi (varsayılan: [])
_meta.sourceobjectHer yapılandırma alanının kaynağını gösterir. Olası değerler: "draft", "published", "default"
{
"error": "Assistant not found"
}Belirtilen ID'ye sahip asistan bulunamadı veya size ait değil.
{
"error": "Invalid API key"
}API anahtarı geçersiz veya eksik.
Test araması yapmadan önce kullanılacak tam yapılandırmayı alın:
// Test araması için kullanılacak tam yapılandırmayı al
const config = await fetch('/api/assistants/ast_123/effective');
// Bu yapılandırma ile test araması yap
await makeTestCall({
systemPrompt: config.systemPrompt,
voice: config.voice,
temperature: config.temperature,
tools: config.toolIds
// ...diğer ayarlar
});Kullanıcıya hangi değerlerin taslaktan geldiğini gösterin:
const config = await fetch('/api/assistants/ast_123/effective');
// Taslak değerleri vurgula
Object.keys(config._meta.source).forEach(field => {
if (config._meta.source[field] === 'draft') {
highlightField(field, 'Taslaktan');
} else if (config._meta.source[field] === 'published') {
highlightField(field, 'Yayınlanmış');
} else {
highlightField(field, 'Varsayılan');
}
});Kullanıcıya yayınlandığında ne değişeceğini gösterin:
const draft = await fetch('/api/assistants/ast_123/draft');
const effective = await fetch('/api/assistants/ast_123/effective');
// Değişecek alanları bul
const changes = Object.keys(draft || {}).filter(field =>
effective._meta.source[field] !== 'draft'
);
console.log('Yayınlandığında değişecek alanlar:', changes);