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

# Discovery

> Usa Discovery y Fetcher para detectar fuentes de datos externas, inspeccionar sus esquemas e ingresar transacciones a Matcher de forma automática.

Discovery automatiza la detección y extracción de fuentes de datos a través de Fetcher. En lugar de cargar archivos manualmente, Discovery se conecta a sistemas externos, identifica los datos disponibles y extrae transacciones directamente en Matcher.

## Qué resuelve Discovery

***

Las cargas manuales de archivos generan fricción en cada paso. Los equipos exportan archivos, los transfieren, monitorean fallos y vuelven a cargar cuando algo sale mal. Este proceso es lento, propenso a errores y se quiebra cuando el volumen de datos crece.

Discovery reemplaza el pipeline manual. Se conecta a sistemas externos a través de Fetcher, detecta fuentes de datos disponibles automáticamente y trae transacciones a Matcher bajo demanda. Cuando aparece una nueva fuente de datos — una nueva conexión bancaria, un nuevo procesador de pagos — Discovery la encuentra sin reconfiguración.

## Cómo funciona Discovery

***

Discovery opera a través de Fetcher, el servicio interno de extracción de datos de Lerian. Fetcher gestiona las conexiones a bases de datos externas y extrae datos de ellas en nombre de los productos de Lerian. Discovery expone esas conexiones a Matcher y coordina el proceso de extracción.

El flujo de trabajo tiene siete pasos:

1. **Verificar estado** — Confirmar que Fetcher está conectado y Discovery está disponible.
2. **Explorar conexiones** — Ver todas las fuentes de datos a las que Fetcher tiene acceso.
3. **Inspeccionar una conexión** — Revisar el esquema para entender qué campos están disponibles.
4. **Probar una conexión** — Validar la conexión antes de iniciar una extracción.
5. **Crear una extracción** — Solicitar que Matcher obtenga datos de una fuente específica.
6. **Monitorear progreso** — Rastrear el estado de la extracción mientras los datos fluyen.
7. **Actualizar conexiones** — Reescanear cuando se agregan nuevas fuentes de datos.

## Flujo de trabajo de Discovery

***

### Verificar estado de Discovery

Verifique que Fetcher está conectado y Discovery está operativo antes de comenzar.

```bash theme={null}
curl -X GET "https://api.matcher.example.com/v1/discovery/status" \
  -H "Authorization: Bearer $TOKEN"
```

<Tip>Referencia API: [Obtener estado de Discovery](/es/reference/matcher/discovery-status)</Tip>

### Explorar conexiones

Liste todas las fuentes de datos disponibles a través de Fetcher.

```bash theme={null}
curl -X GET "https://api.matcher.example.com/v1/discovery/connections" \
  -H "Authorization: Bearer $TOKEN"
```

La respuesta lista cada conexión con su nombre, tipo (base de datos, API, almacén de archivos) y estado actual.

<Tip>Referencia API: [Listar conexiones](/es/reference/matcher/list-discovery-connections)</Tip>

### Inspeccionar una conexión

Revise el esquema de una conexión específica para entender qué campos de datos están disponibles antes de extraer.

```bash theme={null}
curl -X GET "https://api.matcher.example.com/v1/discovery/connections/{connectionId}/schema" \
  -H "Authorization: Bearer $TOKEN"
```

Use la inspección de esquema para confirmar que los campos requeridos — IDs de transacción, montos, fechas, referencias — existen antes de configurar los mapeos de campos.

<Tip>Referencia API: [Obtener esquema de conexión](/es/reference/matcher/get-connection-schema)</Tip>

### Probar una conexión

Valide que Matcher puede alcanzar y leer de una conexión antes de crear una extracción.

```bash theme={null}
curl -X POST "https://api.matcher.example.com/v1/discovery/connections/{connectionId}/test" \
  -H "Authorization: Bearer $TOKEN"
```

Una prueba exitosa confirma conectividad y acceso de lectura. Siempre pruebe antes de crear una extracción — especialmente para conexiones nuevas o modificadas recientemente.

<Tip>Referencia API: [Probar conexión](/es/reference/matcher/test-discovery-connection)</Tip>

### Crear una extracción

Solicite que Matcher obtenga datos de transacciones de una conexión específica en el contexto actual.

```bash theme={null}
curl -X POST "https://api.matcher.example.com/v1/discovery/connections/{connectionId}/extractions" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "contextId": "ctx_abc123",
    "dateRange": {
      "from": "2024-01-01",
      "to": "2024-01-31"
    }
  }'
```

