Mandapi/ Documentação

Contatos

Adicione, edite e remova contatos na agenda do WhatsApp, verifique se números têm WhatsApp, liste a agenda e consulte recado, foto e perfil comercial. Para enviar um contato (vCard), use POST /v1/messages/contact (em Mensagens).

Gere uma chave em Painel → API Keys. A chave fica só no seu navegador (localStorage) e nunca aparece nos exemplos de código.

Verificar números (têm WhatsApp?)

messages:read
POST/v1/contacts/check

Verifica quais números possuem conta no WhatsApp.

CampoTipoDescrição
phonesobrigatóriostring[]Números a verificar.

Resposta 200

[
  {
    "input": "5511999998888",
    "exists": true,
    "jid": "5511999998888@s.whatsapp.net"
  },
  {
    "input": "5500000000000",
    "exists": false,
    "jid": null
  }
]
curl -X POST "https://api.mandapi.net/v1/contacts/check" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "phones": [
    "5511999998888",
    "5500000000000"
  ]
}'
▶ Testar no sandbox

Adicionar / editar contato

messages:send
POST/v1/contacts

Adiciona (ou edita) um contato na agenda do WhatsApp do número conectado — sincroniza para a conta/aparelho.

CampoTipoDescrição
phoneobrigatóriostringNúmero do contato (E.164).
nameobrigatóriostringNome completo.
firstNamestringPrimeiro nome (padrão = name).

Resposta 200

{
  "jid": "5511999998888@s.whatsapp.net",
  "phone": "5511999998888",
  "name": "Ana Souza",
  "saved": true
}
curl -X POST "https://api.mandapi.net/v1/contacts" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE" \
  -H "Content-Type: application/json" \
  -d '{
  "phone": "5511999998888",
  "name": "Ana Souza",
  "firstName": "Ana"
}'

Excluir contato

messages:send
DELETE/v1/contacts/{phone}

Remove um contato da agenda do WhatsApp.

CampoTipoDescrição
phoneobrigatóriostringNúmero do contato.

Resposta 200

{
  "jid": "5511999998888@s.whatsapp.net",
  "phone": "5511999998888",
  "deleted": true
}
curl -X DELETE "https://api.mandapi.net/v1/contacts/exemplo_phone" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE"

Listar contatos

messages:read
GET/v1/contacts

Lista os contatos sincronizados do número. A agenda é sincronizada dos eventos do WhatsApp e preenche ao longo do tempo (mais completa após uma conexão nova).

Resposta 200

[
  {
    "jid": "5511999998888@s.whatsapp.net",
    "phone": "5511999998888",
    "name": "Ana"
  }
]
curl -X GET "https://api.mandapi.net/v1/contacts" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE"
▶ Testar no sandbox

Detalhe do contato

messages:read
GET/v1/contacts/{phone}

Existência no WhatsApp, recado (about), foto de perfil e perfil comercial (se houver).

CampoTipoDescrição
phoneobrigatóriostringNúmero do contato.

Resposta 200

{
  "jid": "5511999998888@s.whatsapp.net",
  "phone": "5511999998888",
  "exists": true,
  "about": "Disponível",
  "picture": "https://…jpg",
  "business": null
}
curl -X GET "https://api.mandapi.net/v1/contacts/exemplo_phone" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE"
▶ Testar no sandbox
phone

Recado (about) do contato

messages:read
GET/v1/contacts/{phone}/about

Retorna o texto de recado/status do contato.

CampoTipoDescrição
phoneobrigatóriostringNúmero do contato.

Resposta 200

{
  "about": "Disponível"
}
curl -X GET "https://api.mandapi.net/v1/contacts/exemplo_phone/about" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE"
▶ Testar no sandbox
phone

Foto do contato

messages:read
GET/v1/contacts/{phone}/picture

URL da foto de perfil do contato (null se privada/inexistente).

CampoTipoDescrição
phoneobrigatóriostringNúmero do contato.

Resposta 200

{
  "url": "https://…jpg"
}
curl -X GET "https://api.mandapi.net/v1/contacts/exemplo_phone/picture" \
  -H "Authorization: Bearer mapi_live_SUA_CHAVE"
▶ Testar no sandbox
phone