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

# Escuchar eventos del Widget

Al usar el callback `onEvent`, este será llamado por cada evento disponible en el widget. El callback debe definirse de la siguiente forma:

```javascript onEvent definition example theme={null}
function onEvent(eventName, metadata) {
	// use eventName and metadata
}
```

Aquí, `eventName` es un string que indica el evento que disparó el callback, y el atributo `metadata` es un objeto que contiene información relevante sobre el evento que disparó el callback. Es posible que algunos atributos de `metadata` sean `null`.

| Parámetro   | Descripción                                         |
| :---------- | :-------------------------------------------------- |
| `timestamp` | Momento en el tiempo en el que se disparó el evento |

<Warning>
  El objeto `metadata` puede incluir más campos con el tiempo, por lo que no deberías asumir que sus campos son solo los documentados hoy.
</Warning>

## Lista de eventos

Los eventos disponibles en el widget son los documentados en la tabla a continuación:

| Nombre del evento                      | Descripción                                                                                                                                                            |
| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `opened`                               | Se dispara cuando se abre el widget                                                                                                                                    |
| `on_terms_and_conditions`              | Se dispara cuando el usuario visita los términos y condiciones                                                                                                         |
| `codi_helper`                          | Se dispara cuando el usuario visita la Guía de Ayuda de CoDi                                                                                                           |
| `on_available_institutions`            | Se dispara cuando el usuario entra a la vista para seleccionar la institución financiera                                                                               |
| `on_request_bank`                      | Se dispara cuando el usuario entra a la vista para solicitar un nuevo banco                                                                                            |
| `on_authentication_form`               | Se dispara cuando el usuario entra a la vista para autenticarse con su institución financiera                                                                          |
| `codi_username_required`               | Se dispara cuando se solicita al usuario ingresar su teléfono móvil para recibir una solicitud de pago CoDi                                                            |
| `payment_in_progress`                  | Se dispara cuando se pide al usuario seleccionar el proveedor de pago                                                                                                  |
| `creating_link`                        | Se dispara cuando la institución financiera está verificando las credenciales y Fintoc está conectando la cuenta                                                       |
| `link_created`                         | Se dispara cuando la institución financiera aprueba las credenciales y se crea un `Link` en Fintoc                                                                     |
| `selecting_account`                    | Se dispara cuando el usuario entra a la vista para seleccionar una cuenta                                                                                              |
| `payment_intent_confirmation_required` | Se dispara cuando se pide al usuario autorizar el pago                                                                                                                 |
| `app_authentication_required`          | Se dispara cuando la entidad financiera necesita un segundo factor vía aplicación para autenticarse                                                                    |
| `creating_subscription`                | Se dispara cuando el usuario comienza a intentar crear una suscripción                                                                                                 |
| `payment_direct_transfer`              | Se dispara cuando el usuario ve la pantalla de transferencia directa                                                                                                   |
| `device_authentication_required`       | Se dispara cuando la entidad financiera necesita un segundo factor vía dispositivo físico para autenticarse                                                            |
| `card_authentication_required`         | Se dispara cuando la entidad financiera necesita un segundo factor vía tarjeta de coordenadas para autenticarse                                                        |
| `sms_authentication_required`          | Se dispara cuando la entidad financiera necesita un segundo factor vía SMS para autenticarse                                                                           |
| `email_authentication_required`        | Se dispara cuando la entidad financiera necesita un segundo factor vía email para autenticarse                                                                         |
| `captcha_authentication_required`      | Se dispara cuando la entidad financiera necesita un segundo factor vía captcha para autenticarse                                                                       |
| `validating_second_factor`             | Se dispara cuando la entidad financiera está validando el segundo factor ingresado por el usuario                                                                      |
| `subscription_created`                 | Se dispara cuando una suscripción se crea correctamente                                                                                                                |
| `subscription_aborted`                 | Se dispara cuando una restricción impide que Fintoc complete la suscripción. Esto podría ocurrir, por ejemplo, si la misma suscripción ya fue completada anteriormente |
| `payment_created`                      | Se dispara cuando un pago es exitoso                                                                                                                                   |
| `payment_error`                        | Se dispara cuando un pago falla                                                                                                                                        |
| `payment_selecting_auth`               | Se dispara cuando el usuario está seleccionando un método de segundo factor para autenticarse                                                                          |
| `validating_payment`                   | Se dispara cuando Fintoc está validando el pago                                                                                                                        |
| `closed`                               | Se dispara cuando el usuario cierra el widget                                                                                                                          |
| `on_error`                             | Se dispara cuando ocurre un error en el flujo                                                                                                                          |
