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
Nome da instância (ex.:
$Instance_Name).Headers
| Nome | Obrigatório | Exemplo | Descrição |
|---|---|---|---|
token | sim (ou Authorization) | a1b2c3d4-... | TokenAccount ou TokenInstance. |
Query params
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
| HTTP | error.message | Quando ocorre |
|---|---|---|
| 400 | Instance name is required | :instance vazio. |
| 401 | Invalid token | Ver Autenticação. |
| 404 | Instance not found | Instância não existe na conta. |
| 500 | WhatsApp client not found for instance | Cliente desalocado. |
| 500 | WhatsApp client is not connected | Instância desconectada. |
| 500 | contact store not available (use a store that implements ContactStore, e.g. sqlstore) | Store sem suporte. |
| 500 | invalid number: <...> | ?number= malformado. |
| 500 | failed to get contacts: <...> / failed to get contact: <...> | Erro interno do WhatsMeow. |
Erro 400