Crear Sesión de Empresa
Crea una sesión de empresa y genera un token de acceso específico para trabajar con una empresa y establecimiento seleccionados. Este es el segundo paso del flujo de autenticación, después de iniciar sesión con Google, WhatsApp o Email.
Entorno
Sección titulada «Entorno»URL base: https://api.guarani.app
Endpoint
Sección titulada «Endpoint»POST /auth/sesion/empresa¿Cuándo usar este endpoint?
Sección titulada «¿Cuándo usar este endpoint?»Después de autenticarte con cualquier método (Google, Email o WhatsApp), recibes:
- Un token de usuario (sesión temporal)
- Una lista de empresas asociadas a tu cuenta
- Los establecimientos de cada empresa
Este endpoint te permite seleccionar con qué empresa y establecimiento deseas trabajar, generando un token de empresa que usarás para todas las operaciones subsiguientes en la API.
Ejemplo de solicitud
Sección titulada «Ejemplo de solicitud»curl -X POST "https://api.guarani.app/auth/sesion/empresa" \ -H "Content-Type: application/json" \ -d '{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "empresa_id": "7b4f7004-cfd9-477d-9ae3-effd330f5923", "establecimiento_id": "06dabe45-cbb5-425e-b1c3-13a67d7114e0" }' | jqEncabezados de la solicitud
Sección titulada «Encabezados de la solicitud»| Encabezado | Valor | Requerido | Descripción |
|---|---|---|---|
Content-Type | application/json | Sí | Indica que los datos se envían en formato JSON. |
Descripción de campos
Sección titulada «Descripción de campos»| Parámetro | Tipo | Requerido | Formato | Descripción |
|---|---|---|---|---|
token | string | Sí | JWT | Token de usuario obtenido después del login (Google/Email/WhatsApp). Debe ser un token JWT válido y no expirado |
empresa_id | string | Sí | UUID | ID de la empresa con la que deseas trabajar. Debe ser una de las empresas retornadas en el login |
establecimiento_id | string | Sí | UUID | ID del establecimiento de la empresa seleccionada. Debe pertenecer a la empresa indicada en empresa_id |
Ejemplo de respuesta
Sección titulada «Ejemplo de respuesta»{ "success": true, "codigo": "200", "message": "Operación realizada correctamente.", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMzQ1LTY3ODkwIiwiZW1wcmVzYUlkIjoiN2I0ZjcwMDQtY2ZkOS00NzdkLTlhZTMtZWZmZDMzMGY1OTIzIiwiZXN0YWJsZWNpbWllbnRvSWQiOiIwNmRhYmU0NS1jYmI1LTQyNWUtYjFjMy0xM2E2N2Q3MTE0ZTAiLCJpYXQiOjE2OTk4ODg4ODh9.xxxxxxxxxxxxxxxxxxxxxxxxxxx" }}Uso del token de empresa generado
Sección titulada «Uso del token de empresa generado»Una vez obtenido el token de empresa, úsalo en todas tus peticiones a la API:
# Ejemplo: Obtener información de la empresacurl -X GET "https://api.guarani.app/empresas/7b4f7004-cfd9-477d-9ae3-effd330f5923" \ -H "x-session: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
# Ejemplo: Crear una ventacurl -X POST "https://api.guarani.app/ventas" \ -H "Content-Type: application/json" \ -H "x-session: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \ -d '{ "cliente_id": "...", "items": [...] }'Flujo completo de autenticación
Sección titulada «Flujo completo de autenticación»sequenceDiagram participant C as Cliente participant API as API Guarani
Note over C,API: Paso 1: Login C->>API: POST /auth/email/verify API->>C: token_usuario + empresas[]
Note over C,API: Paso 2: Seleccionar Empresa C->>API: POST /auth/sesion/empresa Note over C: Envía: token_usuario, empresa_id, establecimiento_id API->>C: token_empresa
Note over C,API: Paso 3: Usar API C->>API: GET/POST /cualquier-endpoint Note over C: Header: x-session: token_empresa API->>C: RespuestaCambiar de empresa o establecimiento
Sección titulada «Cambiar de empresa o establecimiento»Si necesitas cambiar de empresa o establecimiento durante tu sesión:
- No necesitas hacer logout
- Simplemente llama nuevamente a este endpoint con:
- El mismo
tokende usuario (del paso 1) - Un nuevo
empresa_idy/oestablecimiento_id
- El mismo
- Obtendrás un nuevo
tokende empresa - Usa el nuevo token en tus siguientes peticiones
# Cambiar a otra empresa/establecimientocurl -X POST "https://api.guarani.app/auth/sesion/empresa" \ -H "Content-Type: application/json" \ -d '{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "empresa_id": "otro-uuid-de-empresa", "establecimiento_id": "otro-uuid-de-establecimiento" }'Recursos adicionales
Sección titulada «Recursos adicionales»- Consulta el flujo completo de autenticación en Guía de autenticación
- Para generar tokens API permanentes, consulta Generar Token API
- Para información sobre errores, consulta Códigos de error
- Si necesitas ayuda para obtener los IDs de empresa y establecimiento, revisa la respuesta del endpoint de login