> ## 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.

# Konversationen auflisten

> Alle Konversationen des authentifizierten Benutzers mit Filterung und Cursor-Paginierung auflisten

Dieser Endpunkt gibt eine Cursor-paginierte Liste von Konversationen zurück, die den Assistenten des authentifizierten Benutzers gehören. Verwende dies, um den Konversationsverlauf anzuzeigen, nach Typ zu filtern oder eine Integration mit deinem CRM durchzuführen.

<Note>
  Dieser Endpunkt verwendet Cursor-basierte Paginierung für eine bessere Performance bei großen Datensätzen. Verwende `next_cursor` und `prev_cursor`, um zwischen den Seiten zu navigieren.
</Note>

### Query-Parameter

<ParamField query="type" type="string" optional>
  Filtert Konversationen nach Typ. Mögliche Werte: `test`, `widget`, `whatsapp`, `api`
</ParamField>

<ParamField query="assistant_id" type="integer" optional>
  Filtert Konversationen nach Assistenten-ID (muss dem authentifizierten Benutzer gehören)
</ParamField>

<ParamField query="customer_phone" type="string" optional>
  Filtert Konversationen nach der Telefonnummer des Kunden (exakte Übereinstimmung). Nützlich, um alle Gespräche mit einem bestimmten Kunden zu finden.
</ParamField>

<ParamField query="whatsapp_sender_phone" type="string" optional>
  Filtert Konversationen nach der WhatsApp-Absendernummer (exakte Übereinstimmung). Nützlich, um alle Gespräche von einer bestimmten WhatsApp-Business-Nummer zu finden.
</ParamField>

<ParamField query="external_identifier" type="string" optional>
  Filtert Konversationen nach einer externen Kennung. Nützlich, um Konversationen zu finden, die mit Datensätzen in deinem externen System verknüpft sind.
</ParamField>

<ParamField query="per_page" type="integer" optional>
  Anzahl der Konversationen pro Seite (1-100, Standard: 15)
</ParamField>

<ParamField query="cursor" type="string" optional>
  Cursor für die Paginierung. Verwende `next_cursor` oder `prev_cursor` aus einer vorherigen Antwort.
</ParamField>

### Antwort-Felder

<ResponseField name="data" type="array">
  <Expandable title="Eigenschaften">
    <ResponseField name="id" type="string">
      Die eindeutige UUID Kennung der Konversation
    </ResponseField>

    <ResponseField name="assistant_id" type="string">
      Die UUID des Assistenten, der diese Konversation führt
    </ResponseField>

    <ResponseField name="assistant_name" type="string">
      Der Name des Assistenten, der diese Konversation führt
    </ResponseField>

    <ResponseField name="type" type="string">
      Der Konversationstyp: `test`, `widget`, `whatsapp` oder `api`
    </ResponseField>

    <ResponseField name="variables" type="object">
      Benutzerdefinierte Variablen, die der Konversation zugeordnet sind (Schlüssel-Wert-Paare)
    </ResponseField>

    <ResponseField name="external_identifier" type="string">
      Die Kennung deines externen Systems für diese Konversation. Nur bei Konversationen vom Typ `api` vorhanden, wenn eine externe Kennung gesetzt wurde.
    </ResponseField>

    <ResponseField name="message_count" type="integer">
      Gesamtanzahl der Nachrichten in der Konversation
    </ResponseField>

    <ResponseField name="total_cost" type="number">
      Die Gesamtkosten der Konversation in USD
    </ResponseField>

    <ResponseField name="ai_enabled" type="boolean">
      Gibt an, ob KI-Antworten für diese Konversation aktiviert sind
    </ResponseField>

    <ResponseField name="created_at" type="string">
      Datum und Uhrzeit der Erstellung der Konversation
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      Datum und Uhrzeit der letzten Aktualisierung der Konversation
    </ResponseField>

    <ResponseField name="whatsapp_sender" type="object">
      Informationen zum WhatsApp-Business-Absender. Nur bei Konversationen vom Typ `whatsapp` vorhanden.

      <Expandable title="Eigenschaften von whatsapp_sender">
        <ResponseField name="name" type="string">
          Anzeigename des WhatsApp-Absenders (Unternehmensname)
        </ResponseField>

        <ResponseField name="phone" type="string">
          Telefonnummer des WhatsApp-Absenders
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="customer" type="object">
      Kundeninformationen. Nur bei Konversationen vom Typ `whatsapp` vorhanden.

      <Expandable title="Eigenschaften des Kunden">
        <ResponseField name="name" type="string">
          Name des Kunden (falls verfügbar)
        </ResponseField>

        <ResponseField name="phone" type="string">
          Telefonnummer des Kunden
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="next_cursor" type="string">
  Cursor zum Abrufen der nächsten Seite mit Ergebnissen. Übergib dies als Parameter `cursor` in deiner nächsten Anfrage. `null`, wenn keine weiteren Ergebnisse vorliegen.
