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

# Listar conversaciones

> Lista todas las conversaciones del usuario autenticado con filtrado y paginación por cursor

<Warning>
  **API de Famulor 1.0 (legado).** Esta página se aplica únicamente a Famulor 1.0 (`app.famulor.de`) y se conserva por compatibilidad. Para la plataforma actual, usa la [referencia de la API de Famulor 2.0](/es/api-reference/introduction).
</Warning>

Este endpoint devuelve una lista paginada por cursor de las conversaciones que pertenecen a los asistentes del usuario autenticado. Úsalo para consultar el historial de conversaciones, filtrar por tipo o integrar con tu CRM.

<Note>
  Este endpoint usa paginación basada en cursor para un mejor rendimiento con grandes volúmenes de datos. Usa `next_cursor` y `prev_cursor` para navegar entre páginas.
</Note>

### Parámetros de consulta

<ParamField query="type" type="string" optional>
  Filtra las conversaciones por tipo. Valores posibles: `test`, `widget`, `whatsapp`, `api`
</ParamField>

<ParamField query="assistant_id" type="integer" optional>
  Filtra las conversaciones por ID de asistente (debe pertenecer al usuario autenticado)
</ParamField>

<ParamField query="customer_phone" type="string" optional>
  Filtra las conversaciones por el número de teléfono del cliente (coincidencia exacta). Útil para encontrar todas las conversaciones con un cliente concreto.
</ParamField>

<ParamField query="whatsapp_sender_phone" type="string" optional>
  Filtra las conversaciones por el número de teléfono del expedidor de WhatsApp (coincidencia exacta). Útil para encontrar todas las conversaciones de un número de WhatsApp Business concreto.
</ParamField>

<ParamField query="external_identifier" type="string" optional>
  Filtra las conversaciones por un identificador externo. Útil para encontrar conversaciones vinculadas a registros de tu sistema externo.
</ParamField>

<ParamField query="per_page" type="integer" optional>
  Número de conversaciones por página (1-100, predeterminado: 15)
</ParamField>

<ParamField query="cursor" type="string" optional>
  Cursor de paginación. Usa `next_cursor` o `prev_cursor` de una respuesta anterior.
</ParamField>

### Campos de respuesta

<ResponseField name="data" type="array">
  <Expandable title="Propiedades">
    <ResponseField name="id" type="string">
      El UUID único de la conversación
    </ResponseField>

    <ResponseField name="assistant_id" type="string">
      El UUID del asistente que gestiona esta conversación
    </ResponseField>

    <ResponseField name="assistant_name" type="string">
      El nombre del asistente que gestiona esta conversación
    </ResponseField>

    <ResponseField name="type" type="string">
      El tipo de conversación: `test`, `widget`, `whatsapp` o `api`
    </ResponseField>

    <ResponseField name="variables" type="object">
      Variables personalizadas asociadas a la conversación (pares clave-valor)
    </ResponseField>

    <ResponseField name="external_identifier" type="string">
      El identificador de tu sistema externo para esta conversación. Solo está presente en conversaciones de tipo `api` si se definió un identificador externo.
    </ResponseField>

    <ResponseField name="message_count" type="integer">
      Número total de mensajes en la conversación
    </ResponseField>

    <ResponseField name="total_cost" type="number">
      El coste total de la conversación en USD
    </ResponseField>

    <ResponseField name="ai_enabled" type="boolean">
      Indica si las respuestas de IA están activadas para esta conversación
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Fecha y hora en que se creó la conversación
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Fecha y hora de la última actualización de la conversación
    </ResponseField>

    <ResponseField name="whatsapp_sender" type="object">
      Información sobre el expedidor de WhatsApp Business. Solo está presente en conversaciones de tipo `whatsapp`.

      <Expandable title="Propiedades de whatsapp_sender">
        <ResponseField name="name" type="string">
          Nombre visible del expedidor de WhatsApp (nombre de la empresa)
        </ResponseField>

        <ResponseField name="phone" type="string">
          Número de teléfono del expedidor de WhatsApp
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="customer" type="object">
      Información del cliente. Solo está presente en conversaciones de tipo `whatsapp`.

      <Expandable title="Propiedades de customer">
        <ResponseField name="name" type="string">
          Nombre del cliente (si está disponible)
        </ResponseField>

        <ResponseField name="phone" type="string">
          Número de teléfono del cliente
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="next_cursor" type="string">
  Cursor para obtener la siguiente página de resultados. Pásalo como parámetro `cursor` en tu próxima solicitud. `null` si no hay más resultados.
</ResponseField>

<ResponseField name="prev_cursor" type="string">
  Cursor para obtener la página de resultados anterior. `null` si es la primera página.
</ResponseField>

<ResponseField name="per_page" type="integer">
  Número de elementos por página
</ResponseField>

