# Listar Conversas

> Retorna a lista de conversas externas da conta autenticada, com suporte a filtros por setor e responsável.

`GET https://crm.wavups.com/api/v1/account-external-conversation`

Página: https://crm.wavups.com/docs/api/conversas/listar

## Requisição

`GET https://crm.wavups.com/api/v1/account-external-conversation`

- `Token` (string, obrigatório, header):
  Seu token de autenticação.

### Query Parameters

- `accountChatSectorId` (string, query):
  Filtra conversas pertencentes a um setor específico. Informe o ID do setor.

- `leadOwner` (string, query):
  Filtra conversas pelo ID do usuário responsável pelo Lead da conversa. Também aceita `conversationOwnerId`.

---

## Resposta

Retorna um array de objetos de conversa, ordenados do mais recente para o mais antigo. Os campos internos `accountId`, `externalId`, `externalContactId`, `platformIntegrationId` e `updatedAt` são omitidos.

- `id` (string):
  Identificador único da conversa.

- `leadId` (string | null):
  ID do lead vinculado à conversa.

- `accountChatSectorId` (string | null):
  ID do setor de chat ao qual a conversa pertence.

- `contactName` (string):
  Nome do contato da conversa.

- `contactPhone` (string | null):
  Telefone do contato.

- `contactUsername` (string | null):
  Username do contato (ex: handle do Instagram ou nome de usuário do WhatsApp).

- `lastMessage` (object | null):
  Objeto JSON com os dados da última mensagem da conversa.

- `lastMessageAt` (string | null):
  Data e hora da última mensagem (ISO 8601).

- `unreadCount` (number):
  Quantidade de mensagens não lidas. Padrão: `0`.

- `status` (string):
  Status da conversa. Padrão: `active`.

- `state` (string | null):
  Estado atual do atendimento da conversa. Padrão: `NEW`. Valores possíveis:

  - `NEW`: conversa recém-criada, ainda não iniciada.
  - `AI_ANSWERING`: a IA está respondendo automaticamente ao contato.
  - `NEEDS_HUMAN`: a conversa precisa de atendimento humano.
  - `NO_RESPONSE`: o contato não respondeu.
  - `COMPLETED`: o atendimento foi concluído.
  - `ARCHIVED`: a conversa foi arquivada.

- `createdAt` (string):
  Data de criação da conversa (ISO 8601).

- `AccountCRMLead` (object | null):
  Objeto do Lead vinculado à conversa contendo os dados do responsável (`leadOwner`).

  Propriedades do Lead:
  - `id` (string):
  ID do Lead.
  
  - `leadOwner` (string | null):
  ID do usuário responsável pelo Lead/Conversa.
  
  - `LeadOwner` (object | null):
  Propriedades do responsável:
  - `User` (object | null):
  Propriedades do usuário:
  - `name` (string):
  Nome do usuário responsável.
  
  
  
  
  
  

- `PlatformIntegration` (object):
  Dados da integração de plataforma associada à conversa.

  Propriedades da integração:
  - `name` (string):
  Nome da plataforma de integração (ex: `WhatsApp`, `Instagram`).
  
  

- `accountLabelAssignments` (array):
  Lista de etiquetas atribuídas à conversa.

  Propriedades da etiqueta:
  - `AccountLabel` (object):
  Propriedades:
  - `id` (string):
  Identificador único da etiqueta.
  
  - `name` (string):
  Nome da etiqueta.
  
  - `color` (string):
  Cor da etiqueta em formato hexadecimal (ex: `#FF0000`).
  
  
  
  

---

### Exemplo de requisição

```bash GET /api/v1/account-external-conversation
curl --request GET \
  --url 'https://crm.wavups.com/api/v1/account-external-conversation?accountChatSectorId=csector001' \
  --header 'Token: SEU_TOKEN_DE_API'
```

### Exemplo de resposta

```json 200
[
  {
  "id": "clxyz123",
  "leadId": "clead456",
  "accountChatSectorId": "csector001",
  "contactName": "Maria Silva",
  "contactPhone": "+5511999990000",
  "contactUsername": null,
  "lastMessage": { "type": "text", "text": "Olá, tudo bem?" },
  "lastMessageAt": "2025-10-01T14:30:00.000Z",
  "unreadCount": 2,
  "status": "active",
  "state": "NEW",
  "createdAt": "2025-09-15T10:00:00.000Z",
  "AccountCRMLead": {
  "id": "clead456",
  "leadOwner": "cuser789",
  "LeadOwner": {
  "User": {
  "name": "João Souza"
  }
  }
  },
  "PlatformIntegration": {
  "name": "WhatsApp"
  },
  "accountLabelAssignments": [
  {
  "AccountLabel": {
  "id": "clabel001",
  "name": "Urgente",
  "color": "#FF0000"
  }
  }
  ]
  }
]
```

```json 500
{
  "error": "Error to get external conversations"
}
```
