Saltar al contenido principal

Contrato de solicitudes logísticas de Driver

Las solicitudes logísticas de Driver son contratos de asignación, no actualizaciones normales de estado de pedidos. La visibilidad de la lista, presentación del detalle, elegibilidad para decidir, resolución de asignación, efectos sobre integrantes agrupados y acciones posteriores de ETA deben mantenerse separados.

Una tarjeta, aviso, navegación Atrás, elemento de lista movido o pedido integrante cambiado no confirma una aceptación o rechazo. Confirma la decisión con el resultado devuelto por el servidor.

Disponibilidad​

La entrada de logística se presenta de forma condicional según la configuración y composición de pestañas. El cliente trata un valor sin procesar de módulo no vacío como verdadero; por tanto, que la entrada sea visible no demuestra que esté habilitada intencionalmente.

La lista/el detalle también requieren contexto Driver autenticado, conectividad, datos actuales de la solicitud y estado de presentación no vencido. La API controla por separado las decisiones de rol, ámbito propio, propiedad de la solicitud, pendiente/ventana de tiempo, bloqueo, carga ocupada, capacidad y concurrencia.

Requisitos previos​

  • Vincula la identidad Driver con la sesión autenticada; nunca aceptes como autorización una identidad Driver proporcionada por el cliente.
  • Trata como privados los ID de solicitud/grupo/integrante, datos de negocio/cliente/pedido, horarios, ubicación, mensajes y metadatos socket.
  • Distingue los contratos de asignación individual, asignación agrupada y estado normal de pedido.
  • Abrir el detalle puede cargar datos del pedido y activar conexiones en tiempo real; el acceso depende de una sesión Driver válida y de los permisos del pedido.

Límites de responsabilidad​

ResponsableResponsabilidad
Lista de Driver AppPresentar carga/tarjetas/vacío/filtrado de vencidas/error y actualización local
Detalle de Driver AppPresentar contexto de solicitud/pedido/grupo y controles de decisión
API de lectura de asignacionesAutenticar el ámbito propio de Driver y devolver datos elegibles de solicitud/detalle
API de decisión de asignaciónValidar propiedad/estado/tiempo/bloqueo/carga/capacidad/concurrencia y aplicar una decisión
Servicios de grupo/pedidoAplicar asignación de grupo/integrantes, cancelar solicitudes en conflicto y aplicar efectos relacionados al pedido
Acción posterior de ETAActualizar cada integrante aceptado de forma independiente cuando esté configurado
Socket/push/proveedoresTransportar actualizaciones únicamente; nunca definir autorización ni finalización duradera
Despachador/operadorConciliar estados parciales o ambiguos de asignación/integrantes

Entradas y resultados​

Lecturas de lista y detalle​

Las entradas incluyen contexto Driver autenticado, estado de paginación/filtro y ciclo de vida actual de la solicitud. Los resultados pueden ser carga, tarjetas de solicitudes presentables, tarjetas agrupadas, estado vacío, vencida/eliminada, detalle o error.

La distancia derivada de la ubicación guardada es una entrada de presentación/elegibilidad, no una garantía de posición reciente o confiable en vivo.

Decisiones​

La intención de aceptar/rechazar se aplica a una solicitud de asignación y al Driver actual. El servicio debe volver a validar propiedad, estado pendiente, vencimiento, bloqueos, carga de trabajo, capacidad de grupo y concurrencia en el momento de la decisión.

Espera el resultado de la decisión antes de considerar aceptada o rechazada una solicitud. El flujo actual de detalle puede volver atrás antes de que se resuelva una solicitud de rechazo, así que regresar a la lista no confirma el resultado.

Grupos y ETA​

Una decisión de asignación agrupada puede afectar al grupo, pedidos integrantes, solicitudes en conflicto, estado Driver, historial, integraciones, sockets, notificaciones y trabajos. La ETA predeterminada configurada es una escritura independiente para cada integrante después de aceptar. Esas escrituras no forman una transacción y los fallos individuales pueden pasar inadvertidos.

Seguridad y privacidad​

  • Obtén la identidad Driver de la sesión autenticada.
  • Autoriza la solicitud de asignación y cada grupo/integrante afectado antes de mutar.
  • Usa bloqueos/idempotencia para evitar que varios Drivers compitan o se dupliquen decisiones.
  • Devuelve un resultado limitado al propósito, sin datos privados de contacto/ubicación/mensajes que la interfaz de decisión no necesite.
  • Nunca registres ID de solicitud, grupo o integrante, coordenadas, datos de contacto, tokens, salas ni cargas de proveedores en tickets o ejemplos compartidos.

Límites y estados de fallo​

EstadoInterpretación requerida
Tarjeta/detalle visiblePresentación candidata, no recibo de elegibilidad
Error de bloqueo/vencimiento/ocupación/capacidadDecisión rechazada en una etapa de validación
Atrás tras decidirSolo navegación
El grupo cambia de listaPresentación local/resultado, no finalización para todos los integrantes
AvisoMensaje del cliente, no recibo duradero de asignación
ETA parcialPuede haberse resuelto la asignación y fallado una o varias escrituras de ETA
Actualización socketIndicación de transporte, no garantía de autorización/orden
Actividad de GPS/mensajes/proveedor en detalleEfectos del montaje, no resultado de asignación

La asignación del grupo y las actualizaciones de ETA son operaciones independientes. No supongas que una decisión es atómica para todos los integrantes, que se revierte por completo o que se puede repetir sin comprobar el resultado actual del servidor.

Diagnóstico​

Desaparece una solicitud​

Considera como posibles causas el vencimiento, bloqueo, propiedad, una decisión competidora, actualización socket o refresco. Vuelve a leer la lista actual autorizada; no repitas una decisión.

Ocurre Atrás justo después de Rechazar​

No interpretes Atrás como éxito del rechazo. Espera un recibo de resultado del servidor o pide al despachador que concilie la solicitud.

El grupo se actualizó parcialmente​

Concilia la asignación y cada integrante por separado. No corrijas ETA/estado de integrantes desde el cliente sin un contrato de recuperación aceptado.

La ETA varía entre integrantes​

Las escrituras de ETA son acciones posteriores independientes. Registra en privado el conjunto de integrantes afectados y usa la vía de conciliación del operador responsable.

La entrada de logística aparece inesperadamente​

Revisa la configuración tipada y la política combinada de pestañas. La conversión implícita a verdadero de un valor sin procesar no es un contrato de habilitación.

Guías relacionadas: Solicitudes de asignación logística · Aceptar una solicitud de entrega · Rechazar una solicitud de entrega