Chat
Listar contatos
Lista todos os contatos sincronizados ou consulta um número específico
GET
Listar contatos
Auth:
TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: sim
Descrição
Retorna a lista de contatos sincronizados noContactStore do WhatsMeow, são os contatos vindos da agenda do telefone principal: nome, push name, business name e telefone redacted.
Se ?number= for fornecido, devolve um único contato. Caso o número não esteja na agenda, ainda assim a resposta é 200 OK com contact.found = false.
Operação de leitura pura sobre o store local, não gera tráfego no WhatsApp.
Exemplos
Listar todos
Sem query params, retorna todos os contatos sincronizados noContactStore local da instância, com total indicando o tamanho da lista.
Número específico
Filtra por?number=5511999999999 (telefone internacional). Retorna o objeto contact único, com found=false quando o número não está na agenda sincronizada.
JID completo
Aceita o JID inteiro em?number=5511999999999@s.whatsapp.net quando você já possui o identificador completo (vindo de webhook ou outra resposta da API), evitando montar manualmente o sufixo.
Resposta de sucesso
Sem?number, retorna contacts (array) com todos os contatos sincronizados pela agenda + total. Com ?number=..., retorna apenas contact (objeto único). Cada item traz jid, lid (quando aplicável), os nomes disponíveis (first_name, full_name, push_name, business_name) e redacted_phone para casos em que só conhecemos o LID. O campo found indica se a entrada veio do store.
200 OK
Parâmetros de rota
string
obrigatório
Nome da instância (ex.:
$Instance_Name).Headers
Query params
string
Telefone internacional (
5511999999999) ou JID (5511999999999@s.whatsapp.net, ...@lid). Se fornecido, retorna apenas este contato.Notas e gotchas
found=falsecompush_namevazio eredacted_phonevazio normalmente significa que o número não tem WhatsApp ou nunca trocou mensagens com você.business_namesó é preenchido para contas WhatsApp Business verificadas.- Operações com mais de mil contatos podem demorar alguns segundos por causa do
context.WithTimeout(30s)aplicado aoGetAllContacts.
Respostas de erro
Erro 400