Driver App
Overview
La Driver App es una aplicacion web optimizada para movil que permite a los conductores:
- Ver su ruta del dia con todos los envios
- Marcar envios como entregados o con incidencia
- Registrar la firma del destinatario
- Tomar foto del lugar de entrega
- Consultar el historico de envios entregados
URL de acceso: /logistics/driver
Autenticacion del conductor
Los conductores inician sesion con credenciales del ERP (usuario + password). Se les asigna automaticamente su ruta del dia.
POST /api/auth/loginContent-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" }}Ruta del dia
Obtener ruta asignada
GET /api/logistics/driver/route-todayAuthorization: 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 }}Marcar entrega
Entrega exitosa
POST /api/logistics/driver/deliverAuthorization: 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"}Entrega fallida (incidencia)
POST /api/logistics/driver/failed-deliveryAuthorization: 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:
| Codigo | Descripcion |
|---|---|
destinatario_ausente | Nadie en la direccion |
direccion_incorrecta | No se encontro la direccion |
rechazo | El destinatario rechaza la entrega |
envio_danado | El paquete lleg deteriorado |
otro | Otra causa (especificar en notes) |
Historial de entregas
Ver entregas del dia
GET /api/logistics/driver/deliveries-todayVer entregas de la semana
GET /api/logistics/driver/deliveries?from=2026-05-05&to=2026-05-11Sincronizacion offline
La driver app funciona parcialmente offline:
- Descarga la ruta completa en cuanto tiene conexion
- Almacena las entregas pendientes locally
- Sincroniza automaticamente cuando recupera conexion
- Indicador visual de “offline” en la interfaz
Resumen de endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| GET | /api/logistics/driver/route-today | Ruta asignada hoy |
| GET | /api/logistics/driver/deliveries-today | Entregas del dia |
| 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 posicion GPS |