Ir al contenido principal

API de Hybo — Guía de autenticación para integraciones de terceros

Cómo obtener y usar tokens OAuth 2.0 para integrar aplicaciones de terceros con la API de Hybo: qué entrega Hybo, qué necesita el cliente, flujo de autenticación, renovación de credenciales y errores frecuentes.

Resumen

El acceso a la API de Hybo se realiza mediante OAuth 2.0 con tokens delegados de usuario: todas las llamadas se ejecutan en nombre de un usuario autenticado de Hybo, y la API aplica exactamente los permisos de ese usuario. No existe acceso anónimo.

Para cada integración, Hybo registra una aplicación dedicada en su proveedor de identidad (Microsoft Entra External ID / B2C) y entrega las credenciales necesarias para obtener tokens. Esa aplicación es la identidad de la integración y el único mecanismo de acceso soportado.

Qué entrega Hybo

Dato

Descripción

Ejemplo de formato

Client ID

Identificador de la aplicación registrada para el cliente.

11111111-2222-3333-4444-555555555555

Client Secret

Credencial secreta, entregada por canal seguro junto con su fecha de expiración. La renovación debe solicitarla el cliente antes del vencimiento.

xxx~yyyy...

Authorization URL

Endpoint de autorización del proveedor de identidad de Hybo.

Token URL

Endpoint de emisión de tokens.

Scope

Permiso delegado que debe solicitarse al pedir el token.

URL base de la API

Host contra el que se realizan las llamadas, por entorno.

Authorization URL, Token URL y Scope son estables y forman parte del contrato de integración. Hybo procurará avisar con antelación (orientativamente 30 días) de cualquier cambio, salvo motivos urgentes de seguridad o del proveedor de identidad.

¿Ya tenéis una política de acceso a medida acordada con Hybo (por ejemplo, federación con vuestro propio proveedor de identidad)? La integración usará esa misma política; el resto del flujo no cambia.

Qué necesitamos recibir de vosotros

Antes de dar de alta la integración, necesitamos que nos facilitéis:

  • Redirect URI(s) de vuestra plataforma o aplicación. Ejemplos habituales:

    • Power Automate / Power Apps (custom connector): https://global.consent.azure-apim.net/redirect

    • Postman (pruebas): https://oauth.pstmn.io/v1/callback

    • Aplicación propia: la URL de callback de vuestro backend o frontend

  • Contacto técnico para la entrega de credenciales y avisos (rotación de secretos, cambios de contrato).

  • Descripción breve del caso de uso: qué herramienta llamará a la API y con qué finalidad, para asignar los permisos adecuados.

Solo funcionarán los Redirect URIs comunicados y registrados. Añadir uno nuevo requiere solicitarlo a Hybo.

Cómo se obtiene y usa el token

El flujo habilitado es OAuth 2.0 Authorization Code (delegado):

  1. Vuestra aplicación redirige al usuario a la Authorization URL, solicitando el Scope proporcionado.

  2. El usuario se autentica en la pantalla de login de Hybo con su cuenta habitual.

  3. El proveedor de identidad devuelve un código de autorización al Redirect URI registrado.

  4. Vuestra aplicación intercambia el código por un access token (y un refresh token) en la Token URL, autenticándose con vuestro Client ID y Client Secret.

  5. Cada llamada a la API incluye el token en la cabecera:

GET /api/Parking/ZonesByContext HTTP/1.1
Host: api.{entorno}.hybo.app
Authorization: Bearer <access_token>
Accept: application/json

La mayoría de plataformas gestionan este flujo automáticamente: en Power Automate se configura una vez en la pestaña Security del custom connector y la conexión se encarga del resto; en aplicaciones propias, librerías estándar como MSAL implementan el flujo completo, incluida la renovación.

Identidad y permisos

  • El token es del usuario: la API resuelve el tenant, el usuario, sus roles y contextos a partir de los claims del token. Un userId o email enviado en el cuerpo de una petición no sustituye la identidad del token.

  • La integración solo puede hacer lo que el usuario autenticado puede hacer. No hay elevación de permisos.

  • El usuario debe existir en Hybo y disponer de los roles correspondientes al módulo utilizado (por ejemplo, AppUser, ParkingAppUser para parking).

Vida del token y renovación

Elemento

Comportamiento

Access token

Vigencia corta (aprox. 60 minutos). Se envía en cada petición.

Refresh token

Lo gestiona vuestra plataforma (MSAL, Power Platform, etc.) para renovar el access token sin nueva intervención del usuario.

Expiración

