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

# Listar Conversas

> Listar todas as conversas do usuário autenticado com filtragem e paginação

Este endpoint retorna uma lista paginada de conversas pertencentes aos assistentes do usuário autenticado. Use isto para exibir o histórico de conversas, filtrar por tipo ou integrar com seu CRM.

<Note>
  Este endpoint requer autenticação. Passe sua chave API no cabeçalho `Authorization` como um token Bearer.
</Note>

### Parâmetros de Consulta

<ParamField query="type" type="string" optional>
  Filtrar conversas por tipo. Valores possíveis: `test`, `widget`, `whatsapp`, `api`
</ParamField>

<ParamField query="assistant_id" type="integer" optional>
  Filtrar conversas por ID do assistente (deve pertencer ao usuário autenticado)
</ParamField>

<ParamField query="date_from" type="string" optional>
  Filtrar conversas a partir desta data (formato YYYY-MM-DD)
</ParamField>

<ParamField query="date_to" type="string" optional>
  Filtrar conversas até esta data (formato YYYY-MM-DD)
</ParamField>

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

<ParamField query="page" type="integer" optional>
  Número da página (padrão: 1)
</ParamField>

### Campos da Resposta

<ResponseField name="data" type="array">
  <Expandable title="properties">
    <ResponseField name="id" type="string">
      O identificador UUID único da conversa
    </ResponseField>

    <ResponseField name="assistant_id" type="string">
      O UUID do assistente que gerencia esta conversa
    </ResponseField>

    <ResponseField name="assistant_name" type="string">
      O nome do assistente que gerencia esta conversa
    </ResponseField>

    <ResponseField name="type" type="string">
      O tipo da conversa: `test`, `widget`, `whatsapp` ou `api`
    </ResponseField>

    <ResponseField name="message_count" type="integer">
      Número total de mensagens na conversa
    </ResponseField>

    <ResponseField name="total_cost" type="number">
      O custo total da conversa em USD
    </ResponseField>

    <ResponseField name="ai_enabled" type="boolean">
      Se as respostas de IA estão habilitadas para esta conversa
    </ResponseField>

    <ResponseField name="created_at" type="string">
      A data e hora quando a conversa foi criada
    </ResponseField>

    <ResponseField name="updated_at" type="string">
      A data e hora quando a conversa foi atualizada pela última vez
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="current_page" type="integer">
  O número da página atual
</ResponseField>

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

<ResponseField name="total" type="integer">
  Número total de conversas que correspondem aos critérios
</ResponseField>

<ResponseField name="last_page" type="integer">
  O número da última página
</ResponseField>

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

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

  const data = await response.json();
  console.log(data.data); // Array de conversas
  ```

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

  response = requests.get(
      'https://suasofia.online/api/user/conversations',
      headers={'Authorization': 'Bearer YOUR_API_KEY'},
      params={
          'type': 'widget',
          'per_page': 10
      }
  )

  data = response.json()
  print(data['data'])
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Response theme={null}
  {
    "current_page": 1,
    "data": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "assistant_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
        "assistant_name": "Support Assistant",
        "type": "widget",
        "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",
        "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"
      }
    ],
    "first_page_url": "https://suasofia.online/api/user/conversations?page=1",
    "from": 1,
    "last_page": 5,
    "last_page_url": "https://suasofia.online/api/user/conversations?page=5",
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "active": false
      },
      {
        "url": "https://suasofia.online/api/user/conversations?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": "https://suasofia.online/api/user/conversations?page=2",
        "label": "2",
        "active": false
      }
    ],
    "next_page_url": "https://suasofia.online/api/user/conversations?page=2",
    "path": "https://suasofia.online/api/user/conversations",
    "per_page": 15,
    "prev_page_url": null,
    "to": 15,
    "total": 68
  }
  ```
</ResponseExample>

## Tipos de Conversa

| Tipo       | Descrição                                                       |
| ---------- | --------------------------------------------------------------- |
| `test`     | Conversas de teste internas da interface de teste do assistente |
| `widget`   | Conversas do widget de chat da web                              |
| `whatsapp` | Conversas do WhatsApp Business                                  |
| `api`      | Conversas criadas via API                                       |

## Casos de Uso

* **Dashboard de Análises**: Exibir métricas e tendências de conversas
* **Integração com CRM**: Sincronizar dados de conversas com sua base de clientes
* **Monitoramento de Qualidade**: Revisar volumes de conversas por tipo e assistente
* **Revisão de Cobrança**: Acompanhar custos de conversas em sua organização
