Skip to content

API Externa

A API do ChatDigi permite que sistemas externos enviem mensagens, consultem contatos e gerenciem tickets programaticamente. A tela de documentação interativa fica em Menu lateral → API Docs (rota /messagesAPI).

Requer plano com API Externa

A página só é acessível quando o plano inclui useExternalApi. Sem esse recurso no plano, o sistema redireciona para a tela inicial.

Tela de API Docs

Onde encontrar o Token de API

O token de autenticação da API fica associado a cada conexão WhatsApp, não à empresa como um todo.

Para encontrar o token:

  1. Vá em Menu lateral → Conexões.
  2. Clique no ícone de editar (lápis) da conexão desejada.
  3. No modal de edição, localize o campo Token — o valor gerado automaticamente é o token da API para aquela conexão.
  4. Copie o token (há botão de cópia).

Token por conexão

Cada conexão WhatsApp tem seu próprio token. As mensagens enviadas via API usam a conexão cujo token foi informado.

Autenticação

Todas as requisições usam autenticação via Bearer Token no header HTTP:

http
Authorization: Bearer SEU_TOKEN_AQUI
Content-Type: application/json

Exemplo com curl:

bash
curl -X POST "https://SUA_URL/api/messages/send" \
  -H "Authorization: Bearer SEU_TOKEN_AQUI" \
  -H "Content-Type: application/json" \
  -d '{"number":"5585999999999","body":"Olá!"}'

URL base da API

https://SUA_URL/api/messages

Onde SUA_URL é o endereço do seu servidor ChatDigi (o mesmo usado para acessar o sistema pelo navegador).

Endpoints disponíveis

Mensagens

MétodoCaminhoDescrição
POST/sendEnvia mensagem de texto ou mídia (suporta grupos)
POST/send/linkImageEnvia imagem a partir de uma URL
POST/send/noTicketEnvia mensagem sem criar ticket
POST/send/bulkEnvio em lote com delay configurável
POST/send/buttonsEnvia mensagem interativa com botões
POST/checkNumberVerifica se um número está no WhatsApp
GET/connectionsLista conexões ativas da empresa

Contatos

MétodoCaminhoDescrição
GET/contactsLista todos os contatos
GET/contacts/{contactId}Retorna um contato específico
POST/contactsCria um novo contato
PUT/contacts/{contactId}Atualiza dados de um contato
DELETE/contacts/{contactId}Remove um contato

Tickets

MétodoCaminhoDescrição
GET/ticketsLista tickets
GET/tickets/{ticketId}Retorna um ticket específico
POST/ticketsCria um novo ticket
PUT/tickets/{ticketId}Atualiza status ou dados do ticket
DELETE/tickets/{ticketId}Remove um ticket
POST/tickets/closeAllFecha todos os tickets
GET/messagesRangeBusca mensagens por intervalo de datas

Parâmetros principais por endpoint

POST /send — Enviar mensagem

json
{
  "number": "5585999999999",
  "body": "Olá! Como posso ajudar?",
  "userId": 1,
  "queueId": 2,
  "isGroup": false,
  "sendSignature": false,
  "closeTicket": false
}
ParâmetroTipoObrigat.Descrição
numberstringSimNúmero com DDD e DDI (sem +), ex: 5585999999999
bodystringSimTexto da mensagem
userIdnumberNãoID do atendente responsável
queueIdnumberNãoID da fila de destino
isGroupbooleanNãotrue para enviar a um grupo do WhatsApp
sendSignaturebooleanNãoIncluir assinatura do atendente
closeTicketbooleanNãoFechar o ticket após o envio

POST /send/bulk — Envio em lote

json
{
  "delay": 2000,
  "messages": [
    { "number": "5585999999999", "body": "Olá João!", "isGroup": false },
    { "number": "5585888888888", "body": "Olá Maria!", "isGroup": false }
  ]
}
ParâmetroTipoDescrição
delaynumberIntervalo em ms entre cada mensagem (evita bloqueios)
messagesarrayLista de objetos com number, body e isGroup

POST /contacts — Criar contato

json
{
  "name": "João Silva",
  "number": "5585999999999",
  "email": "joao@email.com"
}

POST /tickets — Criar ticket

json
{
  "contactId": 1,
  "status": "open",
  "queueId": 1,
  "userId": 1
}

Playground interativo

A tela de API Docs tem um Playground integrado que permite testar os endpoints diretamente pelo navegador, sem precisar de ferramentas externas como Postman.

Como usar o Playground

  1. Acesse Menu lateral → API Docs.
  2. No campo URL da API, confirme o endereço (preenchido automaticamente).
  3. No campo Token, cole o token obtido na sua conexão WhatsApp.
  4. Selecione o Endpoint desejado no seletor.
  5. Ajuste o Body (editor de JSON) conforme necessário.
  6. Clique em Enviar.
  7. A resposta aparece abaixo em formato JSON.

Playground da API

Abas do Playground

AbaConteúdo
BodyEditor JSON para o corpo da requisição
HeadersVisualização do header de autenticação gerado
Upload de MídiaUpload de arquivo para endpoints que suportam mídia

Histórico de requisições

O Playground mantém um histórico das últimas 50 requisições no sidebar esquerdo. Clique em qualquer item do histórico para recarregar os parâmetros e reenviar. É possível remover itens individuais ou limpar todo o histórico.

Códigos de resposta HTTP

CódigoSignificado
200 / 201Sucesso
400Requisição inválida (parâmetro faltando ou incorreto)
401Token inválido ou ausente
403Sem permissão (plano não inclui o recurso)
404Recurso não encontrado
500Erro interno do servidor

Problemas comuns

ProblemaCausa provávelSolução
Erro 401 em todas as requisiçõesToken incorreto ou expiradoCopiar novamente o token na tela de Conexões
Página redireciona para o inícioPlano sem useExternalApiVerificar plano com o suporte
Mensagem enviada mas sem ticket criadoEndpoint /send/noTicket usadoUsar /send para criar ticket junto
Número não reconhecidoFormato incorretoUsar apenas dígitos com DDI+DDD (ex: 5585999999999)