Integração
API de WhatsApp para Bubble
Conecte o Bubble ao WhatsApp pelo plugin API Connector, sem escrever código.
# Bubble → Plugins → API Connector → Add another API
Nome da API: Zapixo
Authentication: Private key in header
Key name: Authorization
Key value: Bearer SUA_CHAVE
## Shared headers
Content-Type: application/json
## Call: Enviar texto
Use as: Action
Method: POST
URL: https://zapixo.com.br/api/v1/messages/text
Body (JSON):
{
"instance": "<instancia>",
"number": "<numero>",
"text": "<texto>"
}
Desmarque Private em instancia, numero e texto para preenchê-los no workflow.
Clique em "Initialize call" para o Bubble aprender a resposta
(success, messageId) — a inicialização envia uma mensagem de verdade,
então use o seu próprio número.
## Como usar
Em qualquer workflow: Plugins → Zapixo - Enviar texto,
preenchendo os três campos com dados do seu banco.
Guarde a chave nos parâmetros privados do plugin — nunca em
campo visível no front, senão ela vaza para o navegador.No Bubble, o Zapixo entra sem código: o plugin API Connector faz o envio, e um backend workflow recebe o webhook das mensagens. Os dois são recursos do próprio Bubble.
Enviar funciona com o API Connector em qualquer app. Para receber, é preciso ligar o Workflow API nas configurações — confira se o seu plano do Bubble inclui backend workflows.
O que dá para fazer com Bubble e WhatsApp
Aviso a partir do app
Cadastro, agendamento ou pagamento dispara uma mensagem para o cliente, direto do workflow.
Mensagens no banco do Bubble
O webhook cria um registro para cada mensagem recebida, com número, nome e texto.
Disparo para uma lista
Um backend workflow percorre a lista com intervalo entre os envios, dentro do limite da API.
Atendimento pelo app
A equipe lê e responde as conversas numa página do próprio app.
Enviar mensagens pelo Bubble
Configure o API Connector
Em Plugins, instale o API Connector e adicione uma API. Em Authentication, escolha Private key in header, com Key name
Authorizatione Key valueBearer zpx_.... Assim a chave fica no servidor do Bubble e não vai para o navegador.Crie a chamada de envio
Os campos entre
< >viram parâmetros. Eles nascem marcados como Private — desmarque para poder preenchê-los no workflow:Name: Enviar texto Use as: Action Method: POST URL: https://zapixo.com.br/api/v1/messages/text Header: Content-Type: application/json Body (JSON): { "instance": "<instancia>", "number": "<numero>", "text": "<texto>" }Inicialize com o seu número
Initialize call faz uma chamada de verdade: a mensagem é enviada. Use uma instância conectada e o seu próprio número. O Bubble aprende a resposta (
success,messageId) e libera a ação nos workflows.Use em qualquer workflow
A ação aparece em Plugins › Zapixo - Enviar texto. Antes, limpe o telefone com
:find & replaceusando expressão regular, para mandar só dígitos com DDI e DDD.
Receber mensagens no Bubble
Ligue o Workflow API
Em Settings › API, marque Enable Workflow API and backend workflows. Depois, em Backend workflows, crie um API workflow — por exemplo,
whatsapp.Proteja o endereço com um token só dele
O Zapixo não manda o token do Bubble no header, então ele vai na própria URL, como
api_token. Gere em Settings › API um token exclusivo para isso: token do Bubble tem poder de administrador, e se vazar você apaga só ele.https://SEU-APP.bubbleapps.io/api/1.1/wf/whatsapp?api_token=TOKEN_SO_DO_WEBHOOK
Deixe o Bubble detectar os dados
Em Parameter definition, escolha Detect data. Durante a detecção, a URL no painel do Zapixo termina em
/initialize; mande uma mensagem para o número conectado e o Bubble passa a oferecer os campos —evente, dentro dedata, okeycomremoteJid,fromMeeid. Depois, volte a URL do painel para a versão sem/initialize.Filtre e grave
No workflow, use Only when
eventémessages.upsertefromMeé não. O número sai doremoteJidcom:split by (@)e:first item; o texto vem demessage›conversation.
Erros comuns e como resolver
- Mensagem enviada ao inicializar
- É o comportamento do Initialize call: ele faz a chamada de verdade. Inicialize sempre com o seu próprio número.
- Parâmetro que não aceita valor do workflow
- O parâmetro ficou marcado como Private no API Connector. Parâmetro privado só aceita o valor fixo digitado na chamada.
- Workflow rodando duas vezes
- Se o backend workflow não responder em até 10 segundos, o Zapixo tenta de novo, até 3 vezes. Antes de criar o registro, procure uma mensagem com o mesmo
ide só siga se a contagem for zero. - Consumo que dispara
- Cada webhook recebido roda o workflow e consome capacidade do plano. Coloque o Only when no próprio workflow, para que
fromMee evento errado parem logo no início. - Erro do Zapixo parando o workflow
- Marque Include errors in response and allow workflow actions to continue na chamada. Assim um
401,404ou502volta como dado e o workflow decide o que fazer.
Perguntas frequentes
Precisa de plugin pago para ligar o Bubble ao WhatsApp?
Não. O API Connector é o plugin gratuito do próprio Bubble, e basta ele para enviar.
Dá para receber mensagens em qualquer plano do Bubble?
Receber depende de backend workflows com o Workflow API ligado. Confira na página de planos do Bubble se o seu plano inclui.
A chave do Zapixo fica exposta no navegador?
Não, com Private key in header ela fica no servidor do Bubble. Só não coloque a chave em campo de página nem em parâmetro que não seja privado.
Consigo enviar para uma lista de clientes?
Sim, com Schedule API workflow on a list e um intervalo entre os itens, para ficar abaixo de 60 requisições por minuto.
O trial tem limite de mensagens?
Tem. Ao atingir o limite, a API responde 402 com o link para assinar.
Leia também
- Notificações transacionais no WhatsApp: pedido, boleto e entrega
Quais avisos automatizar no WhatsApp, quando disparar cada um, como escrever a mensagem e a estrutura técnica que garante que ninguém receba duas vezes.
- Webhook WhatsApp: como receber mensagens na sua aplicação
Aprenda a configurar webhooks para receber mensagens, atualizações de status e eventos de conexão do WhatsApp via Zapixo.