API para o seu sistema
API de WhatsApp para o seu sistema: REST e webhooks
Seu sistema e o seu WhatsApp não precisam de alguém no meio copiando e colando. Com a API, o seu sistema manda a mensagem, cria a campanha e lê o funil sozinho. E o painel avisa de volta na hora em que chega mensagem, muda o status da entrega ou o número cai.
- 7 dias grátis
- Resposta sempre em JSON
- Um acesso por sistema, com prazo
- Botão de testar dentro da conta
Funciona com
Os mesmos canais que você usa no painel, comandados pelo seu sistema.
Antes do código
O que o seu sistema pode fazer no WhatsApp, sozinho.
Escolha o que acontece no seu sistema e veja o que o painel faz. Embaixo de cada passo vai a chamada exata, para o seu programador já saber por onde começar.
-
A confirmação chega no WhatsApp da cliente
POST /api/messages/text -
A conversa ganha a etiqueta "Pago"
POST /api/contacts/{id}/tags -
O card vai para "Pedido pago" no funil
POST /api/contacts/{id}/kanban
Sem programador? As integrações recebem o aviso do seu sistema e montam a regra clicando, sem código. A API é para quando o seu sistema precisa mandar no painel.
Preço e tipo de número
Quanto custa a API de WhatsApp do Drope CRM: o plano já inclui, sem cobrança por chamada.
A API do Drope CRM, o CRM para WhatsApp, é uma API REST com 135 chamadas e webhooks que avisam o seu sistema. Ela vem no plano, a partir de R$ 29,90 por mês, sem cobrança por chamada. No número pelo QR code a mensagem não tem tarifa; no oficial, o WhatsApp cobra por mensagem entregue.
| Recurso | Número pelo QR codeo número que você já usa no celular | Número oficialaprovado pelo WhatsApp |
|---|---|---|
| Tarifa por mensagemNo oficial quem cobra é o WhatsApp, por mensagem entregue e conforme a categoria, direto na conta da empresa. | QR codeNão tem | OficialO WhatsApp cobra por mensagem entregue |
| Texto, mídia, etiqueta, funil e campanha | QR codeTem | OficialTem |
| Webhooks (avisos de saída) | QR codeTem | OficialTem |
| Mensagem aprovada (modelo) | QR codeNão tem | OficialTem |
| Lista de opções, enquete e grupos | QR codeTem | OficialNão tem |
| Botões e carrosselSaem nos dois tipos, só que não em todo número por QR code: GET /api/capabilities diz o que o seu faz. | QR codeNem em todo número | OficialTem |
| Comunidades, canais, contato, localização e PIX | QR codeNem em todo número | OficialNão tem |
| Falar com quem nunca te respondeu | QR codeTem | OficialSó com mensagem aprovada |
| Risco de bloqueio por automação | QR codeExiste: use intervalo e aqueça o número | OficialNão tem |
Serve para quem liga loja, sistema próprio ou ferramenta de automação ao WhatsApp. A API está no Starter, no Beginner, no Growth e no Business, e o que cada número da sua conta faz sai em GET /api/capabilities.
Antes da primeira chamada
Primeiros passos na API de WhatsApp: uma chamada e o que ela precisa.
curl -X POST https://dropecrm.com/api/messages/text \
-H "Authorization: Bearer SUA_CHAVE" \
-H "X-Device-Token: ACESSO_DO_NUMERO" \
-H "Content-Type: application/json" \
-d '{"to": "5511999998888", "text": "Seu pedido saiu."}'
{
"success": true,
"data": {
"message_id": "ID_DA_MENSAGEM"
}
}
- Endereço base https://dropecrm.com/api, seguido do recurso: /messages/text, /devices, /kanban/stages.
- Sua chave Vai em Authorization: Bearer. Crie uma por sistema, com permissões e validade.
- O número da chamada Quem age sobre um número leva o cabeçalho do número ou ?device_id= na URL.
- Limite por minuto A resposta diz quanto sobra. Ao passar, vem 429 com o tempo de espera.
- Erros No erro vem success false e uma mensagem em português. A lista completa de códigos fica no painel, na área de API.
Referência
Referência da API: cada chamada, recurso por recurso.
Cada linha é uma chamada de verdade, com o método e o endereço que você vai escrever no seu código.
Conexão e descoberta2 chamadas
Permissãodevices:read
Só o teste de conexão passa com qualquer acesso válido, sem permissão nenhuma marcada. A descoberta pede devices:read como qualquer outra chamada.
Números6 chamadas
Permissãodevices:readdevices:write
Os GET pedem a de ler; criar, conectar e remover pedem a de gerenciar.
Avisos de saída4 chamadas
Permissãowebhooks:manage
O aviso é sempre por número, um por número. Os eventos e a assinatura estão logo abaixo da referência.
Mensagens14 chamadas
Permissãomessages:send
Todas são POST e agem sobre um número. Os campos opcionais replyid, mentions, readchat, readmessages, delay, forward, track_source, track_id e async valem em cinco envios: texto, mídia (a enquete inclusive), botões, carrossel e lista, e só quando o número é dos conectados por QR code. No número oficial a API aceita os campos e depois os ignora: não mudam nada no envio. No modelo aprovado eles são descartados, e nos sete últimos desta lista, do cartão de contato ao botão de PIX, o corpo segue como veio, sem que a API monte esses campos: não conte com eles. Só o envio de texto tem os campos de prévia de link. Antes de contar com botões ou carrossel, confira o número em GET /api/capabilities.
Ligações2 chamadas
Só no número por QR code, e não em todosPermissãocalls:write
Cada chamada liga para um contato só, com limite por número, por minuto e por dia.
Etiquetas e contatos11 chamadas
Permissãocontacts:readcontacts:write
O contato nasce da conversa ou é criado pela API, um por vez ou em lote. O nome que você der vale no sistema inteiro.
Funil6 chamadas
Permissãokanban:readkanban:write
Ler as etapas e os leads pede a de ler; criar, editar e mover pedem a de gerenciar.
Campanhas5 chamadas
Permissãocampaigns:readcampaigns:write
Acompanhar pede a de ler; criar, pausar, retomar e excluir pedem a de gerenciar.
Grupos18 chamadas
Só no número por QR codePermissãogroups:readgroups:write
Listar, sincronizar e consultar informação e convite pedem a de ler; o resto pede a de gerenciar.
Comunidades2 chamadas
Só no número por QR code, e não em todosPermissãogroups:write
Canais26 chamadas
Só no número por QR code, e não em todosPermissãogroups:readgroups:write
Cada canal é identificado por id ou pelo endereço completo dele. Listar, consultar, pesquisar, ler mensagens e buscar atualizações pedem a de ler; o resto pede a de gerenciar.
Carrosséis25 chamadas
Permissãocarousels:readcarousels:writeinstagram:publish
Valem para a conta inteira e não pedem número de WhatsApp. Publicar o carrossel pede a permissão de publicar no Instagram, não a de carrossel. As chamadas de IA respondem com um andamento e consomem créditos.
Instagram15 chamadas
Permissãoinstagram:readinstagram:publish
Valem para a conta inteira e não pedem número de WhatsApp. Quem publica é o agendador, no minuto seguinte: acompanhe pelo status da publicação.
Nenhuma chamada com esse termo. Tente uma palavra do endereço ou do que a chamada faz.
Avisos de saída
Webhooks, os avisos de saída: o painel chama o seu endereço.
Cadastre um endereço por número e receba o evento na hora em que ele acontece. É o aviso de saída, que o seu programador conhece pelo nome de webhook.
Como chega
POST no seu endereço O corpo vai em JSON, no mesmo formato para os dois tipos de número: o evento, o número, a hora, os dados já organizados e, dentro de raw, o original que o WhatsApp mandou.
Assinatura
X-Drope-Signature: sha256=... HMAC-SHA256 do corpo BRUTO recebido, com o segredo que o cadastro devolveu. Vêm junto X-Drope-Event, com o nome do evento, X-Drope-Delivery-Id, o id da entrega que você guarda para recusar repetição, e X-Drope-Timestamp, a hora do envio.
Se o seu endereço estiver fora
5s · 30s · 5min · 30min A primeira tentativa sai na hora. Se ela falhar, vêm até quatro novas, nesses intervalos, cinco no total por entrega. Responda 2xx em até 10 segundos. Depois de 20 falhas seguidas o aviso é desligado sozinho e precisa ser religado.
Os quatro eventos4 eventos
Você escolhe quais quer receber no cadastro do aviso.
-
messages.receivedChegou mensagem no número: texto, mídia, resposta de botão ou resposta de lista. -
messages.statusA entrega de um envio mudou: enviada, entregue, lida, ouvida ou falhou. -
connectionO número conectou, está conectando ou caiu. -
qrSaiu um QR code novo para parear.
Perguntas frequentes
API de WhatsApp: as dúvidas mais comuns.
Dúvida sobre permissão, sobre o tipo de número ou sobre limite? Chama a gente.
O recomendado é sim. Existe o acesso da conta inteira, que passa em tudo, e o acesso por sistema, em que você marca as permissões e a validade. Se um vazar, você revoga só ele e os outros continuam rodando.
Chame GET /api/capabilities. Ele devolve, numa resposta só, os números da conta, o que cada um libera, as permissões do acesso em uso, o plano e os limites. É o mesmo mapa que esconde na tela o que o número escolhido não faz.
Dá. Um por vez ou até 1.000 por chamada, com nome, e-mail e campos. O nome que você der vira o nome do contato no sistema inteiro, e no número pelo QR code dá para salvar na agenda do celular. Também dá para aplicar etiqueta, mover de etapa no funil e conferir se um número tem WhatsApp antes de enviar.
Modelo aprovado só sai do oficial. Lista de opções, enquete e grupos só existem no número conectado por QR code, em qualquer um deles. Comunidades, canais, cartão de contato, localização e PIX também são só do QR code, e nem em todo número por QR code eles saem. Texto, mídia, etiqueta, funil, campanha e avisos de saída funcionam nos dois. Botões e carrossel também saem nos dois, só que não em todo número por QR code: confira o seu em GET /api/capabilities.
Existe, por conta e por minuto, em janela de 60 segundos. Assim que o acesso é aceito, a resposta já diz quanto ainda sobra, e ao estourar vem 429 com o tempo de espera. Algumas listas também têm teto próprio: 500 envios de campanha por página e, na leitura do funil, 2000 contatos por chamada, somando todas as etapas que você pedir de uma vez. Sem pedir nada, o funil devolve 500.
As do carrossel respondem com um andamento, e você acompanha em GET /api/carousels/jobs/{chave}, que segura a resposta por até 20 segundos. Publicar no Instagram também não sai dentro da chamada: entra na fila e o agendador publica no minuto seguinte.
Ela vem junto com o plano, a partir de R$ 29,90 por mês no Starter, sem cobrança por chamada. No número oficial, o WhatsApp cobra à parte cada mensagem entregue, conforme a categoria. No número pelo QR code não existe tarifa por mensagem.
Funciona. O número conectado pelo QR code envia texto, mídia, lista e enquete sem tarifa por mensagem, e botões e carrossel quando o número suporta (GET /api/capabilities diz). Para reduzir o risco de bloqueio, use intervalo entre envios e aqueça o número novo. Para volume com mensagem aprovada, ligue um número oficial na mesma API.
Tem: cada número avisa a sua URL quando chega mensagem, quando muda o status de uma entrega, quando a conexão cai ou volta e quando sai um QR code novo. O aviso vai assinado, e você escolhe os eventos no cadastro.
A API vem junto com o plano, não é compra por fora: ela está no Starter, no Beginner, no Growth e no Business. Em Preços você vê, plano a plano, quem tem a linha "API Rest". O Servidor MCP, que liga a sua IA na conta, é uma opção separada e pode estar ligada ou não no mesmo plano.
