Arama Detayı

Belirli bir aramanın detaylı bilgilerini ve mesaj geçmişini alın

Endpoint

GET/api/v1/calls/:callId

Belirli bir aramanın detaylı bilgilerini, mesaj geçmişini ve metriklerini getirir.

Path Parametreleri

callIdzorunlu

Detaylarını almak istediğiniz aramanın benzersiz kimliği

Örnek İstek

cURL
curl -X GET "https://api.wespoke.ai/api/v1/calls/call_123" \
  -H "Authorization: Bearer YOUR_API_KEY"

Örnek Yanıt

200 OK
{
  "id": "call_123",
  "assistantId": "asst_456",
  "assistantName": "Müşteri Destek Asistanı",
  "phoneNumberId": "phone_789",
  "phoneNumber": "+905551234567",
  "direction": "inbound",
  "status": "completed",
  "startTime": "2025-01-15T10:30:00Z",
  "endTime": "2025-01-15T10:35:30Z",
  "duration": 330,
  "endReason": "user_hangup",
  "cost": 0.45,
  "callerNumber": "+905559876543",
  "recordingUrl": "https://recordings.wespoke.ai/call_123.mp3",
  "metadata": {
    "customerName": "Ahmet Yılmaz",
    "ticketId": "TKT-001"
  },
  "messages": [
    {
      "id": "msg_001",
      "role": "assistant",
      "content": "Merhaba! Müşteri destek asistanına hoş geldiniz. Size nasıl yardımcı olabilirim?",
      "timestamp": "2025-01-15T10:30:05Z",
      "duration": 4.2,
      "interrupted": false
    },
    {
      "id": "msg_002",
      "role": "user",
      "content": "Merhaba, sipariş durumumu öğrenmek istiyorum.",
      "timestamp": "2025-01-15T10:30:10Z",
      "duration": 3.8,
      "interrupted": false
    },
    {
      "id": "msg_003",
      "role": "tool",
      "content": "check_order_status fonksiyonu çağrıldı",
      "timestamp": "2025-01-15T10:30:15Z",
      "toolInfo": {
        "name": "check_order_status",
        "arguments": {
          "customerId": "cust_789"
        },
        "result": {
          "orderId": "ORD-12345",
          "status": "shipped",
          "trackingNumber": "TRK-67890"
        }
      }
    },
    {
      "id": "msg_004",
      "role": "assistant",
      "content": "Siparişiniz kargoya verildi. Takip numaranız: TRK-67890. Başka bir konuda yardımcı olabilir miyim?",
      "timestamp": "2025-01-15T10:30:18Z",
      "duration": 5.5,
      "interrupted": false
    },
    {
      "id": "msg_005",
      "role": "user",
      "content": "Hayır, teşekkür ederim.",
      "timestamp": "2025-01-15T10:30:25Z",
      "duration": 2.1,
      "interrupted": false
    },
    {
      "id": "msg_006",
      "role": "assistant",
      "content": "Size yardımcı olabildiğim için mutluyum. İyi günler!",
      "timestamp": "2025-01-15T10:30:28Z",
      "duration": 3.2,
      "interrupted": false
    }
  ],
  "metrics": {
    "totalMessages": 6,
    "userMessages": 2,
    "assistantMessages": 3,
    "toolCalls": 1,
    "averageResponseTime": 2.3,
    "totalCost": 0.45,
    "costBreakdown": {
      "stt": 0.08,
      "llm": 0.15,
      "tts": 0.12,
      "livekit": 0.10
    }
  }
}

Yanıt Alanları

messages

Arama sırasında gerçekleşen tüm mesajların dizisi. Her mesaj şunları içerir:

  • role: Mesajın rolü (user, assistant, tool, system)
  • content: Mesaj içeriği
  • timestamp: Mesajın zamanı
  • duration: Mesaj süresi (saniye)
  • interrupted: Mesajın kesilip kesilmediği
  • toolInfo: Araç mesajları için ek bilgiler
metrics

Arama metrikleri ve analitik bilgiler:

  • totalMessages: Toplam mesaj sayısı
  • userMessages: Kullanıcı mesaj sayısı
  • assistantMessages: Asistan mesaj sayısı
  • toolCalls: Araç çağrısı sayısı
  • averageResponseTime: Ortalama yanıt süresi (saniye)
  • costBreakdown: Maliyet dağılımı (STT, LLM, TTS, LiveKit)
recordingUrl

Arama kaydının URL'si. Bu URL ile aramayı dinleyebilir veya indirebilirsiniz.

Not

Arama kayıtları varsayılan olarak 30 gün boyunca saklanır. Bu süre sonunda otomatik olarak silinir. Kayıtları daha uzun süre saklamak isterseniz, kendi depolama sisteminize indirmelisiniz.

Hata Yanıtları

404 Not Found
{
  "error": "Call not found",
  "message": "Belirtilen kimliğe sahip arama bulunamadı"
}