REST API

API de Flota

Integra las operaciones de tu flota — gestiona reservas, asigna conductores y sincroniza actualizaciones de estado programáticamente.

URL base https://7transfers.com/api/driver
Autenticación Bearer token

Comenzando

Incluye estos encabezados en cada solicitud después de iniciar sesión:

Headers
Accept: application/json
Content-Type: application/json
Authorization: Bearer {token}
POST /api/driver/login

Iniciar sesión — obtener token

Autenticar con credenciales de la flota para recibir un token Bearer para solicitudes posteriores.

Request

JSON body
{
  "email": "fleet@example.com",
  "password": "your-password"
}

Response 200

JSON
{
  "success": true,
  "token": "1|xxxxxxxxxxxxxxxxxxxx",
  "user": {
    "id": 123,
    "name": "Malaga Fleet",
    "email": "fleet@example.com",
    "is_driver": false,
    "is_fleet": true
  }
}
GET /api/driver/bookings

Listar reservas asignadas a la flota

Query parameters optional

statusall or assigned, accepted, onroute, arrived, onboard, completed, canceled, noshow, rejected, market
from_dateYYYY-MM-DD
to_dateYYYY-MM-DD
per_page1–100 (default 20)

Example

GET
https://7transfers.com/api/driver/bookings?status=assigned&from_date=2026-04-11&per_page=50

Response 200

JSON
{
  "success": true,
  "data": [
    {
      "id": 9876,
      "ref_number": "T2S-12345",
      "status": "assigned",
      "status_label": "Assigned",
      "date": "2026-04-15 10:30:00",
      "from_address": "Malaga Airport (AGP)",
      "to_address": "Hotel Marbella Club",
      "passengers": 3,
      "vehicle_list": "Business Van",
      "luggage": 4,
      "hand_luggage": 3,
      "assigned_driver": null,
      "commission": 0,
      "flight_number": "FR1234",
      "meet_and_greet": true,
      "coordinate_start_lat": 36.6749,
      "coordinate_start_lon": -4.4991,
      "coordinate_end_lat": 36.5098,
      "coordinate_end_lon": -4.8826
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 3,
    "per_page": 20,
    "total": 47
  }
}
GET /api/driver/bookings/{id}

Detalles de la reserva

Devuelve la reserva completa: pasajero, contacto, direcciones, coordenadas, historial de estado, botones de acción, extras (asientos para niños, silla de ruedas, tiempo de espera, etc.) y archivos adjuntos.

PATCH /api/driver/bookings/{id}/status

Actualizar estado de la reserva

Request

JSON body
{
  "status": "accepted",
  "status_notes": "Optional note"
}
Valid status values: accepted, rejected, onroute, arrived, onboard, noshow, completed, canceled
  • status_notes is required when status is rejected.
  • Statuses onroute, arrived, onboard, noshow, completed require a recent driver GPS location (within 5 minutes). For office-side integration, use accepted, rejected, or canceled.

Response 200

JSON
{
  "success": true,
  "data": { "id": 9876, "status": "accepted" }
}
GET /api/driver/fleet/drivers

Listar conductores propios de la flota

Response

JSON
{
  "success": true,
  "data": [
    { "id": 55, "name": "Juan Perez", "email": "juan@example.com" }
  ]
}
PATCH /api/driver/fleet/bookings/{id}/assign-driver

Asignar un conductor a una reserva

Request

JSON body
{
  "driver_id": 55,
  "commission": 10.00,
  "fleet_commission": 5.00
}

Response

JSON
{
  "success": true,
  "message": "Driver assigned.",
  "data": {
    "id": 9876,
    "driver_id": 55,
    "driver_name": "Juan Perez",
    "commission": 10.00,
    "fleet_commission": 5.00
  }
}
POST /api/driver/logout

Cerrar sesión

Revoca el token Bearer actual.

Formato de error

Todos los errores devuelven JSON con un mensaje legible para humanos.

JSON
{ "success": false, "message": "Human-readable message" }
401 Invalid credentials or token
403 Not a fleet user / booking not owned by fleet
404 Booking not found
422 Validation error or invalid state transition