# Afiliación a partidos políticos (V3) Fuente: /identity-verification-v3/political-affiliation/ Solo disponible en V3 Con esta opción, al terminar la sesión **se consulta en el INE si la persona está afiliada a un partido político nacional**, usando la clave de elector y el nombre leídos de su credencial. El resultado incluye los partidos a los que está afiliada y el **comprobante oficial** emitido por el INE. > **Nota** > > Es una opción **opcional y con costo adicional**: no se consulta a menos que la actives explícitamente al > [crear la sesión](/identity-verification-v3/create-verification-session/). Es informativa: **no cambia > el `result`** de la verificación. ## Cómo activarla Envía `political_affiliation: true` en el cuerpo de la solicitud al crear la sesión: **JSON** ```json { "validations": ["INE", "CURP"], "webhook": "https://tu-api.com/webhooks/verificamex", "political_affiliation": true } ``` **cURL** ```bash curl -X POST https://api.verificamex.com/identity/v3/identity/sessions \ -H "Authorization: Bearer {TU_TOKEN}" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "validations": ["INE", "CURP"], "webhook": "https://tu-api.com/webhooks/verificamex", "political_affiliation": true }' ``` La respuesta de creación confirma la opción con `"political_affiliation": true`. > **Tiene un costo adicional** > > Consume **3 tokens extra** por sesión, **solo si el INE responde** la consulta (la persona esté > afiliada o no). Si la consulta no se puede completar, no se cobran. ## Cuándo llega el resultado La consulta al INE empieza **cuando la persona termina la sesión** y tarda desde unos segundos hasta varios minutos. Por eso normalmente termina después de que la sesión ya cerró: 1. **Webhook de cierre** (`status: FINISHED`): llega como siempre, con `political_affiliation.status` en `pending` o `processing`. 2. **Segundo webhook de la misma sesión**: cuando la consulta termina, te enviamos otra notificación con el mismo payload de la sesión, ahora con `political_affiliation.status` en `completed` o `failed`. Si la consulta termina antes de que la sesión cierre, el resultado viene directamente en el webhook de cierre y no se envía un segundo webhook. En cualquier momento puedes consultar el estado actual en el [detalle de la sesión](/identity-verification-v3/show-verification-session/). > **Prepara tu webhook para dos notificaciones FINISHED** > > Las sesiones con `political_affiliation: true` pueden enviar **dos notificaciones con `status: FINISHED`**. > Cada una trae su propio header `webhook-id`. Si tu integración solo procesa la primera notificación > `FINISHED` de cada sesión, ajusta tu lógica para actualizar el bloque `political_affiliation` cuando > llegue la segunda. ## Estructura de la respuesta Tanto el [detalle de la sesión](/identity-verification-v3/show-verification-session/) como el [webhook](/identity-verification-v3/webhooks/) incluyen el campo `political_affiliation`. Es `null` si la sesión no pidió la consulta. | Campo | Tipo | Descripción | | - | - | - | | status | `String` | Estado de la consulta: `pending` (esperando a que termine la sesión), `processing` (consultando al INE), `completed` (el INE respondió) o `failed` (no se pudo completar). | | affiliated | `Boolean` | `true` si la persona aparece afiliada a algún partido. `null` mientras la consulta no esté `completed`. | | affiliations | `Array` | Afiliaciones encontradas, cada una con `nombre_completo`, `entidad`, `partido` y `fecha_afiliacion`. Vacío si no está afiliada o si la consulta no terminó. | | message | `String` | Descripción del resultado o del motivo de la falla. | | `consulted_at` | `String` | Fecha y hora en que se consultó al INE (ISO-8601, UTC). | | `proof_url` | `String` | URL firmada para descargar el **comprobante oficial del INE** en PDF, o `null`. | | `screenshot_url` | `String` | URL firmada para descargar la captura de la consulta, o `null`. | > **Las URLs caducan** > > `proof_url` y `screenshot_url` son URLs firmadas: en el webhook vencen a los **20 minutos** y en el > detalle a los **15 minutos**. Descarga los archivos al recibirlos; si vencen, vuelve a consultar el > detalle de la sesión para obtener URLs nuevas. ## Ejemplos **Afiliada** ```json { "status": "completed", "affiliated": true, "affiliations": [ { "nombre_completo": "JUAN CARLOS GARCIA LOPEZ", "entidad": "CIUDAD DE MÉXICO", "partido": "NOMBRE DEL PARTIDO", "fecha_afiliacion": "2025-02-01" } ], "message": "La persona aparece afiliada a un partido político", "consulted_at": "2026-10-22T16:00:00Z", "proof_url": "https://storage.googleapis.com/...&X-Goog-Signature=...", "screenshot_url": "https://storage.googleapis.com/...&X-Goog-Signature=..." } ``` **No afiliada** ```json { "status": "completed", "affiliated": false, "affiliations": [], "message": "La persona no aparece afiliada a ningún partido político", "consulted_at": "2026-10-22T16:00:00Z", "proof_url": "https://storage.googleapis.com/...&X-Goog-Signature=...", "screenshot_url": "https://storage.googleapis.com/...&X-Goog-Signature=..." } ``` **En proceso** ```json { "status": "pending", "affiliated": null, "affiliations": [], "message": null, "consulted_at": null, "proof_url": null, "screenshot_url": null } ``` **No se pudo consultar** ```json { "status": "failed", "affiliated": null, "affiliations": [], "message": "El proveedor no devolvió la clave de elector de la credencial.", "consulted_at": null, "proof_url": null, "screenshot_url": null } ``` **Solo V3** Esta opción no existe en las sesiones creadas con la V2. **Cobro condicionado** 3 tokens extra, solo si el INE responde la consulta. **Puede llegar después** Si termina después del cierre, recibirás un segundo webhook con el resultado. **No afecta el resultado** Es informativa: no cambia el `result` de la verificación.