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

> Obtén más información sobre cómo probar y gestionar tus eventos y flujos de eventos.

# Pruebas de eventos, observabilidad y recuperación ante fallos

Las siguientes secciones proporcionan información sobre cómo probar los flujos de eventos y gestionar eventos.

<div id="test-the-event-stream">
  ## Probar el flujo de eventos
</div>

Después de crear y habilitar un flujo de eventos, puede probar el nuevo flujo. Actualmente, Auth0 no admite el envío de eventos a flujos de eventos deshabilitados.

Para probar su flujo de eventos, primero cree un usuario para su aplicación ejecutando lo siguiente con las credenciales que prefiera:

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 users create # siga las instrucciones para crear un usuario de prueba
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type: application/json" \
      -X POST https://$TENANT/api/v2/users \
      -d '{
            "email": "nick-testing-21@example.com",
            "password": "Password123!",
            "connection": "Username-Password-Authentication"
          }'
    ```
  </Tab>
</Tabs>

Después de crear el usuario, esto debería activar el evento `user.created` en su flujo de eventos y devolver una respuesta. En este ejemplo, se usan webhooks para implementar el flujo de eventos.

```json lines expandable theme={null}
"Webhook received": {
  "id": "evt_6SfwXrtm8nVcjzzNCFFH1L",
  "source": "urn:auth0:",
  "specversion": "1.0",
  "type": "user.created",
  "time": "2025-02-02T17:56:01.573Z",
  "data": {
    "object": {
      "created_at": "2025-02-02T17:56:01.566Z",
      "email": "nick-testing-21@example.com",
      "email_verified": false,
      "identities": [
        {
          "connection": "Username-Password-Authentication",
          "isSocial": false,
          "provider": "auth0",
          "user_id": "679fb1b1e809445f129bc18d"
        }
      ],
      "name": "nick-testing-21@example.com",
      "nickname": "nick-testing-21",
      "picture": "test.png",
      "updated_at": "2025-02-02T17:56:01.566Z",
      "user_id": "auth0|679fb1b1e809445f129bc18d"
    }
  },
  "a0tenant": "acme",
  "a0stream": "est_38ANnv8pQhqsZrX2VFbftv",
  "a0purpose": "test"
}
```

Puedes listar los fallos de entrega de eventos de un flujo de eventos específico ejecutando:

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 api get event-streams/$EVENT_STREAM_ID/deliveries
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -H "Authorization: Bearer $TOKEN" \
      "https://$TENANT/api/v2/event-streams/${EVENT_STREAM_ID}/deliveries" | jq .
    ```
  </Tab>
</Tabs>

Si se devuelve un array vacío de fallos de entrega, tu flujo de eventos funciona correctamente.

<div id="observability">
  ## Observabilidad
</div>

Para garantizar la fiabilidad de los flujos de eventos, implemente un proceso de monitorización que compruebe periódicamente si hay fallos de entrega y active alertas cuando sea necesario.

Los fallos de entrega pueden deberse a lo siguiente:

* Flujos de eventos deshabilitados.
* Flujos de eventos no disponibles.
* Errores de conexión.

<div id="polling-deliveries-endpoint">
  ### Endpoint Deliveries para sondeo
</div>

Consulte el endpoint Deliveries cada **5 minutos** para comprobar si hay eventos fallidos. Use la siguiente llamada a la API para obtener las entregas de eventos recientes:

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    auth0 api get event-streams/$EVENT_STREAM_ID/deliveries
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -H "Authorization: Bearer $TOKEN" \
      "https://$TENANT/api/v2/event-streams/${EVENT_STREAM_ID}/deliveries" | jq .
    ```
  </Tab>
</Tabs>

Si se detectan fallos:

* Registre los detalles del evento fallido.
* Notifique al equipo o sistema correspondiente para revisar y diagnosticar el problema.

<div id="recovery">
  ## Recuperación
</div>

La entrega de eventos se reintentará automáticamente. Para obtener más información, consulte [Prácticas recomendadas](/es/docs/customize/events/event-testing-observability-and-failure-recovery#batch-redelivery-of-failed-events).

Si se producen errores, use la Redelivery API para volver a intentar la entrega de eventos.

<div id="redeliver-a-single-failed-event">
  ### Reentregar un único evento fallido
</div>

Para reintentar la entrega de un evento fallido específico, use:

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash lines theme={null}
    EVENT_ID=<your event id>
    auth0 api POST event-streams/$EVENT_STREAM_ID/redeliver/$EVENT_ID --data '{}'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      "https://<your-domain>/api/v2/event-streams/$EVENT_STREAM_ID/redeliver/$EVENT_ID"
    ```
  </Tab>
</Tabs>

<div id="batch-redelivery-of-failed-events">
  ### Reenvío por lotes de eventos fallidos
</div>

Para reintentar todos los eventos fallidos del flujo de eventos:

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash wrap lines theme={null}
    auth0 api POST event-streams/$EVENT_STREAM_ID/redeliver --data '{}'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash lines theme={null}
    curl -s -X POST -H "Authorization: Bearer $TOKEN" \
      "https://<your-tenant>.auth0.com/api/v2/event-streams/<event_stream_id>/redeliver"
    ```
  </Tab>
</Tabs>

<div id="auto-disable-mechanism">
  ### Mecanismo de desactivación automática
</div>

Auth0 desactiva automáticamente un flujo de eventos si se produce un número excesivo de fallos.

| Condición               | Acción                                            |
| ----------------------- | ------------------------------------------------- |
| 500 fallos consecutivos | El flujo de eventos se desactiva automáticamente. |
| 5000 fallos totales     | El flujo de eventos se desactiva automáticamente. |

* Si un flujo de eventos se desactiva automáticamente, **debe** usar la Redelivery API para procesar los eventos fallidos.
* El flujo de eventos **no puede** volver a habilitarse manualmente hasta que el número total de fallos sea inferior a 5000.
* Una vez reducido el número de fallos, puede volver a habilitar el flujo mediante la API.

<div id="learn-more">
  ## Más información
</div>

* [Tipos de eventos](/es/docs/customize/events/event-types)
* [Crear un flujo de eventos](/es/docs/customize/events/create-an-event-stream)
* [Prácticas recomendadas sobre eventos](/es/docs/customize/events/events-best-practices)
