◂ Novidades
Nova feature

Descubra quais números têm WhatsApp antes de enviar

Novo endpoint POST /v1/contact/check e método checkContacts no SDK: higienize listas, evite disparos perdidos e reduza risco de bloqueio.

Todo bot, CRM ou automação esbarra no mesmo problema: parte da lista de contatos simplesmente não tem WhatsApp. Enviar para esses números queima cota, polui métricas e aumenta o risco de bloqueio da sua sessão.

Agora o Loce Zap resolve isso com uma chamada: você manda uma lista de telefones e recebe, para cada um, se existe conta no WhatsApp (e o JID normalizado pelo servidor).

Por que isso importa

  • Higieniza listas antes de campanhas: só dispara pra quem realmente pode receber.
  • Menos risco de bloqueio: enviar repetidamente para números inexistentes é um sinal clássico de spam.
  • Métricas honestas: a taxa de entrega para de ser distorcida por números inválidos.

Como usar

No SDK (npm loce-zap@0.3.0), o método novo é o checkContacts:

Node.js
const { results, summary } = await zap.checkContacts('minha-sessao', {
  phones: ['5564999999999', '5511888888888'],
});

console.log(summary); // { total: 2, exists: 1, notExists: 1 }

for (const contato of results) {
  if (contato.exists) {
    console.log(`${contato.phone} tem WhatsApp:`, contato.jid);
  }
}

Ou direto na API REST:

curl
curl -X POST https://apizap.loce.io/v1/contact/check \
  -H "Authorization: Bearer SUA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "SUA_SESSAO",
    "phones": ["5564999999999", "5511888888888"]
  }'

Cada item de results traz { phone, exists, jid, lid }, onde phone é exatamente o número enviado.

Limites por plano

Free

20/dia

contadas por número verificado

Premium

1.000/dia

pra operação em produção

PRO

5.000/dia

pra higienizar listas grandes

Máximo de 50 números por requisição. Ao estourar o limite diário, a requisição inteira é rejeitada com 429 e a mensagem informa quantas verificações restam.

Anti-ban por baixo do capô

A verificação consulta o WhatsApp em lotes pequenos, com intervalos aleatórios entre os lotes e trava de concorrência por sessão. É a mesma filosofia anti-ban da fila de envio de mensagens: comportamento humano, nunca rajada.

Comece agora

Bora integrar?

Plano grátis, SDK e API prontos pra produção.

Começar grátis