Sirius Interview API
AI destekli video görüşme platformu. Dakikalar içinde entegre edin.
Nasıl Çalışır?
Görüşme Oluştur
API ile görüşme başlatın
Adaya Gönder
Link'i e-posta ile iletin
AI Görüşme
Aday avatar ile görüşür
Sonuç Al
Webhook ile sonuç alın
Base URL
https://api.siriusaitech.com/v1
Sistem Mimarisi
Platform yapısını ve entegrasyon sürecini anlayın
Hiyerarşik Yapı
SiriusAITech tarafından oluşturulur
Provider
Şirketinizi temsil eder. SiriusAITech tarafından oluşturulur ve size ilk API Key verilir.
Application
Farklı ortamlar (prod, staging, dev) için ayrı uygulamalar. Her birinin kendi ayarları vardır.
API Key
Kimlik doğrulama için kullanılır. Scope'lar ile yetkilendirme sağlanır.
Developer Onboarding Pipeline
Provider Hesabı Alın
Sirius AI Tech ile iletişime geçin. Provider hesabınız oluşturulacak ve ilk API Key'iniz size iletilecek.
Application Oluşturun
Aldığınız API Key ile yeni uygulamalar oluşturabilirsiniz. Her ortam için ayrı uygulama önerilir.
{ "name": "Production App", "environment": "production", "allowedOrigins": ["https://yourapp.com"], "rateLimits": { "requestsPerMinute": 100 } }
AI Providers'ı Keşfedin
Mevcut LLM, TTS ve STT servislerini listeleyin ve görüşmeleriniz için uygun olanları seçin.
// Response: OpenAI, Anthropic, Google, ElevenLabs, Deepgram...
Avatar Seçin veya Oluşturun
Sistem avatarlarını kullanın veya kendi özel avatarınızı oluşturun.
// Sistem + özel avatarlarınızı listeler
İlk Görüşmeyi Başlatın
Tüm yapılandırmalarla ilk AI görüşmenizi oluşturun ve adaylara gönderin.
// Detaylı örnek için "Hızlı Başlangıç" bölümüne bakın
API Key Yetkileri (Scopes)
API Key'iniz belirli işlemler için yetkilendirilmiştir:
applications:read
applications:write
avatars:read
avatars:write
interviews:read
interviews:write
providers:read
usage:read
Hızlı Başlangıç
3 adımda ilk görüşmenizi oluşturun
API Key Alın
Dashboard'dan API key'inizi oluşturun ve güvenli bir yerde saklayın.
SIRIUS_API_KEY=lnt_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx
Görüşme Oluşturun
Aday bilgileri ve sorularla bir görüşme oluşturun.
{ "candidate": { "name": "Ahmet Yılmaz", "email": "ahmet@example.com" }, "position": { "title": "Frontend Developer" }, "questions": [ "Kendinizi tanıtır mısınız?", "React deneyiminiz nedir?" ] }
Adaya Link Gönderin
Response'tan gelen candidateUrl'i adaya iletin.
{ "id": "int_abc123", "candidateUrl": "https://interview.siriusaitech.com/abc123", "status": "pending" }
curl -X POST https://api.siriusaitech.com/v1/interviews \
-H "Authorization: Bearer $SIRIUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"candidate":{"name":"Test","email":"test@example.com"},"position":{"title":"Developer"},"questions":["Merhaba?"]}'
RESTful API
Standart HTTP metodları ile kolay entegrasyon. JSON formatında request/response.
Güvenli & Şifreli
TLS 1.3 şifreleme, Bearer token auth. KVKK ve GDPR uyumlu altyapı.
Gerçek Zamanlı
Webhook bildirimleri ile anlık event takibi. Sisteminizi güncel tutun.
Kimlik Doğrulama
Bearer token ile güvenli API erişimi
Tüm API istekleri Authorization header'ı gerektirir.
API anahtarınızı Sirius AI Tech ekibinden talep edebilirsiniz. Test ve production ortamları için ayrı anahtarlar sağlanır.
Authorization: Bearer lnt_live_sk_xxxxxxxxxxxxxxxxxxxxxxxx
Güvenlik
API anahtarınızı asla client-side kodda kullanmayın. Yalnızca sunucu tarafında saklayın.
Rate Limiting
Dakikada 100 istek limiti uygulanır. Limit aşımında 429 hatası döner.
Görüşme Oluştur
Yeni bir AI video görüşmesi başlatır. Şirket, pozisyon ve aday bilgileri ile birlikte kişiselleştirilmiş bir görüşme deneyimi oluşturulur.
Endpoint
Request Body
| Parametre | Tip | Açıklama |
|---|---|---|
companyInfo
zorunlu
|
object | Şirket adı, logo URL'i ve marka bilgileri |
position
zorunlu
|
object | Pozisyon başlığı, departman ve gereksinimler |
candidate
zorunlu
|
object | Aday adı, e-posta ve telefon bilgileri |
avatar
zorunlu
|
object | AI avatar ID ve özelleştirme (customName, customTitle) |
aiConfig
zorunlu
|
object | LLM, TTS ve STT provider konfigürasyonu |
prompts
zorunlu
|
object | System prompt ve karşılama mesajı |
questions
zorunlu
|
array | Soru metinleri ve her soru için süre limiti |
settings
zorunlu
|
object | Max süre, link geçerlilik süresi, retry izni |
callback
zorunlu
|
object | Webhook URL ve dinlenecek event listesi |
metadata
opsiyonel
|
object | Kendi sisteminizdeki referans ID'leri |
Örnek Request
{ "companyInfo": { "name": "Acme Teknoloji", "logo": "https://acme.com/logo.png" }, "position": { "title": "Senior Frontend Developer", "department": "Engineering" }, "candidate": { "name": "Ahmet Yılmaz", "email": "ahmet@example.com" }, "avatar": { "id": "avatar_ayse_01", "customName": "Ayşe Demir", "customTitle": "İK Uzmanı" }, "aiConfig": { "llm": { "provider": "openai", "model": "gpt-4o" }, "tts": { "provider": "elevenlabs" }, "stt": { "provider": "deepgram", "language": "tr" } }, "questions": [ { "text": "Kendinizi tanıtır mısınız?", "duration": 120 } ], "settings": { "expiresInDays": 7 }, "callback": { "url": "https://your-api.com/webhook" } }
Response
201 Created{ "interviewId": "int_7kX9mP2vL4nQ", "token": "eyJhbGciOiJIUzI1NiIs...", "interviewUrl": "https://interview.linteractive.ai/setup/...", "shortUrl": "https://lntr.ai/x7k9m", "status": "pending", "expiresAt": "2024-12-14T10:00:00.000Z" }
Görüşme Sorgula
Görüşme durumunu, zaman çizelgesini ve tamamlandıysa AI analiz sonuçlarını getirir.
{ "interviewId": "int_7kX9mP2vL4nQ", "status": "completed", "candidate": { "name": "Ahmet Yılmaz" }, "timeline": { "createdAt": "2024-12-06T10:00:00Z", "startedAt": "2024-12-06T14:30:00Z", "completedAt": "2024-12-06T14:52:00Z" }, "result": { "overallScore": 85, "recommendation": "recommended" } }
Görüşmeleri Listele
Tüm görüşmeleri sayfalanmış olarak listeler.
Görüşme İptal
Henüz başlamamış bir görüşmeyi iptal eder.
Görüşme Önizleme
KVKK onayından önce adaya gösterilecek minimal bilgileri döner. Yalnızca şirket adı, logo ve pozisyon bilgisi içerir.
KVKK Uyumlu: Bu endpoint hassas veri içermez. Aday henüz KVKK metnini onaylamamış olsa bile güvenle çağrılabilir.
{ "companyName": "Acme Teknoloji", "companyLogo": "https://acme.com/logo.png", "position": "Senior Frontend Developer" }
Token Doğrulama
KVKK onayından sonra çağrılır. Aday bilgileri, avatar, ayarlar ve soru sayısı dahil tüm görüşme detaylarını döner.
{ "interviewId": "int_7kX9mP2vL4nQ", "status": "pending", "candidate": { "name": "Ahmet Yılmaz" }, "company": { "name": "Acme Teknoloji", "logo": "https://acme.com/logo.png", "primaryColor": "#3b6cf7" }, "position": { "title": "Senior Frontend Developer", "department": "Engineering" }, "avatar": { "name": "Ayşe Demir", "title": "İK Uzmanı", "photo": "https://..." }, "settings": { "language": "tr", "maxDuration": 1800, "requireCamera": true }, "questionsCount": 5, "expiresAt": "2024-12-14T10:00:00.000Z" }
Görüşmeye Katıl
Adayın görüşmeye katılmasını sağlar. Görüşme durumunu "in_progress" olarak günceller ve LiveKit bağlantı bilgilerini döner.
Video Bağlantısı: Bu endpoint, LiveKit token ve room bilgilerini döner. Aday bu bilgilerle video görüşmesine bağlanır.
Request Body
{ "userAgent": "Mozilla/5.0...", "screenResolution": "1920x1080", "timezone": "Europe/Istanbul" }
{ "interviewId": "int_7kX9mP2vL4nQ", "status": "in_progress", "startedAt": "2024-12-06T14:30:00.000Z", "livekit": { "token": "eyJhbGciOiJIUzI1NiIs...", "serverUrl": "wss://livekit.linteractive.ai", "roomName": "interview_int_7kX9mP2vL4nQ" }, "questions": [ { "text": "Kendinizi tanıtır mısınız?", "duration": 120 } ] }
Görüşme Tamamla
Görüşmeyi tamamlandı olarak işaretler. Cevaplar ve analiz verileri AI Agent tarafından ayrıca işlenir.
Not: Bu endpoint sadece görüşme durumunu günceller. Cevaplar, transkript ve analiz verileri Python AI Agent tarafından ayrıca kaydedilir.
Request Body
{ "sessionId": "sess_abc123xyz" // opsiyonel }
{ "interviewId": "int_7kX9mP2vL4nQ", "sessionId": "sess_abc123xyz", "status": "processing", "completedAt": "2024-12-06T14:52:00.000Z", "message": "Interview completed successfully" }
Applications
Uygulamalarınızı yönetin ve özelleştirin
Endpoint'ler
| Method | Endpoint | Açıklama |
|---|---|---|
| GET | /api/applications | Uygulama listesi |
| GET | /api/applications/:applicationId | Uygulama detayı |
| POST | /api/applications | Yeni uygulama oluştur |
| PUT | /api/applications/:applicationId | Uygulama güncelle |
| DELETE | /api/applications/:applicationId | Uygulama sil |
Marka Özelleştirme (Branding)
Yeni: Uygulamalarınıza marka özelleştirmeleri ekleyerek aday görüşme arayüzünü kişiselleştirebilirsiniz.
| Alan | Tip | Açıklama |
|---|---|---|
branding.logo |
string (URL) | Şirket logosu URL'i |
branding.primaryColor |
string (hex) | Ana renk (örn: #3B82F6) |
branding.backgroundColor |
string (hex) | Arka plan rengi (örn: #F8FAFC) |
branding.backgroundImage |
string (URL) | Arka plan görseli URL'i |
branding.companyName |
string | Görüntülenecek şirket adı |
{ "name": "Production App", "environment": "production", "allowedOrigins": ["https://yourapp.com"], "branding": { "logo": "https://example.com/logo.png", "primaryColor": "#3B82F6", "backgroundColor": "#F8FAFC", "backgroundImage": "https://example.com/bg.jpg", "companyName": "Şirketiniz" } }
API Keys
Kendi API Key'lerinizi oluşturun ve yönetin
Önemli: API Key'ler Application bazında oluşturulur. Her API Key belirli scope'lara sahiptir ve oluşturulduğunda secret key sadece bir kez gösterilir.
Endpoint'ler
| Method | Endpoint | Açıklama |
|---|---|---|
| GET | /api/api-keys?applicationId=xxx | Uygulamaya ait API Key listesi |
| GET | /api/api-keys/:apiKeyId | API Key detayı |
| POST | /api/api-keys | Yeni API Key oluştur |
| POST | /api/api-keys/:apiKeyId/revoke | API Key iptal et |
| DELETE | /api/api-keys/:apiKeyId | API Key sil |
| GET | /api/api-keys/scopes | Kullanılabilir scope listesi |
{ "applicationId": "app_xxx", "name": "Production API Key", "scopes": [ "applications:read", "interviews:read", "interviews:write", "avatars:read", "providers:read" ], "expiresAt": "2025-12-31T23:59:59Z" }
Kullanılabilir Scope'lar
| Scope | Açıklama |
|---|---|
applications:read |
Uygulama bilgilerini okuma |
applications:write |
Uygulama oluşturma/güncelleme/silme |
api-keys:read |
API Key listesini görüntüleme |
api-keys:write |
API Key oluşturma/iptal etme/silme |
avatars:read |
Avatar bilgilerini okuma |
avatars:write |
Özel avatar oluşturma/güncelleme/silme |
interviews:read |
Görüşme bilgilerini okuma |
interviews:write |
Görüşme oluşturma/yönetme |
providers:read |
AI Provider listesini görüntüleme |
usage:read |
Kullanım istatistiklerini görüntüleme |
Avatarlar
Görüşmelerde kullanabileceğiniz AI avatarlar
{ "avatars": [ { "id": "avatar_ayse_01", "name": "Ayşe", "gender": "female", "language": "tr", "style": "professional" } ] }
AI Providerları
LLM, TTS ve STT servisleri ve varsayılan değerler
Varsayılan Değerler: Görüşme oluştururken aiConfig içinde belirtilmeyen parametreler otomatik olarak varsayılan değerlerle doldurulur. Avatar'ın varsayılan sesi varsa TTS voice olarak o kullanılır.
{ "tts": { "providers": [...], "defaults": { "provider": "openai", "model": "tts-1", "voice": "nova" } }, "stt": { "providers": [...], "defaults": { "provider": "deepgram", "model": "nova-3", "language": "tr" } }, "llm": { "providers": [...], "defaults": { "provider": "openai", "model": "gpt-4o", "temperature": 0.4 } } }
aiConfig Parametreleri
| Parametre | Varsayılan | Açıklama |
|---|---|---|
llm.provider |
openai | LLM provider (openai, anthropic) |
llm.model |
gpt-4o | Kullanılacak LLM modeli |
llm.temperature |
0.4 | Model sıcaklık değeri (0-1) |
tts.provider |
openai | TTS provider (openai, elevenlabs) |
tts.model |
tts-1 | TTS model (tts-1, tts-1-hd) |
tts.voice |
nova (veya avatar varsayılanı) | Kullanılacak ses (nova, alloy, echo, fable, onyx, shimmer) |
stt.provider |
deepgram | STT provider (deepgram, openai) |
stt.model |
nova-3 | STT modeli |
stt.language |
tr | Tanınacak dil (tr, en, de, fr, vb.) |
Webhooks
Gerçek zamanlı event bildirimleri
interview.started
Aday görüşmeye başladığında
interview.completed
Görüşme tamamlandığında
interview.analyzed
AI analizi hazır olduğunda
interview.expired
Link süresi dolduğunda
Hata Kodları
Standart HTTP durum kodları
| Kod | Durum | Açıklama |
|---|---|---|
| 200 | OK | Başarılı istek |
| 201 | Created | Kaynak oluşturuldu |
| 400 | Bad Request | Geçersiz parametreler |
| 401 | Unauthorized | Geçersiz API anahtarı |
| 404 | Not Found | Kaynak bulunamadı |
| 429 | Too Many Requests | Rate limit aşıldı |
Görüşme Durumları
API Playground
API'yi interaktif olarak test edin, örnek istekler gönderin