> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telepatia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Referencia

> Opciones, métodos, callbacks y errores de init()

## Opciones de init()

Agrupadas por tema; todo es opcional. `window.TelepatiaRecorderConfig` (definido
antes de que cargue el script) acepta los mismos campos, y `init()` gana cuando
ambos definen uno.

| Campo                                   | Valor                                                                  |
| --------------------------------------- | ---------------------------------------------------------------------- |
| `settings.locale` · `settings.branding` | `"en"·"es"·"pt"` · nombre mostrado en el panel                         |
| `patient.name`                          | nombre visible                                                         |
| `patient.idCountry · idType · idValue`  | identidad — registra al paciente al iniciar (ej. `CO · CC · 55544433`) |
| `template.medicalRecordConfigurationId` | plantilla inteligente (`mrc_…`)                                        |
| `template.configurationDocumentId`      | plantilla seleccionada (SSC)                                           |
| `consultation.scribeSessionModality`    | `"in-person"` · `"telemedicine"`                                       |
| `consultation.externalConsultationId`   | tu id de encuentro — pásalo siempre                                    |
| `open` · `callbacks`                    | abre el panel ahora · callbacks de ciclo de vida                       |

Los overrides de endpoint (`baseUrl`, `data-*`) existen solo para configuraciones
white-label; normalmente no defines nada aquí.

## Métodos de TelepatiaRecorder

| Método              | Hace                                                                                                  |
| ------------------- | ----------------------------------------------------------------------------------------------------- |
| `init(config?)`     | monta y abre (overlay); colapsado en modo launcher salvo `open: true`. Seguro de llamar en cada clic. |
| `show()` / `hide()` | expande / colapsa un panel ya montado                                                                 |
| `destroy()`         | desmonta el Shadow DOM                                                                                |
| `version`           | versión del bundle cargado (ej. `"0.2.0"`)                                                            |

Tras montar el panel, un nuevo `init()` solo aplica `open` y `callbacks`; los demás
campos surten efecto después de `destroy()` y luego `init()`.

## Callbacks y errores

Regístralos en `init({ callbacks })`: `onSessionStart(id)`,
`onSessionComplete(event)`, `onError(message)`, `onStateChange(state)`. El
`onSessionComplete` del navegador es opcional — el webhook es el disparador
confiable. Las señales de salud se emiten en `window`:

```js theme={null}
window.addEventListener("telepatia-recorder-health", (e) => {
  // e.detail.type: "page-hidden" | "pagehide" | "microphone-denied"
});
```

Los errores de obtención en el backend usan el formato estándar de Telepatia —
haz `switch` sobre `code`: `authentication_required` (401, clave inválida o
expirada), `resource_not_found` (404, id incorrecto u obtenido demasiado pronto),
`resource_conflict` (409, id reutilizado), `rate_limit_exceeded` (429). La tabla
completa está en la página de errores de la Scribe API.
