Integration API · v0.1.0

Getting Started

API para partners que integran telemetría de dispositivos Tagora en sus propios sistemas.

Mi estado de integración

Consulta tu rol, empresa y webhooks activos.

El flujo en 6 pasos

01 Seguridad

Login de usuario

POST /security/auth/login
Envía email y password. Recibirás un accessToken de corta duración y un renewToken para renovar sin re-login.

accessTokenrenewToken
Request / Response { email, password } accessToken · renewToken · expiresIn: 900
Ver en API Reference →
02 Seguridad

Perfil y organización

GET /security/users/me
Usa el accessToken del paso 1. Obtén tu userId y el organizationId de tu cuenta — los necesitarás en el paso siguiente.

userIdorganizationId
Request / Response Bearer {accessToken} userId · organizationId · firstName · scope
Ver en API Reference →
03 Seguridad

Credenciales de integración

GET /integration/credentials · POST /integration/credentials
Primero se consulta con GET /integration/credentials si tu organización ya tiene una credencial. Si no existe, se genera automáticamente con POST /integration/credentials (apiKey + secret). Si ya existe, el secret no puede recuperarse: ingresa el que ya tengas guardado, o rótalo (esto invalida el anterior).

apiKeysecret (solo si se genera/rota)
Request / Response GET ?organizationId → apiKey (secret: null si ya existía) POST { organizationId } → apiKey · secret (una sola vez)
Ver en API Reference →
04 Integración

Login de integración

POST /integration/auth/login
Usa apiKey y secret del paso 3. Obtienes un accessToken con scope integration que autoriza dispositivos y webhooks.

intAccessToken
Request / Response { apiKey, secret } accessToken (scope: integration) · expiresIn: 3600
Ver en API Reference →
05 Integración

Registrar el webhook

POST /integration/webhook
Registra la URL donde Tagora entregará telemetría. La respuesta incluye una publicKey (Ed25519) para verificar la firma de cada entrega.

webhookIdpublicKey
Request / Response { postUrl, name } webhookId · publicKey (Ed25519) · isActive
Ver en API Reference →
06 Integración

Actualizar el webhook

PATCH /integration/webhook/{webhookId}
Modifica la URL de entrega, el nombre o el estado activo de un webhook existente. Solo envía los campos que quieras cambiar.

webhookIdisActive
Request / Response { postUrl?, name?, isActive? } webhookId · postUrl · name · isActive
Ver en API Reference →

También puedes hacerlo directamente aquí

Mi estado de integración

Consulta tu rol, empresa y webhooks activos.

Ciclo de vida del token

+ El accessToken vive solo en memoria — nunca en localStorage ni cookies.
! El renewToken puede persistirse en sessionStorage para sobrevivir recargas.
Renueva con POST /auth/renew ~2 min antes del exp. Si falla, reintenta con backoff exponencial (5s → 10s → 15s). Tras 3 fallos, redirige a login.
x Un 401 en cualquier endpoint protegido indica que el accessToken expiró. Renueva y reintenta la petición una vez.