Etkin Yapılandırma Al

Asistanın etkin yapılandırmasını (taslak + yayınlanmış + varsayılan) kaynak takibi ile alın

Endpoint

GET/assistants/:id/effective

Etkin yapılandırmayı döner (taslak öncelikli, sonra yayınlanmış, sonra varsayılan). Her alanın kaynağını gösterir.

Öncelik Sırası

Bu endpoint, her yapılandırma alanı için şu öncelik sırasını kullanır:

  1. Taslak - Taslakta değer varsa, taslak değeri kullanılır
  2. Yayınlanmış - Taslakta yoksa, yayınlanmış versiyon kullanılır
  3. Varsayılan - Hiçbiri yoksa, sistem varsayılanı kullanılır

_meta.source alanı, her değerin kaynağını gösterir:"draft","published" veya"default"

URL Parametreleri

idzorunlu

Asistan ID'si

Örnek İstek

cURL
curl -X GET https://api.wespoke.ai/api/v1/assistants/ast_1234567890/effective \
  -H "Authorization: Bearer YOUR_API_KEY"

Yanıt

200 OK
{
  "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.

Yanıt Alanları

Yapılandırma Alanları

systemPromptstring | undefined

Etkin sistem talimatı

greetingMessagestring | undefined

Etkin karşılama mesajı

voicestring

Etkin ses ID'si (varsayılan: "Fahco4VZzobUeiPqni1S")

languagestring

Etkin dil kodu (varsayılan: "tr")

temperaturenumber

Etkin LLM sıcaklık değeri (varsayılan: 0.1)

maxOutputTokensnumber

Etkin maksimum çıktı token sayısı (varsayılan: 500)

llmModelstring

Etkin LLM model adı (varsayılan: "google/gemini-2.5-flash")

sttProviderstring

Etkin STT sağlayıcı (varsayılan: "DEEPGRAM")

sttModelstring

Etkin STT model (varsayılan: "nova-2")

ttsProviderstring

Etkin TTS sağlayıcı (varsayılan: "ELEVENLABS")

ttsModelstring

Etkin TTS model (varsayılan: "eleven_turbo_v2_5")

ttsSpeednumber

Etkin TTS hızı (varsayılan: 1.0)

ttsPitchnumber

Etkin TTS pitch (varsayılan: 1.0)

inactivityTimeoutEnabledboolean

Sessizlik zaman aşımı aktif mi (varsayılan: true)

inactivityTimeoutSecondsnumber

Kullanı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: [])

Metadata

_meta.sourceobject

Her yapılandırma alanının kaynağını gösterir. Olası değerler: "draft", "published", "default"

Hata Yanıtları

404 Not Found
{
  "error": "Assistant not found"
}

Belirtilen ID'ye sahip asistan bulunamadı veya size ait değil.

401 Unauthorized
{
  "error": "Invalid API key"
}

API anahtarı geçersiz veya eksik.

Kullanım Örnekleri

Test Araması Yapılandırması

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
});

Yapılandırma Önizlemesi

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');
  }
});

Yayınlama Önizlemesi

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);