Ver planos

WhatsApp

Gerencie conexões WhatsApp e envie mensagens programaticamente através da API Atys.

Acelere sua integração!

Baixe nossa coleção do Postman com todos os endpoints desta página pré-configurados.

Baixar coleção Postman 13 requisições · JSON · Collection v2.1
Importante: você precisa de um access_token válido para usar estes endpoints. Consulte a documentação de autenticação para obter seu token.
Esta é a API do WhatsApp não oficial (WhatsApp Web). Para o número verificado da sua empresa, com templates aprovados pela Meta, veja a API Oficial de WhatsApp.

Como funciona

A API WhatsApp da Atys permite que você gerencie conexões WhatsApp Web e envie mensagens através de canais conectados. Com esta API você pode:

Conectar WhatsApp

Gere QR codes para conectar números WhatsApp.

Gerenciar conexões

Crie, atualize e delete conexões WhatsApp.

Enviar mensagens

Envie mensagens de texto e arquivos via WhatsApp.

Listas e validações

Obtenha listas de contatos e grupos e valide números em massa.

1) Listar WhatsApps

Lista todas as conexões WhatsApp da sua conta com filtros opcionais.

GET https://api.atys.pro/api/whatsapps Listar conexões WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Acceptapplication/jsonTipo de resposta esperada

Parâmetros de query (opcionais)

ParâmetroTipoDescriçãoExemplo
filterstringBusca textual no nome ou número da conexão?filter=suporte
loggedbooleanFiltrar por status de conexão (true/false)?logged=true
orderBystringCampo para ordenação (padrão: id)?orderBy=name
orderModestringModo de ordenação: ASC ou DESC (padrão: ASC)?orderMode=DESC
perPageintegerItens por página (padrão: 100)?perPage=50
created_atJSON arrayIntervalo de datas de criação [início, fim]?created_at=["2025-01-01","2025-12-31"]
updated_atJSON arrayIntervalo de datas de atualização?updated_at=["2025-01-01","2025-12-31"]
Dica: você pode combinar múltiplos parâmetros. Exemplo: ?filter=vendas&logged=true&perPage=20&orderBy=name

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapps?filter=suporte&logged=true&perPage=20', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Accept': 'application/json'
  }
});

const data = await response.json();
console.log(data);

2) Gerar QR Code

Gera um QR code para conectar um número WhatsApp à plataforma. O QR code deve ser escaneado usando o aplicativo WhatsApp no celular.

POST https://api.atys.pro/api/whatsapp-qrcode Gerar QR code para conexão WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão WhatsApp
keystringSim*Número de telefone com código do país (formato: 5511999999999)
osstringSimSistema operacional (ex.: "Linux", "Windows", "Mac OS")
browserstringSimNavegador (ex.: "Chrome", "Firefox", "Safari")
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-qrcode', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 123,
    key: '5511999999999',
    os: 'Linux',
    browser: 'Chrome'
  })
});

const data = await response.json();
console.log(data);

3) Criar conexão WhatsApp

Cria uma nova conexão WhatsApp na plataforma.

POST https://api.atys.pro/api/whatsapp-create Criar nova conexão WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
namestringSimNome da conexão
keystringSimNúmero de telefone com código do país (formato: 5511999999999)

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-create', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    name: 'WhatsApp Suporte',
    key: '5511999999999'
  })
});

const data = await response.json();
console.log(data);

4) Atualizar conexão WhatsApp

Atualiza os dados de uma conexão WhatsApp existente.

POST https://api.atys.pro/api/whatsapp-update Atualizar conexão WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão a ser atualizada
keystringSim*Número de telefone com código do país (formato: 5511999999999)
namestringNãoNovo nome da conexão
new_keystringNãoNovo número (formato: 5511999999999) para atualizar a conexão
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.
Atenção: se você está atualizando a chave do WhatsApp, deve informar a chave antiga e a nova chave.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-update', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 123,
    key: '5511999999999',
    name: 'WhatsApp Vendas',
    new_key: '5511888888888'
  })
});

const data = await response.json();
console.log(data);

5) Deletar conexão WhatsApp

