Saltar al contenido principal
Version: Next

Integración de backend

El Eixam Flutter SDK depende de un backend del partner para proporcionar sesiones firmadas y dar soporte a los endpoints operacionales clave.

Qué debe proporcionar el backend del partner

  1. Una sesión SDK firmada (appId, externalUserId, userHash)
  2. Soporte de identidad canónica vía GET /v1/sdk/me
  3. Soporte MQTT operacional para SOS y telemetría
  4. Soporte HTTP transaccional para cancelación de SOS
  5. Superficies de contactos y registro de dispositivos de backend

Flujo de firma

El backend del partner posee el secreto de la app y firma la identidad del usuario. El paso de firma debe ocurrir en el servidor — nunca en el cliente móvil.

PasoActor
Almacenar el secreto de la appBackend del partner
Generar userHash para appId + externalUserIdBackend del partner
Enviar la sesión firmada a la app móvilBackend del partner
Bootstrap con la sesión firmadaApp móvil
Reutilizar identidad para HTTP y MQTTSDK

Consulta Identity Signing (JS) para ejemplos de implementación en el servidor.

Contrato de sesión firmada

const EixamSession.signed(
appId: 'partner-app',
externalUserId: 'partner-user-123',
userHash: 'signed-session-hash',
)

Endpoints operacionales

OperaciónTransporte
Enriquecimiento de sesiónGET /v1/sdk/me
Activación de SOSOperacional (MQTT)
Cancelación de SOSPOST /v1/sdk/sos/cancel
Rehidratación de SOS activoGET /v1/sdk/sos
TelemetríaOperacional (MQTT)
Dispositivos y contactosHTTP

Autenticación

HTTP

X-App-ID: <appId>
X-User-ID: <externalUserId>
Authorization: Bearer <userHash>

MQTT (sin prefijo Bearer)

username: sdk:<appId>:<externalUserId>
password: <userHash>
nota

El SDK no llama a rutas de autenticación o firma del partner, ni calcula la firma localmente.