Documentação da API
Envie e receba mensagens de WhatsApp por HTTP: texto, mídia, grupos e eventos em tempo real por webhook. Cada exemplo tem cURL, Node.js e Python prontos para copiar.
- URL base
zap.lovazero.shop/api/v1- Autenticação
Bearer lzz_…- Formato
- JSON · UTF-8
Visão geral
A API do LovaZero Zap envia e recebe mensagens de WhatsApp por HTTP. Cada instância é um número conectado pelo QR Code (ou código de pareamento) no painel, com uma chave própria. Tudo é JSON em UTF-8.
- Compre uma ou mais instâncias no painel (PIX, ciclo de 30 dias).
- Abra a instância e conecte o número lendo o QR Code no WhatsApp do celular.
- Gere a chave da instância (ela aparece uma única vez) e guarde no seu servidor.
- Chame as rotas abaixo com a chave no cabeçalho.
API não oficial
O motor usa o protocolo do WhatsApp Web (biblioteca Baileys). Não é a API oficial do WhatsApp Business nem tem ligação com a Meta. O WhatsApp pode restringir ou banir números que mandam spam ou mensagens em massa não solicitadas, e esse risco é de quem usa o número. Uso para spam ou golpe leva ao cancelamento da instância. Leia os termos.
Autenticação
Toda chamada leva a chave da instância, de um destes dois jeitos (tanto faz qual):
A chave identifica a instância: a URL nunca leva id de sessão. Com duas instâncias, você tem duas chaves e usa a de cada número. A chave começa com lzz_, aparece inteira só na hora em que é gerada e pode ser trocada no painel a qualquer momento; a antiga para de funcionar na hora.
Guarde a chave numa variável de ambiente do seu servidor (os exemplos usam LZZ_CHAVE). Não coloque a chave em código que roda no navegador: quem abrir o site copia a chave e, forjando o Origin, passa pela trava de domínio (veja Domínios, IPs e CORS).
Sua instância
Diz de qual instância é a chave e como ela está. Responde mesmo com a instância vencida, suspensa ou desconectada.
/api/v1/instancia| status | O que quer dizer |
|---|---|
conectada | Pronta para enviar e receber. |
qr | Esperando a leitura do QR Code. |
conectando | O motor está subindo a sessão. |
desconectada | Nunca conectou ou saiu do aparelho; conecte de novo. |
expirada | Venceu e não foi renovada: as outras rotas respondem 402. |
suspensa | Suspensa pelo suporte: as outras rotas respondem 403. |
Formato do chatId
As rotas de mensagem apontam o destino pelo chatId:
- Contato: DDI + DDD + número, só dígitos, seguido de
@c.us. Ex.:5511988887777@c.us. - Grupo: o id do grupo, que termina em
@g.us. Ex.:120363025246125486@g.us(pegue em listar grupos).
No Brasil, alguns números antigos estão no WhatsApp sem o nono dígito. Na dúvida, confira com Verificar número: ele devolve o whatsappId certo para usar como chatId.
Algumas mensagens recebidas podem trazer o remetente como …@lid (id de privacidade do WhatsApp). Nesses casos o webhook traz também senderPhone com o telefone, quando o WhatsApp revela (senão, null). Para um id avulso, use GET /contacts/{contactId}/phone.
Conectar o número
A primeira conexão é feita no painel: ele cria a sessão e mostra o QR Code. Antes disso, as rotas respondem 409 instancia_nao_conectada. Depois, se o número cair, dá para pedir um novo QR ou um código de pareamento pela API.
QR Code
/api/v1/qrqrCode vem como imagem PNG em data URL (pode ir direto num <img src>). O QR muda a cada poucos segundos; consulte de novo enquanto o status for qr_ready.
Código de pareamento
/api/v1/pairing-codeAlternativa ao QR: no celular, abra WhatsApp → Aparelhos conectados → Conectar aparelho → Conectar com número de telefone e digite o código de 8 caracteres.
Corpo (JSON)
phoneNumberstringobrigatório- O número que vai conectar, só dígitos com DDI: 5511999999999.
Ligar, parar e sair
| Rota | O que faz |
|---|---|
POST /start | Sobe a sessão de novo (quando ela foi parada). |
POST /stop | Para a sessão sem desconectar o aparelho; o start volta sem QR. |
POST /logout | Desconecta o aparelho do WhatsApp. Para voltar, precisa de um novo QR ou código. |
Status da sessão nessas respostas: created, initializing, qr_ready, authenticating, ready, disconnected, action_required ou failed.
Enviar texto
/api/v1/messages/send-textCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. textstringobrigatório- O texto, até 4096 caracteres. Aceita a formatação do WhatsApp (*negrito*, _itálico_).
mentionsstring[]- Contatos mencionados (chatIds). Em grupo, escreva também
@5511988887777no texto. linkPreviewboolean- Gera a prévia do primeiro link do texto.
quotedMessageIdstring- Id de uma mensagem da conversa para aparecer citada (resposta).
Guarde o messageId: é com ele que você reage, responde, apaga ou acompanha a entrega (evento message.ack).
Enviar imagem
/api/v1/messages/send-imageCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. urlstring- Endereço público (https) do arquivo. O servidor baixa e envia. Use url ou base64.
base64string- O arquivo em base64 (sem o prefixo data:). Se vier junto com url, vale o base64.
mimetypestring- Tipo do arquivo, ex.:
image/jpeg. Obrigatório na prática quando manda base64. filenamestring- Nome do arquivo que aparece para quem recebe.
captionstring- Legenda, até 1024 caracteres.
mentionsstring[]- Contatos mencionados na legenda (chatIds).
quotedMessageIdstring- Id de uma mensagem da conversa para aparecer citada (resposta).
Prefira url: o corpo fica pequeno e o servidor baixa o arquivo. Em base64, o arquivo cresce cerca de um terço.
Enviar documento
/api/v1/messages/send-documentMesmos campos da imagem. Informe filename para o arquivo chegar com nome.
Enviar áudio e voz
/api/v1/messages/send-audioMesmos campos da imagem, mais ptt. Com "ptt": true o áudio chega como mensagem de voz (a bolinha do microfone); sem ele, como arquivo de áudio.
Campo a mais
pttboolean- true = mensagem de voz. Sem mimetype, o servidor assume audio/ogg; codecs=opus.
Mensagem de voz só toca se o arquivo for OGG com Opus. O motor não converte: um MP3 com ptt chega como bolinha que não toca. Converta antes (ex.: ffmpeg -i audio.mp3 -c:a libopus -ac 1 voz.ogg). GET /media/convert diz se a conversão no servidor está ligada ({"available": true}).
Enviar vídeo
/api/v1/messages/send-videoMesmos campos da imagem. Use MP4 (H.264 + AAC), o formato que o WhatsApp toca em todos os aparelhos.
Enviar localização
/api/v1/messages/send-locationCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. latitudenumberobrigatório- Latitude em graus decimais.
longitudenumberobrigatório- Longitude em graus decimais.
addressstring- Texto que aparece embaixo do mapa (até 1024 caracteres).
quotedMessageIdstring- Id de uma mensagem da conversa para aparecer citada (resposta).
Enviar contato
/api/v1/messages/send-contactCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. contactNamestringobrigatório- Nome do cartão de contato (até 255 caracteres).
contactNumberstringobrigatório- Telefone do contato, com DDI (até 30 caracteres).
quotedMessageIdstring- Id de uma mensagem da conversa para aparecer citada (resposta).
Responder mensagem
/api/v1/messages/replyResponde citando uma mensagem (o balão da original aparece em cima).
Corpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. quotedMessageIdstringobrigatório- Id da mensagem citada (o
data.iddo webhook). textstringobrigatório- O texto da resposta, até 4096 caracteres.
mentionsstring[]- Contatos mencionados (chatIds).
Reagir
/api/v1/messages/reactCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. messageIdstringobrigatório- Id da mensagem que recebe a reação.
emojistringobrigatório- O emoji. Para tirar a reação, envie vazio:
"".
Marcar como lida
/api/v1/chats/readManda o “visto” (os dois tiques azuis) para quem escreveu.
Corpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. messageIdsstring[]- Ids das mensagens recebidas a marcar (1 a 100). No Baileys o visto é por mensagem: sem esta lista, só a mais recente que o motor ainda tem na memória é marcada. Guarde os
data.iddo webhook e envie aqui.
Apagar mensagem
/api/v1/messages/deleteCorpo (JSON)
chatIdstringobrigatório- Quem recebe: contato
5511988887777@c.usou grupo…@g.us. Veja Formato do chatId. messageIdstringobrigatório- Id da mensagem enviada por este número.
forEveryoneboolean- Apaga para todos (padrão true). false apaga só neste aparelho.
O WhatsApp só deixa apagar para todos por um tempo depois do envio; passado esse prazo, a mensagem continua para quem recebeu.
Verificar número
/api/v1/contacts/check/{numero}Diz se um telefone tem WhatsApp e devolve o whatsappId para usar como chatId. Número só com dígitos e DDI.
Sem WhatsApp: "exists": false e "whatsappId": null. Não use esta rota para varrer listas de números: o WhatsApp trata isso como comportamento suspeito.
Listar conversas
/api/v1/chatsConversas ativas, com não lidas e última mensagem. Pagine com limit e offset. timestamp é em segundos.
Mensagens de uma conversa
/api/v1/messagesMensagens que o motor guardou desta instância, da mais nova para a mais antiga.
| Parâmetro | O que faz |
|---|---|
chatId | Só as mensagens desta conversa. |
limit | Quantas trazer (padrão 50). |
offset | Pula as primeiras N (paginação). |
after | Cursor: o id da última mensagem da página anterior. Mais estável que offset. |
Aqui o id é o registro interno; para reagir, responder ou apagar use o waMessageId. Mensagens com mídia trazem o arquivo em GET /messages/{chatId}/{messageId}/media.
Criar e listar grupos
/api/v1/groups/api/v1/groupsCorpo (JSON)
namestringobrigatório- Nome do grupo (até 100 caracteres).
participantsstring[]obrigatório- chatIds de quem entra (até 256). O número da instância vira admin.
Detalhes (participantes, admins, configurações): GET /groups/{groupId}. Link de convite: GET /groups/{groupId}/invite-code.
Participantes
| Rota | O que faz |
|---|---|
POST /groups/{groupId}/participants | Adiciona. |
DELETE /groups/{groupId}/participants | Remove. |
POST /groups/{groupId}/participants/promote | Torna admin. |
POST /groups/{groupId}/participants/demote | Tira de admin. |
Todas recebem {"participants": [chatIds]} (até 256) e respondem o resultado de cada um. O número da instância precisa ser admin do grupo.
Um item pode falhar sozinho (ex.: a pessoa só aceita entrar por convite): confira results[].success de cada número.
Nome, recado e foto
| Rota | Corpo | O que faz |
|---|---|---|
PUT /profile/name | {"name": "Loja Azul"} | Nome de exibição (até 25 caracteres). |
PUT /profile/status | {"status": "Atendimento das 9h às 18h"} | Recado (até 139 caracteres). |
PUT /profile/picture | {"url": "https://…/logo.jpg"} | Foto do perfil (url, ou base64 + mimetype). |
DELETE /profile/picture | — | Tira a foto. |
Criar e gerenciar
Webhook é o endereço do seu sistema que recebe um POST a cada evento (mensagem nova, entrega, conexão…). Há dois jeitos de configurar:
- No painel (Instância → Webhook): URL e eventos. Simples, sem assinatura.
- Pela API: além de URL e eventos, aceita
secret(assina cada entrega), cabeçalhos próprios e número de tentativas. Pode ter mais de um por instância.
/api/v1/webhooksCorpo (JSON)
urlstringobrigatório- Endereço público do seu sistema. Endereços internos (localhost, rede privada) e URL com usuário:senha são recusados com 400.
eventsstring[]- Eventos a receber (veja a lista abaixo). Padrão:
["message.received"].["*"]= todos. secretstring- Segredo de 16 a 255 caracteres. Com ele, cada entrega leva
X-OpenWA-Signature. Nunca é devolvido pela API. headersobject- Cabeçalhos extras enviados em cada entrega, ex.:
{"Authorization": "Bearer …"}. retryCountnumber- Tentativas por evento, contando a primeira (0 a 5, padrão 3).
| Rota | O que faz |
|---|---|
GET /webhooks | Lista os webhooks da instância. |
PUT /webhooks/{id} | Muda só o que vier (active: false pausa sem apagar). |
DELETE /webhooks/{id} | Apaga. |
POST /webhooks/{id}/test | Manda um evento test e diz o status que seu sistema respondeu. |
Eventos e payload
| Evento | Quando chega |
|---|---|
message.received | Chegou uma mensagem. |
message.sent | Saiu uma mensagem deste número. |
message.ack | Mudou a entrega de uma mensagem enviada: pending, sent, delivered, read ou failed. |
message.failed | Uma mensagem enviada falhou. |
message.revoked | Uma mensagem foi apagada para todos. |
message.reaction | Alguém reagiu (ou tirou a reação) a uma mensagem. |
message.edited | Uma mensagem foi editada. |
session.status | A sessão mudou de estado (qr_ready, ready, disconnected…). |
session.qr | Saiu um QR Code novo (data URL de PNG). |
session.authenticated | O número conectou. |
session.disconnected | O número desconectou (queda ou saída pelo celular). |
session.reconnect_loop | A sessão tenta voltar sem conseguir (a cada 5 tentativas). |
session.restriction | O WhatsApp restringiu a conta, ou tirou a restrição. |
presence.update | Alguém ficou online, está digitando ou gravando (precisa de POST /presence/subscribe antes). |
group.join | Entrou gente num grupo. |
group.leave | Saiu gente de um grupo. |
group.update | Mudou nome, descrição ou configuração de um grupo. |
group.join_request | Pediram para entrar num grupo que você administra. |
call.received | Chamada de voz ou vídeo tocando. |
call.accepted · call.rejected · call.missed | Como a chamada terminou. |
status.received | Um contato postou um status. Só chega se você pedir este evento (ou *). |
* | Todos os eventos acima. |
Toda entrega tem o mesmo envelope; o que muda é o data. Exemplo de mensagem recebida:
data.idé o id da mensagem: use em reagir, responder, apagar e marcar como lida.data.timestampé em segundos; otimestampde fora é a hora do envio do webhook.sessionIdé o id interno da sessão no motor (fixo por instância). Para separar números, use endereços diferentes ou guarde esse id.- Em grupo,
chatIdé o grupo eauthoré quem escreveu. Mensagens com mídia trazemmediacommimetypee o arquivo emdata(base64) quando é pequeno; arquivos maiores chegam com"omitted": truee você baixa emGET /messages/{chatId}/{messageId}/media.
Cabeçalhos de cada entrega
| Cabeçalho | O que é |
|---|---|
X-OpenWA-Event | O nome do evento. |
X-OpenWA-Idempotency-Key | Igual em todas as tentativas do mesmo evento: use para não processar duas vezes. |
X-OpenWA-Delivery-Id | Id da entrega. |
X-OpenWA-Retry-Count | 0 na primeira tentativa, 1 na segunda… |
X-OpenWA-Signature | Só com secret: sha256= + HMAC em hexadecimal. |
Entrega “pelo menos uma vez”
Responda com status 2xx em até 10 segundos. Resposta de erro, demora ou falha de rede geram nova tentativa, até o retryCount. Por isso o mesmo evento pode chegar mais de uma vez: ignore o que já processou pelo X-OpenWA-Idempotency-Key.
Assinatura HMAC
Com secret, cada entrega leva X-OpenWA-Signature: sha256=<hex>: um HMAC-SHA256 dos bytes exatos do corpo, usando o seu segredo. Calcule sobre o corpo cru (não sobre o JSON já convertido e reescrito) e compare em tempo constante. Sem secret, o cabeçalho não vem.
Erros
Erros da nossa porta de entrada vêm no formato {"erro": "codigo", "detalhe": "frase pronta"}. O detalhe pode ser mostrado ao usuário; decida pelo erro.
| Status | erro | Quando |
|---|---|---|
| 401 | chave_invalida | Chave ausente, errada, trocada ou de instância apagada. |
| 402 | instancia_expirada | A instância venceu. Renove no painel e a API volta na hora. |
| 403 | instancia_suspensa | A instância foi suspensa pelo suporte. |
| 403 | origem_nao_autorizada | A chamada não veio de um domínio ou IP liberado para a instância. |
| 404 | rota_desconhecida | Caminho ou método que a API não tem (confira em Todas as rotas). |
| 409 | instancia_nao_conectada | A instância nunca foi conectada. Conecte no painel. |
| 429 | limite_excedido | Passou do limite. Espere os segundos do cabeçalho Retry-After. |
| 503 | motor_indisponivel | O serviço de WhatsApp está fora do ar. Tente de novo em instantes. |
| 503 | motor_ocupado | Muita demanda no serviço agora. Espere o Retry-After (2 s) e tente de novo. |
| 504 | tempo_esgotado | O WhatsApp não respondeu em 60 segundos. Tente de novo. |
A ordem das checagens é: chave (401) → suspensa (403) → vencida (402) → conectada (409) → domínio/IP (403) → limite (429). Toda resposta leva X-Request-Id; mande esse valor quando falar com o suporte.
Erros do WhatsApp
Passando pela porta de entrada, a resposta vem do motor do WhatsApp, com o formato dele:
- 400: corpo inválido: campo obrigatório faltando, tipo errado ou campo que não existe (campos a mais são recusados). Também quando a sessão ainda não está ativa.
- 404: grupo, mensagem ou contato não encontrado.
- 409: a sessão não está pronta (conectando, sem internet no aparelho). Pode tentar de novo.
- 501: o recurso não existe no motor Baileys (marcado em Todas as rotas).
Domínios, IPs e CORS
No painel, cada instância pode limitar de onde vêm as chamadas. Lista vazia = sem restrição. Com regras, a chamada passa se bater em qualquer uma:
- Domínios: comparados com o
Originda chamada (ou oReferer, se não houver Origin), sem porta nem esquema.*.meusite.com.brvale para os subdomínios, não parameusite.com.br: cadastre os dois se precisar. - IPs: IPv4 ou IPv6 exatos, ou faixa IPv4 em CIDR (ex.:
198.51.100.0/24). - Até 20 domínios e 20 IPs por instância. Recusa = 403
origem_nao_autorizada.
A trava por domínio só impede outros sites de usarem a chave dentro de um navegador. Fora dele qualquer um inventa o Origin, então ela não protege uma chave que vazou. Para o seu backend, restrinja por IP. E, com as duas listas preenchidas, basta bater em uma: um Origin forjado passa mesmo vindo de um IP fora da lista.
CORS
O OPTIONS (preflight) responde 204 liberando Authorization, X-Api-Key e Content-Type. A resposta de verdade só leva Access-Control-Allow-Origin quando a chamada passou pelas restrições; aí também expõe X-Request-Id, Retry-After e Content-Disposition. Lembre: chave usada no navegador fica visível para quem abrir o site. Sempre que der, chame a API do seu servidor.
Limites
| Limite | Valor | Ao passar |
|---|---|---|
| Chamadas por segundo | 20 por instância | 429 com Retry-After: 1 |
| Chamadas por minuto | 600 por instância | 429 com Retry-After: 60 |
| Tempo de resposta do WhatsApp | 60 segundos | 504 tempo_esgotado |
| Arquivo de mídia (url ou base64) | 50 MB por arquivo | 413 Payload Too Large |
Esses limites protegem o serviço. Quem decide se o número é banido é o WhatsApp: mandar muitas mensagens iguais para quem não pediu é o caminho mais rápido para perder o número. Espalhe os envios no tempo e fale com quem quer ouvir de você.
Todas as rotas
Tudo o que a API aceita. Cada caminho vem depois de /api/v1 e usa a chave da instância, como nos exemplos acima. Qualquer outro caminho responde 404 rota_desconhecida.
Conexão
- POST
/logoutDesconecta o aparelho (vai precisar de novo QR).
- POST
/pairing-codeCódigo de 8 caracteres para conectar pelo número.
- GET
/qrQR Code atual para conectar.
- POST
/startSobe a sessão (depois de um stop).
- POST
/stopPara a sessão sem desconectar o aparelho.
Mensagens
- GET
/messagesMensagens guardadas (filtro por chatId, paginação).
- GET
/messages/{chatId}/{messageId}/mediaBaixa a mídia de uma mensagem.
- GET
/messages/batch/{batchId}Andamento de um lote.
- POST
/messages/batch/{batchId}/cancelCancela um lote em andamento.
- POST
/messages/click-buttonToca num botão de uma mensagem de empresa.
- POST
/messages/deleteApaga uma mensagem.
- POST
/messages/editEdita o texto de uma mensagem enviada.
- POST
/messages/forwardEncaminha uma mensagem para outra conversa.
- POST
/messages/pinFixa uma mensagem na conversa.
- POST
/messages/reactReage (ou tira a reação).
- POST
/messages/replyResponde citando uma mensagem.
- POST
/messages/send-audioEnvia áudio ou mensagem de voz (ptt).
- POST
/messages/send-bulkEnvia para vários destinos em lote (assíncrono).
- POST
/messages/send-contactEnvia cartão de contato.
- POST
/messages/send-documentEnvia documento.
- POST
/messages/send-imageEnvia imagem.
- POST
/messages/send-locationEnvia localização.
- POST
/messages/send-pollEnvia enquete.
- POST
/messages/send-productEnvia produto do catálogo (conta Business).
- POST
/messages/send-stickerEnvia figurinha (imagem vira WebP).
- POST
/messages/send-templateEnvia um modelo de texto salvo em /templates.
- POST
/messages/send-textEnvia texto.
- POST
/messages/send-videoEnvia vídeo.
- POST
/messages/starMarca ou desmarca com estrela.
- POST
/messages/unpinDesafixa.
Conversas
- GET
/chatsConversas ativas.
- DELETE
/chats/{chatId}/messagesLimpa as mensagens da conversa.
- POST
/chats/archiveArquiva ou desarquiva.
- POST
/chats/deleteTira a conversa da lista.
- POST
/chats/muteSilencia ou tira o silêncio.
- POST
/chats/pinFixa ou desafixa no topo.
- POST
/chats/readMarca como lida.
- POST
/chats/typingMostra “digitando…” ou “gravando…” (ou para).
- POST
/chats/unreadMarca como não lida.
Contatos
- GET
/contactsContatos.
- DELETE
/contacts/{contactId}Tira da agenda.
- GET
/contacts/{contactId}Um contato.
- PUT
/contacts/{contactId}Salva ou edita na agenda.
- DELETE
/contacts/{contactId}/blockDesbloqueia.
- POST
/contacts/{contactId}/blockBloqueia.
- GET
/contacts/{contactId}/phoneTelefone de um id @lid.
- GET
/contacts/{contactId}/profile-pictureFoto de perfil.
- GET
/contacts/blockedContatos bloqueados.
- GET
/contacts/check/{numero}O número tem WhatsApp?
- GET
/contacts/profile-picturesFotos de até 50 contatos de uma vez.
Grupos
- GET
/groupsGrupos do número.
- POST
/groupsCria grupo.
- GET
/groups/{groupId}Detalhes e participantes.
- PUT
/groups/{groupId}/descriptionMuda a descrição.
- GET
/groups/{groupId}/invite-codeCódigo e link de convite.
- POST
/groups/{groupId}/invite-code/revokeTroca o link de convite.
- POST
/groups/{groupId}/leaveSai do grupo.
- GET
/groups/{groupId}/membership-requestsPedidos para entrar.
- POST
/groups/{groupId}/membership-requests/approveAprova pedidos.
- POST
/groups/{groupId}/membership-requests/rejectRecusa pedidos.
- DELETE
/groups/{groupId}/participantsRemove participantes.
- POST
/groups/{groupId}/participantsAdiciona participantes.
- POST
/groups/{groupId}/participants/demoteTira de admin.
- POST
/groups/{groupId}/participants/promoteTorna admin.
- DELETE
/groups/{groupId}/pictureTira a foto.
- GET
/groups/{groupId}/pictureFoto do grupo.
- PUT
/groups/{groupId}/pictureTroca a foto.
- GET
/groups/{groupId}/settingsConfigurações (só admins, mensagens temporárias…).
- PUT
/groups/{groupId}/settingsAltera as configurações.
- PUT
/groups/{groupId}/subjectMuda o nome.
- POST
/groups/joinEntra por código de convite.
- GET
/groups/join-infoPrévia de um grupo pelo convite.
Perfil
- PUT
/profile/nameNome de exibição.
- DELETE
/profile/pictureTira a foto de perfil.
- PUT
/profile/pictureFoto de perfil.
- PUT
/profile/statusRecado.
Presença
- PUT
/presenceAparecer online ou offline.
- GET
/presence/{chatId}Última presença vista de uma conversa.
- POST
/presence/subscribePassa a receber presence.update de uma conversa.
Status (stories)
- GET
/statusStatus (stories) recebidos dos contatos.
- DELETE
/status/{statusId}Apaga um status seu.
- GET
/status/{contactId}Status de um contato.
- GET
/status/{statusId}/mediaMídia de um status.
- POST
/status/send-imagePosta status com imagem.
- POST
/status/send-textPosta status de texto.
- POST
/status/send-videoPosta status com vídeo.
- POST
/status/send-voicePosta status de voz.
Etiquetas
- DELETE
/labels/{labelId}Apaga etiqueta.
- PUT
/labels/{labelId}Cria ou edita etiqueta.
- POST
/labels/chat/{chatId}Põe etiqueta na conversa.
- DELETE
/labels/chat/{chatId}/{labelId}Tira etiqueta da conversa.
Canais
- POST
/channelsCria canal.
- DELETE
/channels/{channelId}Deixa de seguir.
- GET
/channels/{channelId}Um canal.
- POST
/channels/{channelId}/admins/demoteTira um admin do canal.
- POST
/channels/{channelId}/deleteApaga um canal seu.
- POST
/channels/{channelId}/muteSilencia ou tira o silêncio.
- POST
/channels/{channelId}/owner/transferPassa o canal para outra conta.
- POST
/channels/subscribeSegue um canal pelo convite.
Catálogo
- GET
/catalogCatálogo da conta Business.
- GET
/catalog/productsProdutos do catálogo.
- GET
/catalog/products/{productId}Um produto.
Chamadas
- POST
/calls/{callId}/rejectRecusa uma chamada tocando.
- POST
/calls/linkGera link de chamada.
Modelos de texto
- GET
/templatesModelos de texto salvos.
- POST
/templatesCria modelo.
- DELETE
/templates/{id}Apaga modelo.
- GET
/templates/{id}Um modelo.
- PUT
/templates/{id}Edita modelo.
Respostas automáticas
- GET
/automation-rulesRegras de resposta automática.
- POST
/automation-rulesCria regra de resposta automática.
- DELETE
/automation-rules/{ruleId}Apaga regra.
- GET
/automation-rules/{ruleId}Uma regra.
- PUT
/automation-rules/{ruleId}Edita regra.
Mídia
- GET
/media/convertA conversão de mídia no servidor está ligada?
- POST
/media/convert/videoConverte vídeo em MP4 que o WhatsApp toca.
- POST
/media/convert/voiceConverte áudio em mensagem de voz (OGG/Opus).
Webhooks
- GET
/webhooksWebhooks da instância.
- POST
/webhooksCria webhook.
- DELETE
/webhooks/{id}Apaga webhook.
- GET
/webhooks/{id}Um webhook.
- PUT
/webhooks/{id}Edita webhook.
- POST
/webhooks/{id}/testManda um evento de teste.
Ainda sem instância? Crie sua conta e conecte o número em poucos minutos.