Remove uma conexão WhatsApp da plataforma.

POST https://api.atys.pro/api/whatsapp-delete Deletar conexão WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão a ser deletada
keystringSim*Número de telefone com código do país (formato: 5511999999999)
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.
Atenção: esta ação é irreversível. Ao deletar uma conexão WhatsApp, todas as conversas e mensagens associadas podem ser perdidas.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-delete', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 29,
    key: '5511999999999'
  })
});

const data = await response.json();
console.log(data);

6) Logout do WhatsApp

Desconecta uma sessão WhatsApp ativa, fechando a conexão com o WhatsApp Web.

POST https://api.atys.pro/api/whatsapp-logout Fazer logout de uma conexão WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão WhatsApp
keystringSim*Número de telefone com código do país (formato: 5511999999999)
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-logout', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 29,
    key: '5511999999999'
  })
});

const data = await response.json();
console.log(data);

7) Obter lista de contatos

Recupera a lista de contatos de uma conexão WhatsApp específica.

POST https://api.atys.pro/api/whatsapp-contact-list Obter lista de contatos do WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão WhatsApp
keystringSim*Número de telefone com código do país (formato: 5511999999999)
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-contact-list', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 123,
    key: '5511999999999'
  })
});

const data = await response.json();
console.log(data);

8) Obter lista de grupos

Recupera a lista de grupos de uma conexão WhatsApp específica.

POST https://api.atys.pro/api/whatsapp-group-list Obter lista de grupos do WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão WhatsApp
keystringSim*Número de telefone com código do país (formato: 5511999999999)
Obrigatoriedade: informe id OU key. Pelo menos um dos dois é obrigatório.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-group-list', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 123,
    key: '5511999999999'
  })
});

const data = await response.json();
console.log(data);

9) Verificar números no WhatsApp

Verifica se uma lista de números possui WhatsApp ativo. Útil para validação em massa de números.

POST https://api.atys.pro/api/whatsapp-check-on-whatsapp Verificar múltiplos números no WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros do body (JSON)

ParâmetroTipoObrigatórioDescrição
idintegerSim*ID da conexão WhatsApp que fará a verificação
keystringSim*Número de telefone com código do país (formato: 5511999999999)
numbersarraySimArray de números a verificar (formato: ["5511999999999", "5511888888888"])
are_groupsbooleanNãoSe os números são de grupos (padrão: false)

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/whatsapp-check-on-whatsapp', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 123,
    key: '5511999999999',
    numbers: ['5511999999999', '5511988888888']
  })
});

const data = await response.json();
console.log(data);

10) Enviar mensagem via WhatsApp

Para enviar mensagens via WhatsApp, utilize o endpoint de envio de mensagens. Este endpoint permite enviar mensagens de texto e arquivos.

Documentação completa: consulte a documentação de Envio de Mensagens para ver todos os detalhes, exemplos de código e parâmetros disponíveis.
POST https://api.atys.pro/api/api-send-message Enviar mensagem via WhatsApp

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Parâmetros principais

ParâmetroTipoObrigatórioDescrição
platformstringSimDeve ser whatsapp
sender_keystringSimNúmero do remetente (canal WhatsApp conectado)
contact_keystringSim Número do destinatário. Exemplo: para contato individual 5511999999999 e para grupo 5511999999999-1672123456 ou 5511999999999. Não é necessário @c.us, @g.us ou @s.whatsapp.net.
contact_is_groupbooleanSim Se o destinatário é um grupo (true) ou contato individual (false). Para grupos, o sender_key deve ser membro do grupo e ter permissão para enviar mensagens (não estar restrito por modo anúncio)
enqueuebooleanNãoSe true, enfileira a mensagem. Se false, envia imediatamente. (Padrão: true)
textstringSim*Texto da mensagem
filefileSim*Arquivo a ser enviado (imagem, PDF, vídeo, etc.)
* Importante: você deve fornecer text OU file. Pelo menos um dos dois é obrigatório.
Atenção — envio para grupos: se você está enviando uma mensagem para um grupo (contact_is_group: true), é obrigatório que o número do WhatsApp remetente (sender_key) seja membro do grupo de destino.

