Giden Arama Başlat

Asistanınızla otomatik giden arama başlatın

Endpoint

POST/api/v1/calls/outbound

Belirtilen telefon numarasına asistanınızla otomatik giden arama başlatır.

İstek Gövdesi

phoneNumberIdzorunlu

Aramayı başlatacak telefon numaranızın kimliği

assistantIdzorunlu

Aramayı gerçekleştirecek asistanın kimliği

tozorunlu

Aranacak telefon numarası (E.164 formatında, örn: +905551234567)

greetingMessageopsiyonel

Asistanın arama açıldığında söyleyeceği ilk mesaj. Belirtilmezse, asistanın varsayılan selamlama mesajı kullanılır.

specialInstructionsopsiyonel

Bu arama için asistana verilecek özel talimatlar. Asistanın sistem promptuna ek olarak kullanılır.

metadataopsiyonel

Arama ile ilişkilendirilecek özel meta veriler (JSON objesi). Kampanya ID'si, müşteri bilgileri, notlar gibi veriler için kullanılabilir.

💡 Bu metadata veritabanına kaydedilir ve hem call.started hem de call.ended webhook'larında geri döner.

Örnek İstek

cURL
curl -X POST "https://api.wespoke.ai/api/v1/calls/outbound" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumberId": "phone_789",
    "assistantId": "asst_456",
    "to": "+905559876543",
    "greetingMessage": "Merhaba, Acme Şirketi'nden arıyorum. Size özel bir kampanyamız hakkında bilgi vermek istiyorum.",
    "specialInstructions": "Müşterinin adını kullan ve kampanya detaylarını açıkla.",
    "metadata": {
      "contactName": "Ahmet Yılmaz",
      "tags": ["kampanya", "yeni-müşteri"],
      "notes": "VIP müşteri"
    }
  }'

Örnek Yanıt

200 OK
{
  "success": true,
  "callId": "out-1736938800000-a1b2c3",
  "status": "ringing"
}

Arama başarıyla başlatıldığında basit bir yanıt döner. Arama detaylarını görmek için GET /api/v1/calls/:callId endpoint'ini kullanın.

Arama Durumları

initiating

Arama başlatılıyor, FreeSWITCH'e gönderiliyor

ringing

Karşı taraf aranıyor (çalıyor)

connected

Karşı taraf aramayı açtı, konuşma bağlandı

in_progress

Arama aktif olarak devam ediyor

completed

Arama başarıyla tamamlandı

failed

Arama başarısız oldu (ağ hatası, geçersiz numara, yayınlanmamış asistan vb.)

Webhook Olayları

Giden aramalar için aşağıdaki webhook olayları otomatik olarak gönderilir:

  • call.started - Arama bağlandığında (karşı taraf açtığında)
  • call.ended - Arama sonlandığında (tüm detaylar, mesajlar ve kayıt URL'si ile)

Webhook URL'sini Dashboard → Webhooks sayfasından yapılandırabilirsiniz.

API ile Arama Takibi:

  • GET /api/v1/calls/:callId - Arama detaylarını ve mesajları getir
  • GET /api/v1/calls/outbound/:callId - Giden arama durumunu kontrol et
  • GET /api/v1/calls/outbound/active - Aktif giden aramaları listele
  • DELETE /api/v1/calls/outbound/:callId - Aramayı sonlandır

Hata Yanıtları

400 Bad Request - Zorunlu Alan Eksik
{
  "success": false,
  "error": {
    "message": "to, assistantId, and phoneNumberId are required",
    "code": "VALIDATION_ERROR"
  }
}
400 Bad Request - Yayınlanmamış Asistan
{
  "success": false,
  "error": "Assistant has no published version. Please publish the assistant first."
}
404 Not Found - Asistan veya Telefon Numarası Bulunamadı
{
  "success": false,
  "error": "Assistant not found"
}

veya

{
  "success": false,
  "error": "Phone number not found or not active"
}