Una respuesta 401 Unauthorized con un token previamente válido indica normalmente expiración: renovad y reintentad.

La API no expone endpoints propios de login o refresh; toda la emisión y renovación de tokens se realiza contra el proveedor de identidad.

Integraciones desatendidas (flujos programados, agentes)

Los procesos que se ejecutan sin usuario presente (flujos programados de Power Automate, tareas de un agente, sincronizaciones) utilizan igualmente el modelo delegado: la conexión se crea una vez con un usuario y las ejecuciones posteriores usan su identidad.

Recomendación: crear esas conexiones con una cuenta de servicio dedicada (por ejemplo, [email protected]), dada de alta en Hybo con los permisos estrictamente necesarios, en lugar de la cuenta personal de un empleado. Así la integración no depende del ciclo de vida de ninguna persona (bajas, cambios de contraseña, deshabilitaciones).

El acceso genérico con permisos de aplicación (client credentials / app-only) no forma parte del contrato estándar. Hybo dispone de un contexto de aplicación para un conjunto limitado de endpoints, orientado a integraciones sencillas de consulta o a acciones relacionadas con el check-in. Este mecanismo no se habilita por defecto: si vuestra integración lo necesita, contactad con Hybo para revisar el caso de uso.

Ciclo de vida de las credenciales

El Client Secret caduca (vigencia habitual: 12–24 meses). La fecha de expiración se entrega junto con las credenciales; es responsabilidad del cliente solicitar la renovación con antelación suficiente (recomendado: al menos 15 días antes del vencimiento) para evitar la interrupción de la integración.

  • La sustitución del secret consiste en actualizar su valor en la configuración de la integración, sin cambios de código.

  • El secret debe custodiarse de forma segura (gestor de secretos o configuración protegida de la plataforma). No debe incluirse en código fuente, repositorios ni comunicaciones en claro.

  • En caso de sospecha de compromiso del secret, contactad con Hybo inmediatamente para su revocación y reemisión.

Hybo puede deshabilitar la aplicación de un cliente al finalizar la relación contractual o ante un uso indebido, con efecto inmediato sobre el acceso.

Política de soporte

El único mecanismo de acceso soportado es la aplicación registrada entregada por Hybo, mediante el flujo OAuth descrito en este artículo. Las integraciones basadas en la reutilización de tokens de sesión de las aplicaciones de Hybo, u otros mecanismos no descritos aquí, no están soportadas y pueden dejar de funcionar en cualquier momento sin previo aviso.

El acceso se encuentra en fase beta: la superficie de API disponible y sus condiciones pueden evolucionar. Hybo procurará avisar con antelación suficiente (orientativamente 30 días) de los cambios que afecten a integraciones existentes, salvo motivos urgentes de seguridad o del proveedor de identidad.

Errores frecuentes en la puesta en marcha

Síntoma

Causa habitual

Solución

redirect_uri mismatch durante el login

El Redirect URI usado no coincide con el registrado.

Verificad la URI exacta y solicitad su alta a Hybo si falta.

AADB2C90205 o error de scope inválido

Scope mal escrito o incompleto.

Usad el valor de Scope exactamente como se entregó.

401 Unauthorized en todas las llamadas con login correcto

El token no incluye la audiencia esperada.

Incluid el Scope de Hybo en la solicitud de autorización, no solo en la de token.

401 tras funcionar un tiempo

Access token expirado y renovación no configurada.

Comprobad la gestión del refresh token en vuestra plataforma.

403 Forbidden con token válido

El usuario no tiene el rol o contexto necesario en Hybo.

Revisad los roles del usuario (p. ej. ParkingAppUser) con el administrador de Hybo.

El flujo funciona y deja de hacerlo semanas después

Secret expirado sin solicitar renovación, o cuenta del creador de la conexión deshabilitada.

Solicitad a Hybo un nuevo secret o recread la conexión con la cuenta de servicio.

Checklist de alta

El cliente envía a Hybo:

  • Redirect URI(s) de vuestra plataforma

  • Contacto técnico

  • Descripción del caso de uso y herramienta

Hybo entrega al cliente:

  • Client ID

  • Client Secret (canal seguro) con su fecha de expiración

  • Authorization URL y Token URL

  • Scope

  • URL base de la API por entorno

  • Usuario y datos de prueba, si aplica

Verificación conjunta:

  • Login completado desde vuestra plataforma

  • Primera llamada autenticada con respuesta 200

Para cualquier duda durante la integración, contactad con vuestro equipo de referencia en Hybo.

¿Ha quedado contestada tu pregunta?