Ana içeriğe geç

API v1 Giriş

Hotspot Yönetim Sistemi API v1, hotspot kullanıcı yönetimi için RESTful bir API sağlar. Tüm endpoint'ler API token ile korumalıdır.

Temel Bilgiler

Base URL

API v1 endpoint'leri şu base URL altında bulunur:

http://localhost:3000/api/v1

Production ortamında base URL değişebilir. Lütfen sistem yöneticinizden doğru URL'yi öğrenin.

API Versiyonu

Mevcut API versiyonu: v1

Kimlik Doğrulama

Tüm API istekleri Authorization header'ında Bearer token kullanmalıdır:

Authorization: Bearer <your-api-token>

Token Alma

API token'ları admin panelinden oluşturulabilir. Token oluştururken aşağıdaki izinleri belirleyebilirsiniz:

  • read: Okuma izni
  • write: Yazma izni
  • delete: Silme izni

Detaylı bilgi için Kimlik Doğrulama sayfasına bakın.

İstek Formatı

Content-Type

Tüm POST ve PUT istekleri application/json content-type kullanmalıdır:

Content-Type: application/json

Örnek İstek

curl -X GET "http://localhost:3000/api/v1" \
-H "Authorization: Bearer your-api-token-here"

Yanıt Formatı

Başarılı Yanıt

Başarılı istekler genellikle şu formatta yanıt döner:

{
"success": true,
"data": { ... },
"message": "İşlem başarılı"
}

Hata Yanıtı

Hata durumlarında şu formatta yanıt döner:

{
"success": false,
"message": "Hata mesajı",
"errors": [
{
"field": "username",
"message": "Kullanıcı adı gereklidir"
}
]
}

HTTP Durum Kodları

  • 200 OK: İstek başarılı
  • 201 Created: Kaynak başarıyla oluşturuldu
  • 400 Bad Request: Hatalı istek veya validasyon hatası
  • 401 Unauthorized: Yetkilendirme hatası (token eksik veya geçersiz)
  • 403 Forbidden: İzin hatası (token yeterli izne sahip değil)
  • 404 Not Found: Kaynak bulunamadı
  • 500 Internal Server Error: Sunucu hatası

Sayfalama

Listeleme endpoint'leri sayfalama desteği sağlar:

Query Parametreleri

  • page: Sayfa numarası (varsayılan: 1)
  • limit: Sayfa başına kayıt sayısı (varsayılan: 20, maksimum: 100)

Yanıt Formatı

{
"success": true,
"data": [ ... ],
"pagination": {
"page": 1,
"limit": 20,
"total": 100,
"pages": 5
}
}

Filtreleme

Birçok endpoint filtreleme parametreleri destekler. Örneğin:

GET /api/v1/hotspot-users?status=active&venueId=507f1f77bcf86cd799439011

Rate Limiting

API kullanımında rate limiting uygulanabilir. Detaylar için sistem yöneticinize danışın.

API Durum Kontrolü

API'nin aktif olup olmadığını kontrol etmek için:

GET /api/v1

Yanıt:

{
"success": true,
"message": "Server API aktif"
}

Sonraki Adımlar