Web embedding API endpoint'lerinin detaylı dokümantasyonu
/api/v1/embed/tokenWeb tabanlı ses araması için LiveKit bağlantı token'ı oluşturur.
API anahtarınızı Authorization header'ında Bearer token olarak göndermelisiniz.
Authorization: Bearer pk_live_abc123...Not: API anahtarınız pk_ ile başlamalıdır. API anahtarlarınızı Ayarlar sayfasından oluşturabilirsiniz.
interface TokenRequest {
assistantId: string;
metadata?: {
userId?: string;
sessionId?: string;
customData?: Record<string, any>;
};
}assistantIdZorunlustringAramayı başlatacak asistanın benzersiz ID'si. Kontrol panelindeki asistan listesinden bulabilirsiniz.
metadataOpsiyonelobjectArama ile ilgili ek bilgiler. Bu veriler arama kaydında saklanır.
userId - Kullanıcının benzersiz ID'sisessionId - Oturum ID'si (web analitik için)customData - Özel veriler (key-value pairs)const response = await fetch('https://api.wespoke.ai/api/v1/embed/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer pk_live_abc123...'
},
body: JSON.stringify({
assistantId: 'asst_xyz789',
metadata: {
userId: 'user-123',
sessionId: 'session-456',
customData: {
source: 'homepage',
campaign: 'spring-2024'
}
}
})
});interface TokenResponse {
success: true;
data: {
callId: string;
token: string;
url: string;
roomName: string;
assistant: {
id: string;
name: string;
version: number;
};
};
}callIdstringOluşturulan aramanın benzersiz ID'si. Bu ID ile arama geçmişinde aramanızı bulabilirsiniz.
tokenstringLiveKit WebRTC bağlantısı için JWT token. Bu token ile LiveKit'e bağlanabilirsiniz.
urlstringLiveKit sunucusunun WebSocket URL'i. Bu URL ile bağlantı kurulur.
roomNamestringLiveKit oda adı. Format: call-{callId}
assistantobjectAsistan bilgileri (id, name, version)
{
"success": true,
"data": {
"callId": "call_abc123def456",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"url": "wss://eu.livekit.cloud",
"roomName": "call-call_abc123def456",
"assistant": {
"id": "asst_xyz789",
"name": "Müşteri Hizmetleri Asistanı",
"version": 3
}
}
}Geçersiz istek parametreleri
{
"success": false,
"error": {
"message": "assistantId is required",
"code": "MISSING_ASSISTANT_ID"
}
}{
"success": false,
"error": {
"message": "Assistant has no published versions",
"code": "NO_PUBLISHED_VERSION"
}
}Geçersiz veya eksik API anahtarı
{
"success": false,
"error": {
"message": "Invalid or missing API key",
"code": "UNAUTHORIZED"
}
}Domain izin listesinde değil
{
"success": false,
"error": {
"message": "Domain not allowed for this API key",
"code": "DOMAIN_NOT_ALLOWED"
}
}Asistan bulunamadı veya erişim reddedildi
{
"success": false,
"error": {
"message": "Assistant not found or access denied",
"code": "ASSISTANT_NOT_FOUND"
}
}Sunucu hatası
{
"success": false,
"error": {
"message": "Failed to generate token",
"code": "TOKEN_GENERATION_ERROR"
}
}