> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://naturgy-comer-documentation-p5mde.vercel.app/api/mcp` to find what you need.

# Integraciones y ciclo CI/CG

Super App coordina la experiencia, pero cada sistema externo conserva su propia
fuente de verdad. La app no accede directamente a bases de datos de negocio y
los workflows consumen los backends mediante interfaces publicadas y tools
autorizadas.

## Mapa de sistemas

```mermaid
flowchart TD
    app["Super App"] -->|"HTTPS"| omega["Omega / sesión"]
    app -->|"chat"| chat["HappyRobot Chat"]
    app -->|"voz"| connect["Amazon Connect + Chime"]
    app -->|"contenido"| content["AEM / NAPAI"]

    chat --> dispatcher["Dispatcher o especialista"]
    connect --> dispatcher
    dispatcher --> workflows["Workflows de Operaciones y ATC"]
    workflows --> auth["Cognito / HR Proxy"]
    workflows --> cases["Mulesoft / Salesforce / Carolina"]
    workflows --> knowledge["KB / Exa"]
    workflows --> human["Connect / TeLeo"]
    workflows --> telemetry["Twin / analytics / transcript"]
```

El dibujo representa relaciones lógicas, no una red nueva ni un permiso
implícito. Cada flecha necesita un contrato, una identidad técnica, un entorno,
un owner y una política de retención.

## Integraciones principales

| Sistema | Para qué se usa | Datos principales | Escritura o efecto |
|---|---|---|---|
| Omega | Login, sesión, identidad de cliente, contratos y documentos | Token de sesión, cliente, productos y facturas | Actualizaciones según el contrato de Omega; la app no es su autoridad. |
| Session Fetcher y Redis | Recuperar un token de sesión mediante una referencia corta y correlacionar sesión con ejecución | `token_id`, `contact_id`, `run_id` | Guardar referencias técnicas con TTL; no guardar secretos en el contexto del modelo. |
| Cognito / HR Proxy | Identificación, OTP, ficha y citas para los especialistas | Tokens, documento, ficha y disponibilidad | Enviar OTP, validar identidad y asignar/reagendar cuando el backend lo permita. |
| HappyRobot Chat | Conversación de texto, respuesta y escalado | Sesión, mensajes, contexto y resultado | Crear o continuar conversación. |
| Amazon Connect / Chime | Voz, audio, colas y transferencia | ANI, IDs de llamada, atributos y estado | Iniciar llamada y transferir a una cola o persona. |
| Mulesoft / Salesforce / Carolina / Apser | Registrar y gestionar la interacción | CI, CG, contacto, estado, motivo y resumen | Crear, actualizar, cerrar o enrutar un caso según el canal. |
| [TeLeo](/use-cases/super-app/teleo) | Handoff humano de Operaciones texto | Ticket, sesión, transcript/resumen y tags | Crear una sesión o ticket y recibir respuesta humana. |
| KB / Exa | Distribuidoras, coberturas, contenido y diagnóstico de códigos | Consulta, producto, marca/modelo y resultado | Lectura; no crea estado de negocio. |
| AEM / NAPAI | Contenido editorial y meteorología | Municipio, previsión y contenido | Lectura. |
| Firebase / GA4 / Crashlytics / Quantum | Analítica, errores y configuración | Eventos, fallos y flags | Telemetría sujeta a consentimiento y minimización. |
| OneTrust | Consentimiento y preferencias | Estado de consentimiento | Propagar preferencias a las superficies correspondientes. |
| EAS / Remote Config | Distribución OTA, flags y kill switches | Bundle, versión, configuración | Cambiar cliente o comportamiento permitido por el owner. |

La capacidad genérica de una plataforma no demuestra que la integración de
Naturgy tenga el mismo contrato. Los campos, permisos y owners de cada tool
deben comprobarse por separado.

## Ciclo de casos

**CI** es el caso de interacción: representa el contacto del cliente.
**CG** es el caso de gestión: representa el trabajo concreto, por ejemplo una
actuación técnica. El recorrido normal es:

```text
Entrada de conversación
  └─ Crear CI
       ├─ Información resuelta → crear CG de información → cerrar CI
       ├─ Gestión técnica      → crear CG de actuación  → cerrar CI
       ├─ Escalado humano      → actualizar CI abierto → TeLeo o Connect
       └─ Tema ajeno           → facilitar teléfono o destino → cerrar CI
```

La propiedad del primer CI varía por canal:

| Canal | Quién inicia el CI | Interfaz documentada | Continuación |
|---|---|---|---|
| Voz | Connect/Apser antes de la conversación | Identificador de caso en el contexto de llamada | El workflow actualiza o cierra mediante las APIs de voz. |
| Texto | Workflow al comenzar el chat | Interfaz de casos de Mulesoft | El workflow crea CG, actualiza/cierra y escala a TeLeo cuando corresponde. |
| Dispatcher objetivo | Pendiente de decisión | Debe definirse si solo enruta o ejecuta una operación común | El especialista debe seguir siendo dueño del negocio, salvo contrato aprobado. |

No se debe construir un Case ID, estado, cita o resultado a partir de un
resumen conversacional. El backend responsable debe devolverlo.

## Flujo por canal

### Voz

La app inicia Connect/WebRTC. Connect entrega la llamada y el contexto técnico
al workflow de voz. El especialista autentica cuando corresponde, consulta los
backends, actualiza el CI/CG y transfiere por Connect si una persona debe
continuar.

### Texto

La app inicia o continúa un chat. El workflow de Operaciones texto prepara la
sesión, crea el CI al comienzo, consulta los servicios necesarios y actualiza el
caso. Si hace falta una persona, escala a TeLeo; el chat no se convierte en una
transferencia telefónica.

### Dispatcher objetivo

El Dispatcher debe entregar canal, intención, confianza, resumen, sesión y
correlación al especialista mediante una Workflow Function. No debe copiar
transcripts completos, tokens, API keys ni datos personales innecesarios.

## Fuente de verdad y límites

* Omega es autoridad para la identidad y el contexto de cliente que expone.
* Salesforce/Carolina/Mulesoft son autoridad para CI, CG y estados de gestión
  según el canal.
* Connect y TeLeo son autoridad para el estado del handoff de su canal.
* HappyRobot y Twin son autoridad para ejecución, transcript y observabilidad
  en el alcance que tenga configurado el tenant.
* KB y Exa son autoridad de sus contenidos y diagnósticos.

El modelo recibe resultados filtrados de las tools. No debe inventar importes,
Case IDs, citas, disponibilidad, permisos ni confirmaciones de escritura.

## Pendientes de integración

* contrato multicanal del Dispatcher y payload de Workflow Function;
* destino de ATC texto o decisión explícita de no disponibilidad;
* entorno de producción y contrato final de Mulesoft para Operaciones texto;
* endpoint de asignación de agentes en TeLeo;
* contrato definitivo de Connect/SIP, transcript y correlación;
* retención, borrado y permisos por tenant y por canal.

Estos puntos son gates de diseño, no huecos que deba rellenar la app con
suposiciones. Consulta [Evidencia, UAT y pendientes](/use-cases/super-app/reference/evidence).
