> **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.

# Integración con Amazon Connect

Amazon Connect es la frontera de telefonía de Operaciones voz. Chime/WebRTC
permite iniciar la conversación desde Super App y Connect entrega audio,
contacto, atributos y transferencia; HappyRobot ejecuta el especialista.

## Flujo lógico

```mermaid
flowchart TD
    app["Super App / WebRTC"] --> chime["Chime"]
    chime --> connect["Amazon Connect"]
    connect --> sip["SIP INVITE"]
    sip --> hr["HappyRobot / Dani"]
    hr --> context["SIP + User-to-User + Contact ID"]
    context --> ops["Caso de Operaciones"]
    ops --> connect
    connect --> human["Cola o destino humano"]
```

La telefonía directa puede transportar ANI/DNIS. Los atributos arbitrarios de la
Super App requieren el camino WebRTC/Connect y un contrato de contexto explícito.

## Contexto de entrada

El flujo de Super App puede entregar en el atributo `user_to_user` un JSON
codificado con campos como:

* ANI y `SFCaseId`;
* referencia de sesión y de token;
* identificador de usuario y dispositivo;
* NIF y nombre del cliente;
* destino, idioma y encuesta.

`x-amzn-connectinitialcontactid` aporta el `contact_id` para correlación. El
workflow guarda una asociación temporal `contact_id → run_id` para que los
servicios de histórico puedan localizar la ejecución.

Los headers no deben transportar un token completo, secretos o PII que el canal
no necesite. El parser debe rechazar formatos inválidos y mantener el entorno.

## Caso y transcript

Apser/Connect puede crear el CI antes de que HappyRobot atienda la llamada y
entregar el `SFCaseId`. Operaciones voz actualiza el CI, crea el CG y lo cierra
cuando el resultado está confirmado. En un escalado conserva el CI abierto o en
el estado acordado.

Al final, el transcript puede enviarse al servicio autorizado de histórico cuando
existe una identidad de Super App. Connect/Naturgy es la fuente del histórico de
voz en el alcance documentado; el dashboard y Twin son superficies de
observabilidad, no sustitutos del caso.

## Transferencias

El workflow distingue:

* **Escalado:** tema de Operaciones que necesita una persona. El destino humano
  y su cola deben conservar motivo, resumen y correlación.
* **Transferencia:** tema ajeno a Operaciones. Connect recibe el estado final,
  resumen y destino permitido.

Las tools documentadas terminan el tramo de HappyRobot y actualizan el contexto
para que Connect transfiera después del cuelgue. No se debe introducir SIP REFER
como una segunda lógica de transferencia sin aprobación.

## Contrato de salida

Antes de transferir, el workflow debe tener:

```text
estado final
motivo y resumen
identificado / autenticación
número o cola destino autorizada
session_id / contact_id / SFCaseId
entorno
encuesta si aplica
```

Un error de backend o de destino debe producir fallback hablado y quedar en
observabilidad. No afirmar que la transferencia se completó solo porque la tool
respondió.

## Seguridad y pruebas

* Probar WebRTC y telefonía directa por separado.
* Verificar que los headers no se mezclan entre llamadas.
* Probar ANI ausente, `contact_id` ausente y atributo malformado.
* Probar mercado libre/regulado y horario fuera de atención.
* Verificar que el CI y el transcript quedan correlacionados.
* Probar caída de Connect, HR Proxy, Carolina y destino humano.
* No guardar SIP headers sin redactar ni tokens en logs.

Los números de entrada y destinos se mantienen en [Canales y números](/use-cases/operations/reference/channels-and-numbers);
la validez PRE/PRO requiere confirmación de Telefonía.
