---
title: "Contrato de sesión de Driver App | Documentación de Ordering.co"
description: "Mantén los límites para lista de sesiones, activación, eliminación, control de cierre de sesión y limpieza local."
canonical: https://docs.ordering.co/es/docs/developers/driver-app/session-contract/
---

# Usa el contrato de sesión revisado

La gestión de sesiones de Driver App tiene dos flujos relacionados, pero distintos:

- **Sessions** muestra y elimina sesiones actuales u otras sesiones de la cuenta cuando esta usa la estrategia multisesión.
- **logout** comprueba los pedidos activos, solicita el cierre de sesión del servidor y coordina la limpieza local de sesión, pedidos y almacenamiento.

Ningún flujo es atómico. Una lista visible, éxito de API principal, cambio de autenticación local o pantalla de cierre de sesión no demuestra que se haya completado la limpieza de token, push, disponibilidad, registros, trabajos, socket, proveedor o almacenamiento.

## Disponibilidad

La ruta Sessions está registrada en la navegación autenticada y se abre desde Profile. Las cuentas que usan la estrategia multisesión pueden cargar filas de sesión con fecha e indicadores de sesión actual. Con otros estados de estrategia aparece un control de activación en vez de una lista.

## Requisitos previos

- Ámbito propio autenticado y estado actual de estrategia de sesión.
- Distinción explícita entre todas las sesiones, la actual y las demás.
- Confirmación destructiva para la eliminación individual y masiva.
- Plan completo de limpieza local/servidor/proveedor si se elimina la sesión actual.
- Control de pedidos activos y recuperación a cargo de la persona responsable del pedido antes de cerrar sesión.
- Usa solo ID/fechas/tokens de sesión sintéticos en pruebas y documentación.

## Límites de responsabilidad

| Límite                       | Responsabilidad                                                                                                    | Límite                                                                 |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| Interfaz Sessions            | Mostrar carga/lista/vacío/activación, indicador de sesión actual y confirmaciones.                                 | El orden de presentación no es el orden/vigencia del servidor.         |
| Controlador Sessions         | Listar sesiones, ordenarlas opcionalmente, eliminar una/todas/las demás y actualizar la lista local.               | La respuesta principal y los efectos de sesión local pueden divergir.  |
| Eliminación de sesión actual | Eliminar la fila en el servidor y luego solicitar el cierre de sesión local.                                       | El manejador revisado no espera el cierre local.                       |
| Eliminación de otra sesión   | Quitar la fila devuelta de la lista local tras el éxito principal.                                                 | No se demuestra limpieza remota del dispositivo/token/proveedor.       |
| Eliminación masiva           | Eliminar la actual y todas, o conservar la actual según entrada explícita.                                         | La confirmación se cierra antes de que termine el manejador asíncrono. |
| Ruta de activación           | Reutilizar el contrato masivo conservando la actual y luego cambiar localmente los metadatos de estrategia.        | El botón o metadatos locales no demuestran activación.                 |
| Cierre de sesión             | Lectura del cliente de pedidos activos, cierre de sesión de API y limpieza local de sesión/pedidos/almacenamiento. | Fallos del control y limpieza pueden resolverse parcialmente.          |
| API                          | Aplicar acceso propio/admin a sesiones y controles del servidor para cierre de sesión/pedidos.                     | No se ha confirmado la relación con el artefacto en ejecución.         |

## Entradas y resultados