Validação automática: o sistema verifica se o remetente é membro do grupo antes de tentar enviar a mensagem. Se não for membro, a requisição retorna 400 Bad Request e a mensagem é marcada como falha por falta de autorização.

Modo anúncio: se o grupo estiver em modo anúncio (announce mode), apenas administradores podem enviar mensagens. O sistema também valida isso automaticamente. Se o remetente não for administrador em um grupo com modo anúncio ativo, a requisição retorna 400 Bad Request e a mensagem é marcada como falha por falta de autorização.
Envio de arquivos: para enviar imagem, PDF, vídeo ou outros documentos, use Content-Type: multipart/form-data e envie o campo file. Não defina o header Content-Type manualmente quando usar FormData; o navegador/cliente cuidará disso.

Exemplos de código — mensagem de texto

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/api-send-message', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    platform: 'whatsapp',
    sender_key: '5511999999999',
    contact_key: '5511988888888',
    contact_is_group: false,
    enqueue: true,
    text: 'Olá! Como posso ajudar?'
  })
});

const data = await response.json();
console.log(data);

Exemplos de código — mensagem com arquivo

Use multipart/form-data e envie file junto com os demais campos. Pelo menos text ou file deve ser enviado.

Exemplos de código

JavaScript (Fetch + FormData)
// Enviar arquivo com FormData
const formData = new FormData();
formData.append('platform', 'whatsapp');
formData.append('sender_key', '5511999999999');
formData.append('contact_key', '5511988888888');
formData.append('contact_is_group', 'false');
formData.append('text', 'Segue o documento solicitado');
formData.append('file', fileInput.files[0]); // arquivo do input type="file"

const response = await fetch('https://api.atys.pro/api/api-send-message', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Accept': 'application/json'
    // Não defina Content-Type aqui; o navegador define automaticamente
  },
  body: formData
});

const data = await response.json();
console.log(data);

11) Editar mensagem

Edita o conteúdo de uma mensagem de texto já enviada. A edição é propagada ao WhatsApp do destinatário (aparece como "editada") e o conteúdo é atualizado no Atys.

POST https://api.atys.pro/api/edit-message Editar o texto de uma mensagem enviada

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Request body

ParâmetroTipoObrigatórioDescrição
idintegerSimID interno da mensagem no Atys (não é o ID externo do WhatsApp)
textstringSimNovo conteúdo de texto da mensagem
Limitações: apenas mensagens com external_id (já confirmadas pelo provedor) podem ser editadas. A edição é suportada nos canais WhatsApp, WhatsApp Oficial e Minichat. A aceitação final depende do provedor (o WhatsApp permite editar mensagens recentes).

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/edit-message', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    id: 12345,
    text: 'Texto corrigido da mensagem'
  })
});

const data = await response.json();
console.log(data);

Resposta de sucesso

200 OK — mensagem atualizada
{
  "id": 12345,
  "text": "Texto corrigido da mensagem",
  "edited": true,
  "external_id": "3EB0XXXXXXXXXXXXXXXX",
  "company_channel_id": 87,
  "contact_channel_id": 4521,
  "message_type_id": 1,
  "updated_at": "2025-06-24T14:32:10.000000Z"
}

Erros possíveis

CódigoMensagemCausa
509Parâmetros inválidosid ou text ausentes no corpo da requisição
509Registro não encontradoNão existe mensagem com o id informado
509Mensagem sem ID externo, não é possível editar no WhatsAppA mensagem ainda não tem external_id (não confirmada pelo provedor)
401UnauthenticatedToken inválido, expirado ou ausente

12) Revogar / eliminar mensagem

Remove ou revoga uma ou mais mensagens. Permite remover apenas para você (somente no Atys) ou revogar para todos (apaga no WhatsApp do destinatário, exibindo "Esta mensagem foi apagada").

POST https://api.atys.pro/api/revoke-messages Revogar / eliminar mensagens

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Content-Typeapplication/jsonTipo do conteúdo enviado
Acceptapplication/jsonTipo de resposta esperada

Request body