</ResponseField>

<ResponseField name="prev_cursor" type="string">
  Cursor zum Abrufen der vorherigen Ergebnisseite. `null`, wenn dies die erste Seite ist.
</ResponseField>

<ResponseField name="per_page" type="integer">
  Anzahl der Elemente pro Seite
</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 Nach Kundentelefon filtern theme={null} theme={null}
  curl -X GET "https://app.famulor.de/api/user/conversations?customer_phone=+49123456789" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash Nach WhatsApp-Absender filtern 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();

  // Nächste Seite mit Cursor abrufen
  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()

  # Nächste Seite mit Cursor abrufen
  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 Antwort theme={null} theme={null}
  {
    "data": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
        "assistant_name": "Support Assistent",
        "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 Assistent",
        "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 Assistent",
        "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>

## Konversationstypen

| Typ        | Beschreibung                                            |
| ---------- | ------------------------------------------------------- |
| `test`     | Interne Testgespräche aus dem Assistenten-Testinterface |
| `widget`   | Konversationen aus dem Web-Chat-Widget                  |
| `whatsapp` | WhatsApp-Business-Konversationen                        |
| `api`      | Per API erstellte Konversationen                        |

## Filter-Parameter

Alle Filterparameter verwenden indizierte Spalten für eine effiziente Abfrage:

| Parameter               | Beschreibung                          | Anwendungsfall                                       |
| ----------------------- | ------------------------------------- | ---------------------------------------------------- |
| `type`                  | Nach Konversationstyp filtern         | Nur WhatsApp- oder Widget-Konversationen abrufen     |
| `assistant_id`          | Nach spezifischem Assistenten filtern | Gespräche für einen einzelnen Assistenten anzeigen   |
| `customer_phone`        | Nach Kundentelefonnummer filtern      | Alle Gespräche mit einem bestimmten Kunden finden    |
| `whatsapp_sender_phone` | Nach WhatsApp-Absendernummer filtern  | Alle Gespräche von einer Unternehmensnummer finden   |
| `external_identifier`   | Nach deiner externen ID filtern       | Konversationen mit deinen CRM-Datensätzen verknüpfen |

## WhatsApp-Konversationsdetails

Für WhatsApp-Konversationen enthält die Antwort zusätzliche Felder:

* **whatsapp\_sender**: Die Business-WhatsApp-Nummer, die das Gespräch geführt hat (Name und Telefonnummer deines WhatsApp-Absenders)
* **customer**: Der Kunde, der das Gespräch initiiert oder empfangen hat (dessen Name und Telefonnummer)

Diese Felder sind nur bei Konversationen vom Typ `whatsapp` vorhanden und helfen dir, die beteiligten Parteien zu identifizieren, wenn du eine Integration mit deinen CRM- oder Support-Systemen vornimmst.

## API-Konversationsdetails

Für über die API erstellte Konversationen kannst du beim Erstellen der Konversation einen `external_identifier` festlegen. Diese Kennung wird in der Antwort zurückgegeben und kann für Folgendes verwendet werden:

* Verknüpfung von Konversationen mit deinen CRM-Leads oder -Kontakten
* Nachverfolgung von Konversationen über deine internen Systeme hinweg
* Filterung von Konversationen nach deiner externen Referenz

## Anwendungsfälle

* **Analyse-Dashboard**: Anzeige von Konversationsmetriken und Trends
* **CRM-Integration**: Synchronisierung von Konversationsdaten mit deiner Kundendatenbank unter Verwendung von `external_identifier`
* **Kundensuche**: Finden aller Konversationen mit einem bestimmten Kunden über `customer_phone`
* **Qualitätsüberwachung**: Überprüfung des Konversationsvolumens nach Typ und Assistent
* **Abrechnungsprüfung**: Verfolgung der Konversationskosten in deinem Unternehmen

<Tip>
  Passende Seiten: [Introduction](/de/api-reference/introduction) und [Authentication Guide](/de/developers/authentication-guide) und [API Integration Examples](/de/developers/api-integration-examples).
</Tip>
