API

API Referansı

REST API ile OnsraChat verilerinize programatik erişim sağlayın.

Kimlik Doğrulama

Tüm API istekleri Bearer token ile kimlik doğrulama gerektirir. API anahtarınızı Dashboard → Ayarlar → API sayfasından alabilirsiniz.

bash
curl https://api.onsrachat.com/v1/conversations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Base URL

https://api.onsrachat.com/v1

Konuşmalar

GET/conversationsTüm konuşmaları listele
GET/conversations/:idTek konuşma getir
POST/conversationsYeni konuşma oluştur
PATCH/conversations/:idKonuşma güncelle
DELETE/conversations/:idKonuşma sil
bash
# Konuşmaları listele
curl https://api.onsrachat.com/v1/conversations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -G \
  --data-urlencode "status=OPEN" \
  --data-urlencode "limit=20" \
  --data-urlencode "page=1"
json
{
  "success": true,
  "data": {
    "items": [
      {
        "id": "conv_abc123",
        "status": "OPEN",
        "contact": {
          "id": "contact_xyz",
          "name": "Ahmet Yılmaz",
          "email": "ahmet@example.com"
        },
        "lastMessage": {
          "content": "Sipariş hakkında bilgi almak istiyorum",
          "createdAt": "2024-01-15T10:30:00Z"
        },
        "unreadCount": 2,
        "createdAt": "2024-01-15T10:00:00Z"
      }
    ],
    "total": 142,
    "page": 1,
    "limit": 20
  }
}

Mesajlar

GET/conversations/:id/messagesMesajları listele
POST/conversations/:id/messagesMesaj gönder
bash
# Mesaj gönder
curl -X POST https://api.onsrachat.com/v1/conversations/conv_abc123/messages \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Merhaba! Size nasıl yardımcı olabilirim?",
    "type": "TEXT"
  }'

Kişiler

GET/contactsKişileri listele
GET/contacts/:idKişi detayı
POST/contactsKişi oluştur
PATCH/contacts/:idKişi güncelle

Hata Kodları

400Bad Request — Geçersiz istek parametreleri
401Unauthorized — Geçersiz veya eksik API anahtarı
403Forbidden — Yetkiniz yok
404Not Found — Kaynak bulunamadı
429Too Many Requests — Rate limit aşıldı
500Internal Server Error — Sunucu hatası