Neste tópico, você entenderá melhor o que a API do WhatsApp Web JS pode fazer em relação a contatos. Para facilitar a compreensão, dividimos a abordagem em alguns pontos essenciais:
Para o WhatsApp Web, todo contato é simplesmente um chat! Pode parecer estranho, mas é assim que a plataforma trata os contatos. O WhatsApp utiliza o número de telefone como identificador para o chat. Sendo assim, ao acessar informações de contatos, a API segue a mesma lógica.
Qual a diferença entre getChats()
e getContacts()
?
getChats()
: retorna apenas os contatos com os quais você já teve uma conversa aberta.getContacts()
: retorna todos os contatos que possuem conta no WhatsApp, incluindo os contatos que participam de grupos dos quais você faz parte.A API do WhatsApp Web JS possui as mesmas limitações do WhatsApp Web, ou seja, não é possível:
Isso acontece porque o WhatsApp Web não tem acesso à agenda do seu celular. Dessa forma, a API também não pode realizar essas ações.
O método que retorna os contatos pode parecer confuso, pois, ao utilizá-lo, você pode ver um número maior de contatos do que os que realmente estão na sua agenda.
Isso ocorre porque o método getContacts()
também retorna os números dos participantes de grupos dos quais você faz parte.
📌 Exemplo prático:
Se você está em um grupo com 50 pessoas, todas elas serão listadas no retorno do método getContacts()
, mesmo que elas não estejam salvas na sua agenda.
Essa característica pode ser útil para identificar novos contatos dentro de grupos ou filtrar mensagens recebidas de desconhecidos.
🚀 Agora que você entendeu melhor como funciona a gestão de contatos no WhatsApp Web JS, explore os métodos disponíveis na API!
Essa API permite adicionar um novo contato à lista de contatos do WhatsApp.
URL Base: https://apiwhatsappweb.com/api/add-contact
Todas as solicitações devem ser feitas para esta URL base.
Para autenticar as solicitações, você deve incluir a chave API (apiKey) e a identificação da instância ID no cabeçalho (Header).
{
"apiKey": "Sua chave API aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"firstName": "Contato 1",
"lastName": "Sobrenome 1",
"phone": "554499999999"
}
const axios = require("axios"); let data = JSON.stringify({ "firstName": "Contato 1", "lastName": "Sobrenome 1", "phone": "554499999999" }); let config = { method: 'post', url: 'https://apiwhatsappweb.com/api/add-contact', headers: { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' }, data: data }; axios.request(config) .then((response) => console.log(response.data)) .catch((error) => console.log(error));
{
"success": true,
"message": "Contato adicionado com sucesso!",
"contact": {
"firstName": "Contato 1",
"lastName": "Sobrenome 1",
"phone": "554499999999"
}
}
{
"error": "Número de telefone inválido."
}
Essa API permite remover um contato da lista de contatos do WhatsApp.
URL Base: https://apiwhatsappweb.com/api/delete-contact
Para autenticar as solicitações, você deve incluir a chave API (apiKey) e a identificação da instância Id (identificação) no cabeçalho (Header).
{
"apiKey": "Sua chave Api aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"id": "INSTANCE_ID",
"phone": "554499999999"
}
Exemplos em Node.js, Python e C:
Atenção!
Remover um contato é uma ação irreversível. Certifique-se de que deseja excluir este contato antes de prosseguir.
Essa API permite obter a foto de perfil de um contato no WhatsApp.
URL Base: https://apiwhatsappweb.com/api/get-contact-image
Todas as solicitações devem ser feitas para esta URL base.
Para autenticar as solicitações, você deve incluir a chave API (apiKey) e a identificação da instância Id (identificação) no cabeçalho (Header).
{
"apiKey": "Sua chave Api aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"id": "INSTANCE_ID",
"phone": "554499999999"
}
const axios = require("axios"); let data = JSON.stringify({ "id": "INSTANCE_ID", "phone": "554499999999" }); let config = { method: 'post', url: 'https://apiwhatsappweb.com/api/get-contact-image', headers: { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' }, data: data }; axios.request(config) .then((response) => console.log(response.data)) .catch((error) => console.log(error));
import requests url = 'https://apiwhatsappweb.com/api/get-contact-image' headers = { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' } data = { "id": "INSTANCE_ID", "phone": "554499999999" } response = requests.post(url, headers=headers, json=data) print(response.json())
Essa API permite bloquear ou desbloquear um contato no WhatsApp.
URL Base:
https://apiwhatsappweb.com/api/block-unblock
Todas as solicitações devem ser feitas para esta URL base.
Para autenticar as solicitações, inclua a chave API (apiKey) e a identificação da instância Id (identificação) no cabeçalho (Header).
{
"apiKey": "Sua chave Api aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"id": "INSTANCE_ID",
"phone": "554499999999",
"action": "block" // "block" para bloquear, "unblock" para desbloquear
}
import requests url = 'https://apiwhatsappweb.com/api/block-unblock' headers = { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' } data = { "id": "INSTANCE_ID", "phone": "554499999999", "action": "block" } response = requests.post(url, headers=headers, json=data) print(response.json())
Essa API permite denunciar um contato no WhatsApp.
URL: https://apiwhatsappweb.com/api/report-contact
Todas as solicitações devem ser feitas para esta URL base.
Para autenticar as solicitações, inclua a Chave API (apiKey) e a Identificação da Instância (id) no cabeçalho (Header).
{
"apiKey": "Sua chave API aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"id": "INSTANCE_ID",
"phone": "554499999999",
"reason": "spam"
}
const axios = require("axios"); let data = JSON.stringify({ "id": "INSTANCE_ID", "phone": "554499999999", "reason": "spam" }); let config = { method: 'post', url: 'https://apiwhatsappweb.com/api/report-contact', headers: { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' }, data: data }; axios.request(config) .then((response) => console.log(response.data)) .catch((error) => console.log(error));
Essa API permite recuperar todos os contatos associados a uma instância do WhatsApp.
URL: https://apiwhatsappweb.com/api/contacts
Todas as solicitações devem ser feitas para esta URL base.
Para autenticar as solicitações, inclua a Chave API (apiKey) e a Identificação da Instância (id) no cabeçalho (Header).
{
"apiKey": "Sua chave API aqui",
"id": "A identificação da instância aqui"
}
O corpo da requisição deve ser um objeto JSON com a seguinte estrutura:
{
"id": "INSTANCE_ID" // ID da instância conectada ao WhatsApp
}
const axios = require("axios"); let data = JSON.stringify({ "id": "INSTANCE_ID" }); let config = { method: 'post', url: 'https://apiwhatsappweb.com/api/contacts', headers: { 'apiKey': 'Bearer Your_ApiKey', 'id': 'Your_Instance_ID_Here', 'Content-Type': 'application/json' }, data: data }; axios.request(config) .then(response => console.log(response.data)) .catch(error => console.error(error));