Skip to main content
GET
Listar contatos
Auth: TokenAccount ou TokenInstanceRate-limit: Global (100/min) • Idempotente: sim

Descrição

Retorna a lista de contatos sincronizados no ContactStore 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 no ContactStore 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=false com push_name vazio e redacted_phone vazio normalmente significa que o número não tem WhatsApp ou nunca trocou mensagens com você.
  • business_name só é preenchido para contas WhatsApp Business verificadas.
  • Operações com mais de mil contatos podem demorar alguns segundos por causa do context.WithTimeout(30s) aplicado ao GetAllContacts.

Respostas de erro

Erro 400