Usa el contrato revisado de consulta de pedidos
Las consultas de pedidos de Driver producen páginas y detalles acotados, no una instantánea operativa completa o atómica. El estado de pestañas, filtros, paginación, agrupación local, resúmenes, eventos socket y lecturas de asignación logística son capas distintas.
Una tarjeta, contador, vista vacía, grupo, resumen, posición de ordenación o detalle actualizado no demuestra vigencia ni completitud.
Disponibilidad
Las lecturas autenticadas de lista/detalle de pedidos de Driver están disponibles mediante Orders y rutas de detalle registradas. El servicio limita las consultas de Driver al Driver actual y aplica los filtros/paginación solicitados.
Las solicitudes de asignación logística usan un contrato de consulta de asignaciones independiente. No deben combinarse con la semántica normal de consulta de pedidos solo porque la App las muestre en el área Orders.
Requisitos previos
- Obtén la identidad Driver de la sesión autenticada.
- Usa entradas tipadas y permitidas de filtro/ordenación/página con tamaño de página acotado.
- Define las relaciones/campos solicitados con el mínimo necesario para el propósito.
- Distingue primera página, cargar más, actualizar, búsqueda entre estados, lectura de detalles, actualización socket/evento y agrupación local.
- Si importa la vigencia entre páginas, conserva un contrato de revisión/cursor único.
Límites de responsabilidad
| Responsable | Responsabilidad |
|---|---|
| API de pedidos | Ámbito Driver, filtros, orden, paginación, proyección de relaciones y autorización de detalles |
| Controlador de lista del cliente | Estado de pestaña/página/filtro/carga/error y deduplicación |
| Formateador del cliente | Transformaciones normales/agrupadas y orden de presentación |
| Dependencias de filtros | Lecturas independientes de controles de países/ciudades/configuración |
| Capa de sockets/eventos | Indicaciones incrementales que requieren autorización y conciliación de revisión |
| API logística | Lista/detalle de solicitudes de asignación, no pedidos normales |
| Interfaz de resumen | Solo presentación derivada; no es autoridad sobre ingresos, pagos, contabilidad ni consultas |
Entradas y resultados
Las dimensiones de consulta admitidas pueden incluir grupo de estados del pedido, búsqueda por identificador de pedido/externo, ciudad/negocio, tipo de entrega, intervalo de fechas, categoría de tiempo, página, tamaño de página y ordenación. Su disponibilidad varía según la interfaz/configuración.
Los resultados deben distinguir carga, página con contenido, página vacía, error, página adicional, página actualizada, presentación agrupada, detalle y estado local actualizado por evento. Una página vacía no significa «no hay pedidos» y concatenar páginas/eventos no forma una sola instantánea sin contrato de revisión.
La búsqueda entre estados borra el filtro de estado de la pestaña actual y puede usar una paginación/presentación de resumen distinta. Al abrir su selector de ciudad se puede iniciar automáticamente una lectura dependiente de países/ciudades antes de Buscar.
La agrupación es una transformación local de los pedidos/claves devueltos. No es una regla de agrupación del servidor seleccionable por el usuario ni un límite de autorización. Las claves ausentes/mal formadas y los estados mixtos de integrantes requieren gestión explícita.
Seguridad y privacidad
- Aplica el ámbito propio de Driver a cada actualización de lista/detalle/evento.
- Permite solo filtros/ordenaciones/relaciones autorizados, limita el tamaño de página y rechaza valores mal formados.
- Devuelve solo los campos de pedido, negocio, cliente, ubicación, pago, mensaje y asignación mínimos para el propósito.
- No expongas ID sin procesar, datos de contacto, direcciones, coordenadas, tokens, cargas de consulta, nombres de salas ni errores privados en evidencia pública.
- Vuelve a autorizar las lecturas de detalles activadas por socket/evento; nunca confíes en la carga del evento como estado actual del pedido.
Límites y estados de fallo
| Estado | Interpretación requerida |
|---|---|
| Esqueleto de carga | Lectura aún sin resolver |
| Tarjeta/página | Solo página local/devuelta actual |
| Vacío | Ninguna fila en este resultado/página/filtro |
| Cargar más | Otra página informada, no instantánea completa |
| Resumen filtrado | Presentación derivada entre estados |
| Tarjeta de grupo | Transformación local; resultados por integrante separados |
| Movimiento/inserción/eliminación por socket | Actualización local incremental, no prueba durable/actual |
| Detalle | Lectura autorizada más dependencias relacionadas del montaje |
| Tarjeta logística | Contrato de consulta de asignación independiente |
No se establece cantidad completa, orden estable entre eventos, aislamiento de instantánea, actualización socket exactamente una vez, agrupación exhaustiva, significado de pagos ni vigencia desplegada.
Diagnóstico
Los resultados parecen obsoletos o incompletos
Separa el estado de pestaña/filtro/página/socket. Actualiza una vez y compara la revisión devuelta; no repitas lecturas para comprobar vigencia.
Aparece una página vacía
Comprueba el contexto de filtro/página/estado y los errores. No deduzcas que no existe ningún pedido ni amplíes el ámbito sin autorización.
Aparecen tarjetas duplicadas o movidas
La deduplicación de paginación y los eventos socket pueden intercalarse. Concilia por revisión de pedido, no por posición visual.
Un grupo contiene estados mixtos
Trata cada integrante por separado. La agrupación local no garantiza un estado, propiedad, elegibilidad o resultado atómicos comunes.
La logística y los pedidos normales difieren
Usa el contrato de solicitudes logísticas para lecturas/decisiones de asignación. No fuerces filtros ni reglas de agrupación normales sobre las solicitudes de asignación.
Guías relacionadas: Buscar solicitudes de entrega · Filtrar y priorizar solicitudes · Usar el contrato de solicitudes logísticas