Skip to content

Chats ​

A API de chats permite gerenciar as conversas da sua empresa, incluindo listagem e transferência entre canais e atendentes.

Listar Chats ​

GET https://chat.mehub.app/api/v1/chats

Retorna todos os chats (conversas) da empresa autenticada, incluindo informações do contato e a última mensagem.

Headers ​

NomeTipoObrigatórioDescrição
AuthorizationstringSimToken de autenticação. Ex: Bearer seu_token

Query Parameters ​

NomeTipoObrigatórioDescrição
pageintegerNãoNúmero da página. Default: 1
per_pageintegerNãoRegistros por página (máx: 100). Default: 20
statusstringNãoFiltrar por status: entrance, waiting, finished
is_openbooleanNãoFiltrar por chats abertos ou fechados
contactstringNãoFiltrar por ID ou telefone do contato
tagintegerNãoFiltrar por ID da tag
channelstringNãoFiltrar por token do canal
attendantintegerNãoFiltrar 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 ​

CampoTipoDescrição
idintegerID único do chat
tokenstringToken identificador do chat
is_openbooleanSe o chat está aberto (true) ou fechado (false)
statusstringStatus: entrance (última mensagem foi nossa), waiting (última mensagem foi do contato), finished (atendimento finalizado, não recebe novas mensagens)
unreadCountintegerQuantidade de mensagens não lidas
contactobjectDados do contato vinculado
lastMessageobjectÚltima mensagem enviada

Transferir Chat ​

POST https://chat.mehub.app/api/v1/chats/{token}/transfer

Transfere uma conversa para outro canal ou atendente. Você pode transferir apenas entre canais, apenas entre atendentes, ou ambos.

CampoTipoObrigatórioDescrição
channelstringSimToken do canal de destino (16 caracteres)
attendantintegerNãoID do atendente de destino. Se não informado, vai para a fila de espera
messagestringNãoMensagem 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.