ParâmetroTipoObrigatórioDescrição
idsarraySimLista de IDs internos das mensagens a remover/revogar
scopestringNãome (padrão) = remover apenas para mim · all = revogar para todos
remove_mediabooleanNãoSe true, também remove o arquivo de mídia associado (padrão: false)
Remover apenas para mim (scope: "me"): a mensagem é apagada somente no Atys. Não há chamada ao provedor — o destinatário continua vendo a mensagem no WhatsApp. O registro é excluído fisicamente da base.
Revogar para todos (scope: "all"): a mensagem é revogada no provedor e aparece como "Esta mensagem foi apagada" para o destinatário. A mensagem é marcada como revogada no Atys (ou excluída, se já estava revogada). Suportado em WhatsApp e WhatsApp Oficial. Instagram e Messenger não suportam revogação; Minichat e Telegram não estão habilitados.

Exemplos de código

JavaScript (Fetch API)
const response = await fetch('https://api.atys.pro/api/revoke-messages', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  },
  body: JSON.stringify({
    ids: [12345, 12346],
    scope: 'all',          // 'me' = só para mim · 'all' = para todos
    remove_media: false
  })
});

const data = await response.json();
console.log(data);

Resposta de sucesso

Retorna um array com a resposta do provedor para cada mensagem processada.

200 OK — mensagens revogadas
[
  {
    "Status": true,
    "Message": "Message revoked successfully"
  },
  {
    "Status": true,
    "Message": "Message revoked successfully"
  }
]

Erros possíveis

CódigoMensagemCausa
509Parâmetros inválidosids ausente/não-array, ou scope diferente de me/all
509Erro ao revogar mensagensFalha interna ao processar a revogação
401UnauthenticatedToken inválido, expirado ou ausente

13) Listar contact channels

Lista as conversas (contact channels) da empresa, com paginação, ordenação e um amplo conjunto de filtros. Pode incluir o contato relacionado e outras entidades através do parâmetro with.

GET https://api.atys.pro/api/contact-channels Listar conversas / contact channels

Headers obrigatórios

HeaderValorDescrição
AuthorizationBearer YOUR_ACCESS_TOKENToken de autenticação
Acceptapplication/jsonTipo de resposta esperada

Paginação, ordenação e inclusão

ParâmetroTipoDescriçãoExemplo
perPageintegerItens por página (padrão: 20)?perPage=50
orderBystringCampo de ordenação (padrão: id)?orderBy=last_message_at
orderModestringASC ou DESC (padrão: desc)?orderMode=DESC
withJSON arrayRelações a incluir. Use contact para trazer o contato relacionado?with=["contact","tags","sector","user"]
Incluir o Contact relacionado: por padrão a listagem retorna apenas o contact channel. Para trazer o contact aninhado (e outras relações), envie o parâmetro with como um array JSON, por exemplo ?with=["contact"].

Filtros disponíveis

FiltroParâmetro(s)Descrição
TextofilterBusca por nome/chave do canal e por nome/e-mail do contato
Etiqueta (tags)tags_ids, tags_operationtags_ids é um JSON com contactTags, ticketTags e crmBusinessTags. tags_operation: XAND (todas), XOR (qualquer) ou AND padrão
Setorsector_id, without_sectorFiltra por setor; without_sector=true traz os sem setor
Statusstatus_id, status_ids, show_all_statuses, include_closedPor padrão exclui Resolvidos/Cancelados/Spam/Banidos. status_ids é um array JSON
Canalchannel_type_id, channelable_type, channel_key, company_channel_idTipo de canal (1=Minichat, 2=WhatsApp, 3=WhatsApp Oficial, 4=Instagram, 5=Messenger, 6=Telegram)
Canal oficialchannel_type_id=3, ofc_window_min_minutes, ofc_window_max_minutesWhatsApp Oficial via channel_type_id=3; janela de atendimento (em minutos) por ofc_window_*
Atendenteuser_id, without_user, never_responded_attendantFiltra por atendente atribuído; sem atendente; nunca respondidos por atendente
Origemcontact_channel_origin_idFiltra por origem do contact channel
Datascreated_at, updated_at, last_message_atIntervalos como array JSON [início, fim]
Outrosis_group, muted, pinned, opened, only_unreadFiltros booleanos diversos (grupo, silenciado, fixado, aberto, apenas não lidos)

