Referencia para desarrolladores de Driver App
Crea y mantén flujos de entrega separando las responsabilidades de la app, Ordering.co Components, Ordering.co API, el sistema operativo y los proveedores. Empieza por la experiencia del producto y luego elige el contrato de integración o ingeniería más específico para el trabajo.
Flujos del producto
- Guía del producto Driver App: comprende desde la perspectiva del repartidor el inicio, la disponibilidad, las solicitudes y entregas activas, los mapas, la comunicación, la cuenta y el historial.
La documentación del producto describe resultados observables y limitaciones actuales. No convierte rutas internas, estado del cliente ni detalles de implementación del servidor en contratos públicos.
Integraciones
- Permisos e integraciones: distingue estados solicitados, declarados, efectivos, de plataforma, de ciclo de vida y del proveedor.
- Notificaciones: separa permisos, configuración del proveedor, registro de tokens, entrega y enrutamiento al abrir una notificación push.
- Tiempo real: gestiona conexión, salas, eventos, orden, reconexión y limpieza sin tratar el transporte como autoridad.
- Ubicación: protege los límites de recopilación, uso en primer plano y segundo plano, validación, publicación y limpieza.
- Mapas: separa los datos del pedido, la posición del dispositivo, la representación del mapa, la escritura de posición y la navegación externa.
- Comunicación: separa lecturas, escrituras, confirmaciones, sockets, archivos multimedia y contacto externo.
- Contenido multimedia: distingue selección o captura de autorización, carga, almacenamiento y prueba.
- Ejecución en segundo plano: gestiona AppState, ubicación en segundo plano, permisos, sesión y limpieza de listeners.
Estas integraciones pueden producir efectos en el servidor, proveedores, dispositivos o el mundo físico. Usa un entorno aislado aprobado, datos sintéticos con el mínimo propósito, un límite de un solo intento y un plan de limpieza observable.
Ingeniería
Fundamentos
- Guía de ingeniería de Driver App: prepara el repositorio, comprende sus capas, ejecuta las apps nativas, verifica cambios y prepara la entrega para revisión de versión.
- Arquitectura: usa la estructura de la aplicación revisada y los límites de responsabilidad de navegación.
- Configuración: explicita entradas públicas, responsabilidades, transporte y límites de secretos.
- Inicialización autenticada: conserva el límite entre el estado de sesión restaurado y la navegación autenticada.
- Autenticación: separa las ramas de inicio de sesión configuradas, comprobaciones de rol Driver y estado de sesión local.
- Idioma: conserva los límites de persistencia, diccionario, alternativa, carga y compatibilidad parcial con RTL.
- Gestión de sesiones: mantiene los límites de listado, activación y eliminación de sesiones, protección de cierre de sesión y limpieza local.
- Perfil: mantiene los límites de perfil, foto, disponibilidad, horario, sesión, cierre de sesión y eliminación.
- Control de horario: interpreta el control de horario local y su comportamiento ante valores faltantes y al regresar.
Pedidos, logística y presentación financiera
- Consultas de pedidos: define lecturas de listas y detalles, filtros, pestañas, paginación, agrupación, eventos y vigencia.
- Estado del pedido: separa categorías de presentación del cliente, estado del servidor, disponibilidad, agrupación y solicitudes de logística.
- Detalles del pedido: conserva los límites de lectura, presentación, datos sensibles, efectos de montaje, agrupación y acciones.
- Cambios de pedidos: define autorización, bloqueos, motivos, archivos multimedia, ubicación, parcialidad de grupos, acciones posteriores e idempotencia.
- Solicitudes de logística: separa descubrimiento, elegibilidad, decisiones, efectos agrupados y acciones posteriores por pedido.
- Prueba de entrega: audita integridad del estado de entrega, PIN, imagen, ubicación, analizador y resultado.
- Acciones sin conexión: aplica los requisitos actuales de exclusión y cierre seguro ante fallos para reproducir acciones sin conexión.
- Presentación de pagos: interpreta etiquetas y resúmenes de pagos sin afirmar que se completó una operación financiera.
- Historial y soporte: mantiene separadas las lecturas del historial, su presentación, la ayuda específica del pedido y los límites de pagos.
- Opiniones de clientes: separa visibilidad, entrada, comprobaciones de relación, duplicados, persistencia y acciones locales posteriores.
Las capacidades disponibles dependen de la compilación de la app, la revisión de API, la configuración del proveedor y los permisos de segundo plano habilitados en el entorno de destino.