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

# Ejemplos del MCP de Didit: prompts y conversaciones

> Ejemplos de prompts y conversaciones con el MCP de Didit: sesiones KYC, búsqueda en registros KYB, cola de revisión, back-test de reglas y webhooks.

Algunos patrones que muestran en qué destaca el MCP de Didit. Formula las solicitudes en lenguaje claro: el agente elige las herramientas. Todas las herramientas que se mencionan a continuación existen en la [referencia de herramientas](https://docs.didit.me/es/integration/mcp/tools.md).

***

## Prompts rápidos

**Operaciones y monitorización (entre aplicaciones)**

* *"Muéstrame las últimas 5 sesiones en revisión de todas mis aplicaciones."* → `didit_session_search` con `status: "In Review"`, `limit: 5`
* *"¿Cuántas personas intentaron la verificación de teléfono pero abandonaron en los últimos 15 días?"* → `didit_analytics` con `last_n_days: 15` (una sola llamada; consulta el embudo de conversión de la función)
* *"Busca el cliente con vendor\_data `user_8842` y dime en qué aplicación está y cuál es su estado."* → `didit_vendor_user_search`
* *"¿Cuál es mi saldo de créditos y la tasa de conversión de este mes?"* → `didit_org_get_balance` + `didit_analytics`

**Configuración**

* *"Crea un flujo de verificación (workflow) KYC con escaneo del documento de identidad + prueba de vida y dame un enlace de verificación."* → `didit_workflow_create` → `didit_session_create`
* *"Crea un flujo de verificación de identidad que solo acepte pasaportes, seguido de una prueba de vida con selfie."* → `didit_workflow_create`: basta con indicar `documents_allowed: ["PASSPORT"]`; el MCP lo configura para aceptar únicamente pasaportes en todos los países (consulta [Avanzado → configuración de funciones](https://docs.didit.me/es/integration/mcp/advanced.md#configuraciones-de-funciones-y-listas-de-permitidos)).
* *"Nuevo flujo: escanea un pasaporte; si el documento se rechaza, rechaza la sesión; si la profesión declarada es ≈ 'Software Engineer' (≥60%), ejecuta una prueba de vida; de lo contrario, solicita una prueba de domicilio en español; después, decide automáticamente."* → `didit_workflow_get_field_definitions` → `didit_workflow_validate_graph` → `didit_workflow_set_graph`
* *"En el flujo `26d33c04…`, después de la verificación de identidad: si se rechaza, rechaza la sesión; si la profesión es ≥80% similar a 'Software Engineer', añade un paso de Document AI de prueba de fondos; después, continúa."* → `didit_workflow_search` → `didit_workflow_get_graph` → `didit_workflow_edit_graph` (operaciones pequeñas, guardadas como borrador revisable)
* *"¿En qué países puedo ofrecer un inicio de sesión con BankID o MitID en lugar de escanear un documento?"* → `didit_workflow_get_id_verification_methods_catalog`
* *"Registra un destino de webhook para las actualizaciones de estado en `https://myapp.com/webhooks/didit`."* → `didit_webhook_create`

**Cumplimiento**

* *"Analiza esta wallet en busca de riesgos AML y añádela a la lista de bloqueo si hay coincidencia."* → `didit_transaction_screen_wallet` → `didit_blocklist_add`
* *"Abre un caso para la sesión `…` y asígnamelo."* → `didit_case_create` → `didit_case_manage`
* *"¿Acme Ltd es una empresa registrada en el Reino Unido? ¿Quiénes son sus accionistas?"* → `didit_verify_kyb_search` → `didit_verify_kyb_select`

***

## 1. Pon en marcha la verificación

> **Tú:** "Configura la verificación de identidad de Didit para mi aplicación con escaneo del documento y prueba de vida, y dame un enlace para probarla."
>
> **Agente:** Primero crearé el flujo. *(llama a `didit_workflow_create` con `workflow_label: "Standard KYC"`, `features: [{ "feature": "OCR" }, { "feature": "LIVENESS" }]`)*. He publicado **"Standard KYC"**, `workflow_id = 6f2c…`. Ahora, una sesión para probarlo. *(llama a `didit_session_create` con `workflow_id: "6f2c…"`, `vendor_data: "test-user-1"`)*. Aquí tienes tu enlace: `https://verify.didit.me/session/…`. Ábrelo en tu teléfono para recorrer el flujo. En producción, tu backend crea las sesiones con la API REST:
>
> ```bash theme={null}
> curl -X POST https://verification.didit.me/v3/session/ \
>   -H "x-api-key: $DIDIT_API_KEY" \
>   -H "Content-Type: application/json" \
>   -d '{ "workflow_id": "6f2c...", "vendor_data": "internal-user-id", "callback": "https://myapp.com/done" }'
> ```
>
> Ese `x-api-key` es la **clave de API REST** de tu aplicación para tu backend; es independiente de cómo iniciaste sesión en este MCP, que usa *Log in with Didit*. ¿Quieres que registre también el destino de webhook?
>
> **Tú:** "Sí, mi endpoint es `https://myapp.com/webhooks/didit`."
>
> **Agente:** *(llama a `didit_webhook_create` con `label: "Production"`, `url: "https://myapp.com/webhooks/didit"`, `webhook_version: "v3"`, `subscribed_events: ["status.updated"]`)*. Listo. El secreto de firma aparece oculto en la respuesta que recibo, así que cópialo desde **Webhooks** en la consola y guárdalo como `DIDIT_WEBHOOK_SECRET`. Verifica el encabezado `X-Signature-V2` en cada entrega antes de confiar en ella.

***

## 2. KYB: comprueba una empresa en el registro

> **Tú:** "¿Acme Trading Ltd es una empresa real del Reino Unido? Tengo el número de registro 12345678."
>
> **Agente:** *(llama a `didit_verify_kyb_search` con `country_code: "GB"`, `name: "Acme Trading Ltd"`, `registration_number: "12345678"`)*. Hay un candidato: **ACME TRADING LTD**, constituida en 2019, con estado *activa* y domicilio social en Mánchester. ¿Quieres el registro completo con los cargos y los accionistas?
>
> **Tú:** "Sí, y dime quiénes son los beneficiarios finales."
>
> **Agente:** *(llama a `didit_verify_kyb_select` con el `kyb_response_id` del candidato)*. He obtenido el registro completo: dos directores y una persona con control significativo que posee el 75%+ de las acciones y de los derechos de voto. El registro incluye el historial de presentaciones y la dirección registrada. Esta fue una consulta al registro facturable (dos llamadas que consumen créditos). Si quieres que esto ocurra automáticamente con cada cliente empresarial, puedo añadir `KYB_REGISTRY` a un flujo de KYB con `didit_workflow_create`; `didit_workflow_get_kyb_registry_catalog` nos indica qué niveles de datos vende el registro del Reino Unido.

***

## 3. Gestiona la cola de revisión

> **Tú:** "¿Qué tengo pendiente de revisar y qué problema tiene cada uno?"
>
> **Agente:** *(invoca `didit_session_search` con `status: "In Review"`, `limit: 10`)*: Hay cuatro sesiones en revisión repartidas entre dos aplicaciones. Leo cada decisión. *(invoca `didit_session_get_decision` para cada `session_id`)*
>
> | Sesión | Aplicación | Por qué se detuvo |
> | - | - | - |
> | `a1f3…` | Onboarding | Puntuación de coincidencia facial de 71 (umbral 80), prueba de vida superada |
> | `b7c2…` | Onboarding | Documento expirado hace 2 meses |
> | `c904…` | Marketplace | AML: una coincidencia PEP, coincidencia de nombre del 92%, fecha de nacimiento distinta |
> | `d215…` | Marketplace | Comprobante de domicilio con más de 90 días de antigüedad |
>
> **Tú:** "Aprueba `a1f3`: he revisado el selfie y es la misma persona. Rechaza `b7c2`, documento expirado."
>
> **Agente:** *(invoca `didit_session_update_status` con `session_id: "a1f3…"`, `new_status: "Approved"` y después con `session_id: "b7c2…"`, `new_status: "Declined"`, `comment: "Expired document"`)*: Ambas se han actualizado. *(invoca `didit_session_add_review` sobre `a1f3…` con la nota "Revisión manual del selfie: misma persona")*: He añadido una nota de revisión para que el registro de auditoría muestre por qué se anuló la puntuación. Los dos casos de AML y de comprobante de domicilio siguen abiertos; si me lo pides, abro un caso para la coincidencia PEP con `didit_case_create`.

***

## 4. Prueba una regla de transacciones con datos históricos antes de activarla

> **Tú:** "Quiero marcar a cualquiera que haga más de 3 transferencias de más de \$1,000 en una hora. ¿Cuánto ruido generaría?"
>
> **Agente:** *(invoca `didit_transaction_rule_backtest` con `conditions` sobre `amount > 1000`, una `aggregation` con un recuento ≥ 3 en una ventana de 1 hora, `period_days: 90`)*: En los últimos 90 días, esa regla se habría activado en 14 transacciones de 6 sujetos; 2 de esos sujetos ya están marcados. ¿Quieres que la cree en modo `TEST` para que registre las coincidencias sin ejecutar ninguna acción?
>
> **Tú:** "Sí, modo TEST."
>
> **Agente:** *(invoca `didit_transaction_rule_create` con `title: "Velocity: 3+ transfers over $1,000 per hour"`, `category: "aml_ctf"`, `mode: "TEST"`, las mismas `conditions` y `aggregation`, y una lista `actions` que marca al sujeto)*: Creada. Revísala con `didit_transaction_rule_get` dentro de unos días; cuando estés conforme, `didit_transaction_rule_update` cambia `mode` a `ACTIVE`. `didit_transaction_rule_library_list` también incluye las reglas de velocidad predefinidas de Didit, por si prefieres instalar una.

***

## Los resultados de la sesión son asíncronos

`didit_session_create` devuelve un `session_id`, un `session_token` y una `url` alojada, pero la verificación todavía no se ha realizado. El usuario abre la `url` y completa el flujo. La decisión final llega mediante:

1. Un **webhook** `status.updated` (recomendado), o
2. `didit_session_get_decision` (sondeo, como alternativa).

Ambos comparten la misma estructura: **arrays siempre en plural** con un `node_id` por entrada:

```json theme={null}
{
  "session_id": "uuid",
  "status": "Approved",
  "session_kind": "user",
  "id_verifications":  [ { "node_id": "first_id", "status": "Approved", "first_name": "Jane" } ],
  "liveness_checks":   [ { "node_id": "first_liveness", "status": "Approved", "score": 95.4 } ],
  "face_matches":      [ { "node_id": "first_face_match", "status": "Approved", "score": 96.1 } ],
  "aml_screenings":    [ { "node_id": "first_aml", "status": "Approved", "total_hits": 0, "hits": [] } ],
  "reviews": []
}
```

Nunca leas las claves V2 en singular (`id_verification`, `liveness`): solo se envían cuando un destino de webhook está configurado explícitamente con `webhook_version: "V2"`. Consulta [Modelos de datos](https://docs.didit.me/es/reference/data-models.md) para ver la referencia de campos de cada función y [Avanzado → Webhooks](https://docs.didit.me/es/integration/mcp/advanced.md#gestión-de-webhooks) para las reglas de verificación y de reintentos.

***

## Combínalo con la integración de un solo prompt

El MCP es ideal para *operar* Didit. Para que un agente *escriba* una integración completa (ruta de backend + SDK de frontend + manejador de webhooks + esquema de base de datos), dale el [Prompt de integración](https://docs.didit.me/es/integration/integration-prompt.md): recorre los siete pasos e invoca herramientas MCP para crear en tiempo real el flujo de verificación (workflow), la sesión y el webhook.

***

> [card] [Referencia de herramientas](https://docs.didit.me/es/integration/mcp/tools.md)
>
> Todo lo que el agente puede invocar.

> [card] [Avanzado y solución de problemas](https://docs.didit.me/es/integration/mcp/advanced.md)
>
> Roles, comportamiento entre aplicaciones, webhooks, autoalojamiento.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.