Exemplos de código

JavaScript (Fetch API)
const params = new URLSearchParams({
  with: JSON.stringify(['contact', 'tags', 'sector', 'user']),
  perPage: '20',
  orderBy: 'last_message_at',
  orderMode: 'DESC',
  channel_type_id: '2',   // 2 = WhatsApp
  sector_id: '3'
});

const response = await fetch(`https://api.atys.pro/api/contact-channels?${params}`, {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer SEU_ACCESS_TOKEN',
    'Accept': 'application/json'
  }
});

const data = await response.json();
console.log(data);

Resposta de sucesso

Resposta paginada (padrão do Laravel). Cada item inclui o contact quando solicitado via with.

200 OK — listagem paginada
{
  "current_page": 1,
  "per_page": 20,
  "total": 134,
  "data": [
    {
      "id": 4521,
      "company_id": 10,
      "contact_id": 980,
      "channel_type_id": 2,
      "name": "João Silva",
      "key": "5511988888888",
      "is_group": false,
      "sector_id": 3,
      "user_id": 7,
      "status_id": 67,
      "last_message_at": "2025-06-24T14:30:00.000000Z",
      "contact": {
        "id": 980,
        "name": "João Silva",
        "email": "joao@exemplo.com"
      },
      "tags": [],
      "sector": { "id": 3, "name": "Vendas" },
      "user": { "id": 7, "name": "Atendente 1" }
    }
  ]
}

Erros possíveis

CódigoMensagemCausa
401UnauthenticatedToken inválido, expirado ou ausente
403ForbiddenUsuário sem permissão para visualizar os canais filtrados

14) Erros comuns

401 Unauthenticated

Causa: token de autenticação inválido, expirado ou não fornecido.

Solução: obtenha um novo access_token através do endpoint de autenticação.

404 Registro não encontrado

Causa: o ID da conexão WhatsApp especificado não existe ou não pertence à sua conta.

Solução: verifique se o ID está correto usando o endpoint GET /api/whatsapps.

400 Bad Request

Causas possíveis:

  • Parâmetros obrigatórios não foram fornecidos ou estão em formato inválido.
  • Envio para grupos: o número do WhatsApp remetente (sender_key) não é membro do grupo de destino.
  • Modo anúncio: o grupo está em modo anúncio e o remetente não é administrador.

Solução:

  • Verifique se todos os parâmetros obrigatórios estão presentes e no formato correto.
  • Para grupos: certifique-se de que o sender_key é membro do grupo antes de enviar.
  • Para grupos em modo anúncio: use um sender_key que seja administrador do grupo.

Remetente não é membro do grupo

{
  "message": "Sender WhatsApp number is not a member of the group.",
  "sender_key": "5521999999999",
  "group_key": "120363123456789@g.us"
}

Grupo em modo anúncio e remetente não é admin

{
  "message": "Sender cannot send messages to this group. Group is in announce mode and sender is not an admin.",
  "sender_key": "5521999999999",
  "group_key": "120363123456789@g.us",
  "is_announce_mode": true
}

Dicas e boas práticas

Recomendações
  • Sempre valide números antes de enviar mensagens.
  • Mantenha suas conexões ativas e monitore o status.
  • Use nomes descritivos para suas conexões.
  • Armazene o QR code com segurança.
  • Implemente tratamento de erros apropriado.
  • Monitore logs de eventos no painel.
Limitações
  • Cada conexão suporta apenas um número WhatsApp.
  • QR codes expiram após alguns minutos.
  • Respeite as políticas do WhatsApp para evitar bloqueios.
  • Evite envio em massa não autorizado.
  • A sessão pode expirar por inatividade.
  • Não compartilhe suas credenciais de API.

Recebemos seu contato!

Um especialista da Atys vai falar com você em breve para agendar a demonstração.

Agendar demonstração

Em 20 minutos um especialista mostra a Atys na sua realidade.

BR +55