| Entrada/acción                   | Resultado del cliente                                                          | Límite de fallo/parcial                                                                                           |
| -------------------------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| Estrategia multisesión           | Solicitud autenticada de lista y orden por fecha opcional.                     | La App no especifica un orden; la interfaz invierte el arreglo durante el render y muta el orden de presentación. |
| Estrategia heredada/sin lista    | Lista local vacía y mensaje/control de activación.                             | La solicitud/resultado de activación y el cambio local de estrategia son independientes.                          |
| Eliminar otra sesión             | Confirmación, eliminación de API y retirada local de la fila.                  | No se demuestra limpieza de sesión/proveedor remoto.                                                              |
| Eliminar sesión actual           | Eliminar en API, quitar fila y solicitar cierre de sesión local.               | No se espera el cierre; puede haber carreras de navegación/almacenamiento.                                        |
| Eliminar todas las sesiones      | Eliminación masiva por API, lista vacía y solicitud de cierre de sesión local. | La limpieza por sesión/proveedor y estado local son independientes.                                               |
| Eliminar todas excepto la actual | Eliminación masiva por API y conservar localmente las filas actuales.          | No se demuestra limpieza de sesiones remotas; la activación puede reutilizar metadatos del token actual.          |
| logout                           | Control de pedidos activos seguido por limpieza local/en servidor.             | Una excepción del control puede permitir continuar; no se espera el borrado general del almacenamiento.           |

## Seguridad y privacidad

- Nunca expongas ID de sesión, tokens, ID de socket, datos del dispositivo ni marcas de tiempo exactas en artefactos públicos.
- Exige autorización propio/admin para cada operación de lista/eliminación.
- Trata la eliminación de sesión actual y el cierre de sesión como flujos destructivos sensibles a la seguridad, con recibos completos y reversión/recuperación.
- Vincula las respuestas tardías de lista/eliminación/cierre a la generación actual de cuenta/sesión.
- No deduzcas que se cerró una sesión remota porque desapareció una fila local.

## Límites y estados de fallo

| Estado                      | Significado                                                     | Respuesta de mantenimiento                                                    |
| --------------------------- | --------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Cargando/error              | La lista/acción de sesiones no se ha resuelto.                  | No repetir ni ejecutar una acción destructiva.                                |
| Lista vacía                 | La respuesta actual no contiene sesiones que se puedan mostrar. | No demuestra que no exista una sesión/token remoto.                           |
| Indicador actual            | La fila de API está marcada como actual.                        | Verifica generación de servidor/sesión antes de eliminar.                     |
| Fila retirada localmente    | La eliminación principal informó éxito.                         | No se demuestra limpieza remota de proveedor/token.                           |
| Interfaz sin sesión         | Cambió la autenticación local.                                  | No se demuestra limpieza de servidor/almacenamiento/push/socket.              |
| Cambia el orden             | La interfaz invirtió/modificó la lista durante el render.       | No uses el orden como evidencia de seguridad/vigencia.                        |
| Estado que parece activado  | La estrategia local cambió tras la respuesta principal.         | No se demuestran la función del servidor ni la semántica de la sesión actual. |
| Error del control de cierre | Falló la comprobación de pedidos activos.                       | Puede continuar ambiguamente; detente y concilia.                             |

## Diagnóstico

Usa sesiones sintéticas y adaptadores interceptados de API/sesión/pedido/almacenamiento/socket/proveedor. Nunca elimines una sesión real ni cierres sesión para probar. Diagnostica por separado resultado de lista, orden/presentación, eliminación principal, cambio de sesión local, limpieza de almacenamiento y limpieza de proveedor/token.

Vuelve a revisar cuando cambien la estrategia de sesión, orden de lista, indicador de sesión actual, eliminación individual/masiva, activación, control de pedidos activos, cierre de sesión, almacenamiento local o limpieza del proveedor.

**Guías relacionadas:** [Gestionar sesiones](https://docs.ordering.co/es/docs/products/driver-app/account/sessions/) · [Cerrar sesión](https://docs.ordering.co/es/docs/products/driver-app/account/sign-out/) · [Eliminar cuenta](https://docs.ordering.co/es/docs/products/driver-app/account/delete-account/) · [Inicio autenticado](https://docs.ordering.co/es/docs/developers/driver-app/authenticated-bootstrap/) · [Contrato de notificaciones](https://docs.ordering.co/es/docs/developers/driver-app/notifications-contract/) · [Acciones sin conexión](https://docs.ordering.co/es/docs/developers/driver-app/offline-actions/)
