Para transferencias mundiales Haz clic aquí
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://www.transfersvalencia.com/api/driver
Autenticación Bearer token

Comenzando

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

Cabeceras
Accept: application/json
Content-Type: application/json
Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716

Authentication — Bearer token

Your 7Transfers contact issues a long-lived Bearer token for your fleet. Store it securely on your server and send it on every request as Authorization: Bearer {token}. There is no login step and no password for API access. If a token is lost or rotated, ask us for a new one.

Fleet API integrations must not call /api/driver/login and must not send email or password. Use only the Bearer token.

Example request

curl
curl -H 'Accept: application/json' \
     -H 'Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716' \
     'https://www.transfersvalencia.com/api/driver/bookings?status=assigned'

Sandbox — try the API

Use this public sandbox Bearer token to explore the Fleet API. It always has 20 demo bookings in status assigned (ref numbers FAPISB-01 and up). Accepting or cancelling them is fine — they are reset automatically every hour.

Sandbox data belongs to the Fleet API Sandbox fleet only. Production partners receive their own private Bearer token; bookings for a partner are always assigned to that partner fleet.

Sandbox Bearer token

Bearer
3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716

Example request

curl
curl -H 'Accept: application/json' \
     -H 'Authorization: Bearer 3757|Zj1EVDhKnrLAx0V1rsSmlzU2loolWKpS35A2qtRtc9e3d716' \
     'https://www.transfersvalencia.com/api/driver/bookings?status=assigned'
POST /api/driver/login

Iniciar sesión — obtener token

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

Fleet API integrations must not call /api/driver/login and must not send email or password. Use only the Bearer token.
GET /api/driver/bookings

Listar reservas asignadas a la flota

Parámetros de consulta opcional

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

Ejemplo

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

Respuesta 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
  }
}
Las cancelaciones no se envían a tu sistema. Incluye status=canceled (o usa status=all) en tu sondeo para detectar reservas canceladas por la oficina y elimínalas en tu lado.
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.

Los teléfonos del pasajero (contact_mobile, lead_passenger_mobile) solo se devuelven en este endpoint — nunca en el listado de reservas — y únicamente mientras la reserva está en un estado activo (accepted, onroute, arrived, onboard). Mientras la reserva sigue en assigned, o después de completada o cancelada, los campos de teléfono se devuelven como null. Acepta la reserva primero y luego consulta el detalle para obtener el teléfono.
PATCH /api/driver/bookings/{id}/status

Actualizar estado de la reserva

Solicitud

Cuerpo JSON
{
  "status": "accepted",
  "status_notes": "Nota opcional"
}
Valores de estado válidos: accepted, rejected, onroute, arrived, onboard, noshow, completed, canceled
  • status_notes es obligatorio cuando el estado es rejected.
  • Los estados onroute, arrived, onboard, noshow y completed requieren una ubicación GPS reciente del conductor (en los últimos 5 minutos). Para integraciones desde oficina, usa accepted, rejected o canceled.
Una vez que la oficina ha cancelado una reserva, ya no puede reactivarse: cualquier intento de cambiar su estado (p. ej. a accepted) devuelve un error 422. Vuelve a comprobar el estado actual antes de aceptar reservas encoladas de un sondeo anterior.

Respuesta 200

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

Listar conductores propios de la flota

Respuesta

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

Solicitud

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

Respuesta

JSON
{
  "success": true,
  "message": "Conductor asignado.",
  "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": "Mensaje legible" }
401 Credenciales o token no válidos
403 No es usuario de flota / la reserva no pertenece a la flota
404 Reserva no encontrada
422 Error de validación o transición de estado no válida