BestWest Transfer API v2.0 - Endpoint Rehberi
http://localhost:3000
application/json
{ "success": boolean, "data": any, "error": object }
Not: Tüm API endpoint'leri JWT token authentication gerektirir. Token'ı Authorization header'ında gönderin:
Authorization: Bearer YOUR_JWT_TOKEN
{
"email": "admin@bestwest.com",
"password": "admin123",
"role": "admin"
}
Response:
{
"success": true,
"data": {
"message": "Login successful",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "1",
"email": "admin@bestwest.com",
"role": "admin"
}
}
}
Authorization: Bearer YOUR_TOKEN{
"success": true,
"data": {
"message": "Token valid",
"user": {
"id": "1",
"email": "admin@bestwest.com",
"role": "admin",
"iat": 1753665373,
"exp": 1753751773
}
}
}
Authorization: Bearer YOUR_TOKEN{
"success": true,
"data": {
"message": "Token refreshed successfully",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "1",
"email": "admin@bestwest.com",
"role": "admin"
}
}
}
{
"email": "newuser@example.com",
"password": "password123",
"role": "user"
}
page - Sayfa numarası (default: 1)limit - Sayfa başına kayıt (default: 20)status - pending, approved, rejected, cancelledaccount_id - Firma ID'siis_airport_transfer - true/falsepriority - normal, high, urgent{
"request_date": "2024-01-15",
"request_time": "14:30",
"pickup_location": "Havalimanı Terminal 1",
"destination": "Merkez Otel",
"total_passenger_count": 2,
"special_requirements": "Wheelchair",
"notes": "Uçuş gecikmesi olabilir",
"is_airport_transfer": true,
"flight_code": "TK1234",
"requester_contact_id": "contact-uuid",
"account_id": "account-uuid",
"estimated_distance_km": 45,
"estimated_duration_minutes": 60,
"passengers": [
{
"passenger_name": "Ahmet",
"passenger_surname": "Yılmaz",
"passenger_phone": "+905551234567",
"passenger_email": "ahmet@example.com",
"special_needs": "Wheelchair"
}
]
}
Otomatik İşlem:
{
"approved_by": "admin-user-id",
"notes": "Onay notu (opsiyonel)"
}
Not: Transfer talepleri artık otomatik olarak ana transfer tablosuna kaydedilir
{
"rejected_reason": "Red sebebi",
"rejected_by": "admin-user-id"
}
status - beklemede, atandı, yolda, tamamlandı, iptaldriver_id - Sürücü ID'sicustomer_id - Müşteri ID'sitransfer_date - YYYY-MM-DD formatındapayment_status - bekliyor, ödendi, geciken{
"status": "yolda",
"notes": "Güncelleme notu (opsiyonel)"
}
{
"driver_id": "driver-uuid",
"vehicle_id": "vehicle-uuid",
"assignment_id": "assignment-uuid"
}
{
"success": true,
"data": {
// API'ye özel veri
},
"meta": {
"total": 100,
"page": 1,
"limit": 20,
"totalPages": 5
}
}
{
"success": false,
"error": {
"message": "Hata mesajı",
"details": ["Detaylı hata bilgileri"],
"stack": "Stack trace (sadece development)"
}
}