La respuesta retorna un ID de extracción. Úselo para monitorear el progreso.

<Tip>Referencia API: [Crear extracción](/es/reference/matcher/create-extraction)</Tip>

### Monitorear progreso de extracción

Rastree el estado de una extracción activa. Para conjuntos de datos grandes, use el endpoint de polling para verificar el progreso incrementalmente.

```bash theme={null}
# Obtener estado actual
curl -X GET "https://api.matcher.example.com/v1/discovery/extractions/{extractionId}" \
  -H "Authorization: Bearer $TOKEN"

# Consultar actualizaciones
curl -X POST "https://api.matcher.example.com/v1/discovery/extractions/{extractionId}/poll" \
  -H "Authorization: Bearer $TOKEN"
```

El estado de la extracción transiciona de `pending` → `running` → `completed` (o `failed`). La respuesta incluye un conteo de registros extraídos y cualquier error encontrado.

<Tip>Referencia API: [Obtener extracción](/es/reference/matcher/retrieve-extraction) · [Consultar extracción](/es/reference/matcher/poll-extraction)</Tip>

### Actualizar conexiones disponibles

Cuando se agregan nuevas fuentes de datos a Fetcher, active una actualización para que Discovery las detecte.

```bash theme={null}
curl -X POST "https://api.matcher.example.com/v1/discovery/refresh" \
  -H "Authorization: Bearer $TOKEN"
```

<Tip>Referencia API: [Actualizar conexiones](/es/reference/matcher/refresh-discovery)</Tip>

## Mejores prácticas

***

<AccordionGroup>
  <Accordion title="Siempre pruebe las conexiones antes de extraer">
    Una extracción fallida a mitad de ejecución es más difícil de recuperar que una prueba fallida. Pruebe cada conexión antes de crear una extracción — especialmente al conectar a una fuente nueva o después de una rotación de credenciales.
  </Accordion>

  <Accordion title="Inspeccione esquemas antes de mapear campos">
    Los nombres de campos varían entre sistemas. Un banco puede llamar a la fecha de transacción `value_date` mientras su ledger usa `posting_date`. Verifique el esquema antes de configurar mapeos de campos para evitar discrepancias silenciosas.
  </Accordion>

  <Accordion title="Monitoree extracciones activamente para conjuntos de datos grandes">
    Las extracciones grandes toman tiempo. No asuma que se completaron — consulte el estado de la extracción y confirme el conteo de registros antes de iniciar una ejecución de conciliación. Iniciar una ejecución con datos incompletos genera excepciones incorrectas.
  </Accordion>

  <Accordion title="Actualice conexiones cuando las fuentes cambien">
    Discovery no escanea nuevas conexiones automáticamente. Cuando se agrega un nuevo procesador de pagos o se incorpora una nueva base de datos a Fetcher, active una actualización. De lo contrario, Discovery no mostrará la nueva fuente.
  </Accordion>

  <Accordion title="Delimite las extracciones al período de conciliación">
    Use parámetros de rango de fechas para extraer solo los datos relevantes para el período de conciliación actual. Extraer datos sin acotar aumenta el tiempo de procesamiento y puede traer registros que pertenecen a contextos ya cerrados.
  </Accordion>
</AccordionGroup>

<Note>
  En modo multi-tenant, Matcher se autentica con Fetcher usando credenciales machine-to-machine (M2M) por tenant. Estas credenciales se gestionan a través de AWS Secrets Manager y se cachean automáticamente. Ver [Modo Multi-Tenant](/es/matcher/configuration/matcher-multi-tenant#m2m-credentials-fetcher-integration) para detalles de configuración.
</Note>

## Próximos pasos

***

<CardGroup cols={2}>
  <Card title="Fuentes externas" icon="building-columns" href="/es/matcher/integrations/matcher-external-sources">
    Configure las fuentes de datos externas a las que Discovery se conecta.
  </Card>

  <Card title="Mapeo de campos" icon="arrows-left-right" href="/es/matcher/configuration/matcher-field-mapping">
    Mapee campos de los datos extraídos al modelo de transacciones de Matcher.
  </Card>

  <Card title="Referencia API de Discovery" icon="code" href="/es/reference/matcher/discovery-status">
    Referencia completa de la API para los endpoints de Discovery.
  </Card>
</CardGroup>
