Tema Escuro
Chats
A API de chats permite gerenciar as conversas da sua empresa, incluindo listagem e transferência entre canais e atendentes.
Listar Chats
GEThttps://chat.mehub.app/api/v1/chatsRetorna todos os chats (conversas) da empresa autenticada, incluindo informações do contato e a última mensagem.
Headers
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | Sim | Token de autenticação. Ex: Bearer seu_token |
Query Parameters
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Não | Número da página. Default: 1 |
| per_page | integer | Não | Registros por página (máx: 100). Default: 20 |
| status | string | Não | Filtrar por status: entrance, waiting, finished |
| is_open | boolean | Não | Filtrar por chats abertos ou fechados |
| contact | string | Não | Filtrar por ID ou telefone do contato |
| tag | integer | Não | Filtrar por ID da tag |
| channel | string | Não | Filtrar por token do canal |
| attendant | integer | Não | Filtrar por ID do atendente |
Exemplo de requisição
bash
curl -X GET "https://chat.mehub.app/api/v1/chats?status=waiting&is_open=true" \
-H "Authorization: Bearer SEU_TOKEN"Response
json
{
"success": true,
"data": [
{
"id": 1,
"token": "abc123def456",
"is_open": true,
"status": "waiting",
"unreadCount": 3,
"contact": {
"id": 1,
"name": "Cliente João",
"phone": "5511900000000"
},
"lastMessage": {
"id": 42,
"content": "Olá, preciso de ajuda!",
"created_at": "2025-10-29T10:30:00.000000Z"
}
}
],
"pagination": {
"total": 15,
"per_page": 20,
"current_page": 1,
"last_page": 1
}
}Campos do Response
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | ID único do chat |
| token | string | Token identificador do chat |
| is_open | boolean | Se o chat está aberto (true) ou fechado (false) |
| status | string | Status: entrance (última mensagem foi nossa), waiting (última mensagem foi do contato), finished (atendimento finalizado, não recebe novas mensagens) |
| unreadCount | integer | Quantidade de mensagens não lidas |
| contact | object | Dados do contato vinculado |
| lastMessage | object | Última mensagem enviada |
Transferir Chat
POSThttps://chat.mehub.app/api/v1/chats/{token}/transferTransfere uma conversa para outro canal ou atendente. Você pode transferir apenas entre canais, apenas entre atendentes, ou ambos.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| channel | string | Sim | Token do canal de destino (16 caracteres) |
| attendant | integer | Não | ID do atendente de destino. Se não informado, vai para a fila de espera |
| message | string | Não | Mensagem interna de contexto (máx: 1000 caracteres). Visível apenas para a equipe |
Exemplo de requisição
bash
curl -X POST "https://chat.mehub.app/api/v1/chats/abc123def456/transfer" \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"channel": "xyz789abc123def4",
"attendant": 8,
"message": "Cliente precisa falar sobre reembolso. Pedido #12345."
}'Response
json
{
"success": true,
"message": "Conversa transferida com sucesso.",
"data": {
"chatToken": "abc123def456",
"channel": "xyz789abc123def4",
"attendant": 8
}
}Erros
json
{
"success": false,
"message": "Conversa ou canal não encontrado."
}json
{
"success": false,
"message": "Você não tem permissão para transferir conversas deste canal."
}json
{
"success": false,
"message": "O atendente informado não tem acesso ao canal de destino."
}Como funciona
Transferência no mesmo canal: Apenas troca o atendente responsável. O chat permanece o mesmo, mantendo todo o histórico.
Transferência para outro canal: Cria um novo chat no canal de destino, vincula o mesmo contato e inclui um link para o chat original.