<RequestExample>
  ```bash cURL theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash Filter by customer phone theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/conversations?customer_phone=+49123456789" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash Filter by WhatsApp sender phone theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/conversations?whatsapp_sender_phone=+49987654321" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null} theme={null}
  const response = await fetch(
    'https://app.famulor.de/api/user/conversations?type=whatsapp&per_page=10',
    {
      headers: {
        'Authorization': 'Bearer YOUR_API_KEY'
      }
    }
  );

  const data = await response.json();

  // Fetch next page using cursor
  if (data.next_cursor) {
    const nextPage = await fetch(
      `https://app.famulor.de/api/user/conversations?cursor=${data.next_cursor}`,
      { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
    );
  }
  ```

  ```python Python theme={null} theme={null}
  import requests

  response = requests.get(
      'https://app.famulor.de/api/user/conversations',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      params={
          'type': 'whatsapp',
          'per_page': 10
      }
  )

  data = response.json()

  # Fetch next page using cursor
  if data.get('next_cursor'):
      next_response = requests.get(
          'https://app.famulor.de/api/user/conversations',
          headers={'Authorization': 'Bearer YOUR_API_KEY'},
          params={'cursor': data['next_cursor']}
      )
  ```
</RequestExample>

<ResponseExample>
  ```json 200 response theme={null} theme={null}
  {
    "data": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
        "assistant_name": "Support Assistant",
        "type": "widget",
        "variables": {
          "user_name": "Jane Smith",
          "plan": "premium"
        },
        "message_count": 12,
        "total_cost": 0.0045,
        "ai_enabled": true,
        "created_at": "2025-01-25 14:30:00",
        "updated_at": "2025-01-25 14:45:22"
      },
      {
        "id": "8d0f7780-8536-51ef-055c-f18fd2g01bf8",
        "assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
        "assistant_name": "Support Assistant",
        "type": "whatsapp",
        "variables": null,
        "message_count": 8,
        "total_cost": 0.0032,
        "ai_enabled": true,
        "created_at": "2025-01-25 10:15:00",
        "updated_at": "2025-01-25 10:28:45",
        "whatsapp_sender": {
          "name": "Acme Corp Support",
          "phone": "+14155551234"
        },
        "customer": {
          "name": "John Doe",
          "phone": "+14155559876"
        }
      },
      {
        "id": "9e1g8891-9647-62fg-166d-g29ge3h12cg9",
        "assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
        "assistant_name": "Support Assistant",
        "type": "api",
        "variables": {
          "lead_id": "12345",
          "source": "website"
        },
        "external_identifier": "crm-lead-12345",
        "message_count": 5,
        "total_cost": 0.0021,
        "ai_enabled": true,
        "created_at": "2025-01-25 09:00:00",
        "updated_at": "2025-01-25 09:15:30"
      }
    ],
    "path": "https://app.famulor.de/api/user/conversations",
    "per_page": 15,
    "next_cursor": "eyJpZCI6MTAwLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
    "prev_cursor": null
  }
  ```
</ResponseExample>

## Tipos de conversación

| Tipo       | Descripción                                                                 |
| ---------- | --------------------------------------------------------------------------- |
| `test`     | Conversaciones de prueba internas desde la interfaz de prueba del asistente |
| `widget`   | Conversaciones desde el widget de chat web                                  |
| `whatsapp` | Conversaciones de WhatsApp Business                                         |
| `api`      | Conversaciones creadas a través de la API                                   |

## Parámetros de filtrado

Todos los parámetros de filtrado usan columnas indexadas para consultas eficientes:

| Parámetro               | Descripción                                  | Caso de uso                                                |
| ----------------------- | -------------------------------------------- | ---------------------------------------------------------- |
| `type`                  | Filtrar por tipo de conversación             | Obtener únicamente conversaciones de WhatsApp o del widget |
| `assistant_id`          | Filtrar por asistente concreto               | Mostrar las conversaciones de un único asistente           |
| `customer_phone`        | Filtrar por número de teléfono del cliente   | Encontrar todas las conversaciones con un cliente concreto |
| `whatsapp_sender_phone` | Filtrar por número del expedidor de WhatsApp | Encontrar todas las conversaciones de un número de empresa |
| `external_identifier`   | Filtrar por tu ID externo                    | Vincular conversaciones con tus registros de CRM           |

## Detalles de las conversaciones de WhatsApp

En las conversaciones de WhatsApp, la respuesta incluye campos adicionales:

* **whatsapp\_sender**: el número de WhatsApp Business que llevó la conversación (nombre y número de teléfono de tu expedidor de WhatsApp)
* **customer**: el cliente que inició o recibió la conversación (su nombre y número de teléfono)

Estos campos solo están presentes en conversaciones de tipo `whatsapp` y ayudan a identificar a las partes implicadas al integrar con tu CRM o tus sistemas de soporte.

## Detalles de las conversaciones de API

En las conversaciones creadas a través de la API, puedes definir un `external_identifier` al crear la conversación. Este identificador se devuelve en la respuesta y puede usarse para:

* Vincular conversaciones con tus leads o contactos de CRM
* Hacer seguimiento de conversaciones a través de tus sistemas internos
* Filtrar conversaciones por tu referencia externa

## Casos de uso

* **Panel de analítica**: mostrar métricas y tendencias de conversaciones
* **Integración con CRM**: sincronizar datos de conversación con tu base de clientes usando `external_identifier`
* **Búsqueda de clientes**: encontrar todas las conversaciones con un cliente concreto mediante `customer_phone`
* **Control de calidad**: revisar el volumen de conversaciones por tipo y por asistente
* **Auditoría de facturación**: hacer seguimiento de los costes de conversación dentro de tu organización

<Tip>
  Páginas relacionadas: [Introducción](/es/api-v1/introduction) y [Guía de autenticación](/es/api-v1/authentication), y [Ejemplos de integración de la API](/es/api-v1/introduction).
</Tip>
