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

# Webhook de expiración de Token ID

> Guía para los eventos de webhook que se activan cuando los Token ID expiran

## Descripción general

El webhook de expiración de Token ID se envía automáticamente cuando un Token ID expira según las condiciones de expiración de token que configuró. Esto le permite rastrear el ciclo de vida de los tokens y prevenir problemas de reutilización de tokens.

<Note>
  * Los webhooks de expiración de Token ID solo se envían cuando la configuración de expiración de token está habilitada en su proyecto.
  * Los webhooks se envían a la URL de webhook registrada en su proyecto de ID Check. Aprenda cómo registrar webhooks [aquí](/es/idcheck/webhooks/overview#2-register-webhook-events).
  * El trigger del webhook es `token_expired`.
</Note>

## Servicios compatibles

Los webhooks de expiración de Token ID son compatibles en los siguientes dos pipelines:

<CardGroup cols={2}>
  <Card title="ID check" icon="id-card" href="/es/idcheck/webhooks/idcheck-token">
    Canal principal de verificación de identidad basado en Liveform
  </Card>

  <Card title="FaceAuth" icon="face-smile">
    Sub-pipeline de autenticación basado en selfie
  </Card>
</CardGroup>

Ambos pipelines utilizan Token ID, por lo que los webhooks se envían de forma independiente cuando los tokens expiran en cada pipeline.

<Info>
  Para información detallada sobre los webhooks de expiración de token del pipeline principal de ID Check, consulte [Webhook de token expirado de ID Check](/es/idcheck/webhooks/idcheck-token).
</Info>

## Tipos de Token ID y conceptos de expiración

### Token preregistrado

Un método en el que su sistema genera Token ID de antemano.

<Info>
  * Los tokens expiran inmediatamente después de un único envío.
  * Existe un concepto explícito de expiración.
</Info>

### Token no registrado

Un método que utiliza tokens sin generación previa.

<Info>
  * Los tokens no tienen una expiración explícita.
  * La validez se verifica según el uso previo en el momento de uso.
</Info>

## Configuración de expiración de token

La entrega de webhooks depende de si la configuración de expiración de token está habilitada en su proyecto. Se admiten dos métodos:

<Tabs>
  <Tab title="Basado en conteo">
    Gestiona la expiración de tokens según el conteo de uso.

    Ejemplo: Expira después de 1 uso
  </Tab>

  <Tab title="Basado en tiempo">
    Gestiona la expiración de tokens según el tiempo.

    Ejemplo: Expira después de 24 horas
  </Tab>
</Tabs>

## Momento de entrega del webhook

Los webhooks se envían de forma independiente desde cada pipeline cuando los Token ID expiran:

* **Pipeline principal de ID Check**: En la expiración del Token ID
* **Sub-pipeline de FaceAuth**: En la expiración del Token ID

<Warning>
  Dado que cada pipeline detecta eventos de expiración de forma independiente, pueden enviarse webhooks separados para el mismo Token ID en diferentes pipelines.
</Warning>

## Especificación del webhook

### Parámetros

<ResponseField name="webhook_trigger" type="string" required>
  Trigger del evento de webhook (valor fijo: `token_expired`)
</ResponseField>

<ResponseField name="token_id" type="string" required>
  El Token ID expirado
</ResponseField>

<ResponseField name="expired_condition" type="string" required>
  La condición de validación de expiración configurada

  * `count`: Expiración basada en conteo
  * `time`: Expiración basada en tiempo
</ResponseField>

<ResponseField name="service" type="string" required>
  Servicio objetivo

  * `idCheck`: Pipeline principal de ID Check
  * `faceAuth`: Sub-pipeline de FaceAuth
</ResponseField>

<ResponseField name="expired_at" type="string">
  Marca de tiempo de expiración (formato ISO 8601)

  <Info>
    Solo se incluye cuando `expired_condition` es `count`.
  </Info>
</ResponseField>

<ResponseField name="expected_expired_at" type="string">
  Marca de tiempo de expiración esperada (formato ISO 8601)

  <Info>
    Solo se incluye cuando `expired_condition` es `time`.
  </Info>
</ResponseField>

## Ejemplos

### Expiración basada en conteo

Payload del webhook cuando un token expira según el conteo de uso:

```json count-based-example.json theme={null}
{
  "webhook_trigger": "token_expired",
  "token_id": "tok_abc123def456",
  "expired_condition": "count",
  "expired_at": "2025-11-12T02:23:13.588Z",
  "service": "idCheck"
}
```

<Check>
  El campo `expired_at` indica el momento exacto en que el token expiró.
</Check>

### Expiración basada en tiempo

Payload del webhook cuando un token expira según el tiempo:

```json time-based-example.json theme={null}
{
  "webhook_trigger": "token_expired",
  "token_id": "tok_xyz789ghi012",
  "expired_condition": "time",
  "expected_expired_at": "2025-11-12T02:23:13.588Z",
  "service": "faceAuth"
}
```

<Check>
  El campo `expected_expired_at` indica cuándo estaba programada la expiración del token.
</Check>

## Casos de uso

Los webhooks de expiración de Token ID son útiles en los siguientes escenarios:

<AccordionGroup>
  <Accordion title="Prevenir la reutilización de tokens">
    Detecte tokens expirados para bloquear intentos de reutilización y registrar eventos de seguridad.
  </Accordion>

  <Accordion title="Rastrear la lógica del servicio">
    Rastree el ciclo de vida de los tokens para analizar los flujos de usuarios y mejorar la calidad del servicio.
  </Accordion>

  <Accordion title="Gestión automatizada de tokens">
    Genere automáticamente nuevos tokens o envíe notificaciones a los usuarios basándose en eventos de expiración.
  </Accordion>
</AccordionGroup>

<Tip>
  Aprovechar los webhooks de expiración de Token ID puede mejorar significativamente la seguridad y la trazabilidad de sus flujos basados en tokens.
</Tip>
