REST API Referansı
Yanıtly REST API ile konuşmaları, mesajları, bilgi bankasını ve analitiği programatik olarak yönetin.
Genel Bakış
https://api.yanitly.com/v1Authentication
API isteklerinde JWT Bearer token kullanılır. Token'ı Authorization header'ında gönderin:
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...Kimlik Doğrulama
/v1/auth/loginE-posta ve şifre ile giriş yapın. JWT access ve refresh token döner. Hesapta 2FA aktifse, önce requiresTwoFactor: true döner — ardından totpCode ile tekrar istek gönderin.
{
"email": "user\u0040example.com",
"password": "your_password",
"totpCode": "123456" // 2FA aktifse gerekli (opsiyonel)
}// ── Normal Giriş (2FA kapalı) ──
{
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "uuid",
"email": "user\u0040example.com",
"role": "tenant_admin"
}
}
// ── 2FA Aktif — İlk Adım (totpCode gönderilmediğinde) ──
{
"requiresTwoFactor": true,
"email": "user\u0040example.com"
}
// → Kullanıcıdan 6 haneli TOTP kodunu alıp
// aynı endpoint'e email + password + totpCode
// ile tekrar istek gönderin./v1/auth/refreshRefresh token ile yeni access token alın.
{ "refreshToken": "eyJhbGciOiJIUzI1NiIs..." }/v1/auth/registerYeni kullanıcı ve tenant kaydı oluşturun.
{
"email": "user\u0040example.com",
"password": "strong_password",
"name": "Ahmet Yılmaz",
"companyName": "Acme Inc."
}Konuşmalar
/v1/conversationsTenant'a ait konuşma listesini döner. Sayfalama, filtreleme ve sıralama destekler.
{
"data": [
{
"id": "conv_abc123",
"channel": "whatsapp",
"status": "active",
"lastMessage": "Siparişim nerede?",
"createdAt": "2026-01-15T10:30:00Z"
}
],
"meta": { "total": 42, "page": 1, "limit": 20 }
}/v1/conversations/:idBelirli bir konuşmanın detaylarını ve mesaj geçmişini döner.
/v1/conversations/:idKonuşma durumunu güncelle (active, resolved, archived).
{ "status": "resolved" }/v1/conversations/:id/assignKonuşmayı bir operatöre ata.
{ "operatorId": "user_uuid" }Mesajlar
/v1/messagesBir konuşmaya mesaj gönder.
{
"conversationId": "conv_abc123",
"content": "Siparişiniz kargoya verildi!",
"type": "text"
}/v1/conversations/:id/messagesKonuşmadaki mesaj geçmişini getir.
Bilgi Bankası
/v1/knowledgeBilgi bankası içeriklerini listele.
/v1/knowledgeBilgi bankasına yeni içerik ekle.
{
"title": "İade Politikası",
"content": "Ürünler 14 gün içinde...",
"category": "Politikalar"
}/v1/knowledge/:idBilgi bankasından içerik sil.
Kanallar
/v1/channelsBağlı kanalları listele.
/v1/channelsYeni kanal bağlantısı oluştur ve kanal yapılandırmasını kaydet.
Analitik
/v1/analytics/overviewGenel analitik verilerini getir (konuşma sayısı, ortalama yanıt süresi, memnuniyet puanı).
{
"totalConversations": 1250,
"avgResponseTime": 12.5,
"satisfactionScore": 4.6,
"aiResolutionRate": 78.3,
"period": "last_30_days"
}/v1/analytics/conversationsKonuşma analitiklerini getir (tarih bazlı dağılım).
Webhooks
/v1/webhooksKayıtlı webhook'ları listele.
/v1/webhooksYeni webhook kaydı oluştur.
{
"url": "https://yourapp.com/webhooks/yanitly",
"events": ["conversation.created", "message.received"],
"secret": "your_webhook_secret"
}