Ir al contenido

Driver App

La Driver App es una aplicación web optimizada para móvil que permite a los conductores:

  • Ver su ruta del día con todos los envíos
  • Marcar envíos como entregados o con incidencia
  • Registrar la firma del destinatario
  • Tomar foto del lugar de entrega
  • Consultar el histórico de envíos entregados

URL de acceso: /logistics/driver


Los conductores inician sesión con credenciales del ERP (usuario + password). Se les asigna automáticamente su ruta del día.

POST /api/auth/login
Content-Type: application/json
{
"email": "conductor@empresa.com",
"password": "password123",
"device_id": "device-unique-id"
}

Respuesta con rol de conductor:

{
"token": "...",
"user": {
"id": "emp_010",
"name": "Carlos Conductor",
"role": "driver",
"vehicle_id": "veh_001"
}
}

GET /api/logistics/driver/route-today
Authorization: Bearer <token>
{
"route": {
"id": "route_001",
"name": "Ruta Barcelona Norte",
"date": "2026-05-08",
"start_time": "08:00",
"vehicle": { "license_plate": "1234ABC", "type": "furgon" },
"waypoints": [
{
"order": 1,
"shipment_number": "ENV-2026-0001",
"recipient": "Acme S.L.",
"address": "Avenida Industrial 45, Barcelona",
"phone": "+34698765432",
"packages_count": 2,
"status": "pending"
},
{
"order": 2,
"shipment_number": "ENV-2026-0002",
"recipient": "Beta S.A.",
"address": "Calle Mayor 12, Barcelona",
"phone": "+34611223344",
"packages_count": 1,
"status": "pending"
}
]
},
"stats": {
"total": 2,
"delivered": 0,
"remaining": 2
}
}

POST /api/logistics/driver/deliver
Authorization: Bearer <token>
Content-Type: application/json
{
"shipment_id": "ship_001",
"recipient_name": "Maria Reception",
"recipient_dni": "12345678B",
"signature_data": "data:image/png;base64,...",
"photo_url": "/storage/delivery/photo_001.jpg",
"gps_lat": 41.3851,
"gps_lng": 2.1734,
"notes": "Entregado en recepcion, firmante es Maria"
}
POST /api/logistics/driver/failed-delivery
Authorization: Bearer <token>
Content-Type: application/json
{
"shipment_id": "ship_001",
"failure_reason": "destinatario_ausente",
"failure_notes": "Llamado 3 veces, nadie responde",
"new_delivery_date": "2026-05-09",
"photo_url": "/storage/delivery/fail_001.jpg",
"gps_lat": 41.3851,
"gps_lng": 2.1734
}

Razones de fallo disponibles:

Código Descripción
destinatario_ausente Nadie en la dirección
direccion_incorrecta No se encontro la dirección
rechazo El destinatario rechaza la entrega
envio_danado El paquete lleg deteriorado
otro Otra causa (especificar en notes)

GET /api/logistics/driver/deliveries-today
GET /api/logistics/driver/deliveries?from=2026-05-05&to=2026-05-11

La driver app funciona parcialmente offline:

  • Descarga la ruta completa en cuanto tiene conexion
  • Almacena las entregas pendientes locally
  • Sincroniza automáticamente cuando recupera conexion
  • Indicador visual de “offline” en la interfaz

Método Ruta Descripción
GET /api/logistics/driver/route-today Ruta asignada hoy
GET /api/logistics/driver/deliveries-today Entregas del día
GET /api/logistics/driver/deliveries Historial de entregas
POST /api/logistics/driver/deliver Registrar entrega exitosa
POST /api/logistics/driver/failed-delivery Registrar entrega fallida
POST /api/logistics/driver/update-position Actualizar posición GPS