Saltearse al contenido

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.


URL base: https://api.guarani.app

POST /auth/sesion/empresa

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.


Ventana de terminal
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"
}' | jq

EncabezadoValorRequeridoDescripción
Content-Typeapplication/jsonIndica que los datos se envían en formato JSON.
ParámetroTipoRequeridoFormatoDescripción
tokenstringJWTToken de usuario obtenido después del login (Google/Email/WhatsApp). Debe ser un token JWT válido y no expirado
empresa_idstringUUIDID de la empresa con la que deseas trabajar. Debe ser una de las empresas retornadas en el login
establecimiento_idstringUUIDID del establecimiento de la empresa seleccionada. Debe pertenecer a la empresa indicada en empresa_id
{
"success": true,
"codigo": "200",
"message": "Operación realizada correctamente.",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMzQ1LTY3ODkwIiwiZW1wcmVzYUlkIjoiN2I0ZjcwMDQtY2ZkOS00NzdkLTlhZTMtZWZmZDMzMGY1OTIzIiwiZXN0YWJsZWNpbWllbnRvSWQiOiIwNmRhYmU0NS1jYmI1LTQyNWUtYjFjMy0xM2E2N2Q3MTE0ZTAiLCJpYXQiOjE2OTk4ODg4ODh9.xxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}

Una vez obtenido el token de empresa, úsalo en todas tus peticiones a la API:

Ventana de terminal
# Ejemplo: Obtener información de la empresa
curl -X GET "https://api.guarani.app/empresas/7b4f7004-cfd9-477d-9ae3-effd330f5923" \
-H "x-session: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
# Ejemplo: Crear una venta
curl -X POST "https://api.guarani.app/ventas" \
-H "Content-Type: application/json" \
-H "x-session: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-d '{
"cliente_id": "...",
"items": [...]
}'

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: Respuesta

Si necesitas cambiar de empresa o establecimiento durante tu sesión:

  1. No necesitas hacer logout
  2. Simplemente llama nuevamente a este endpoint con:
    • El mismo token de usuario (del paso 1)
    • Un nuevo empresa_id y/o establecimiento_id
  3. Obtendrás un nuevo token de empresa
  4. Usa el nuevo token en tus siguientes peticiones
Ventana de terminal
# Cambiar a otra empresa/establecimiento
curl -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"
}'

  • 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