Integrações
Integração com n8n
Envie mensagens de WhatsApp a partir dos seus fluxos (workflows) do n8n. Por exemplo, envie uma mensagem para um novo lead vindo de um webhook, confirme um pedido da sua loja ou mande um alerta quando uma verificação falhar.
Há duas formas de conectar:
- O community node do Wbiztool (
n8n-nodes-wbiztool): nodes prontos, com campos para cada opção. - O node HTTP Request nativo: funciona em qualquer instância do n8n e dá acesso a todos os endpoints da API. Veja Usar o node HTTP Request.
Antes de começar#
- Uma conta do Wbiztool com um número de WhatsApp conectado nas configurações do WhatsApp.
- Seu Client ID e sua chave de API, em Configurações → Chaves API.
- O ID do Cliente WhatsApp do número que vai enviar, mostrado nas configurações do WhatsApp.
Instalar o community node#
Abra os community nodes
No n8n, acesse Settings → Community Nodes (configurações → community nodes) e clique em Install (instalar).
Digite o nome do pacote
Digite
n8n-nodes-wbiztool, confirme e instale. Reinicie o n8n se os nodes não aparecerem.
Em uma instância self-hosted, você também pode instalá-lo com npm na pasta de nodes personalizados do n8n:
npm install n8n-nodes-wbiztool
Criar a credencial#
Adicione uma nova credencial do tipo WbizTool API:
| Campo | Valor |
|---|---|
| Client ID | Seu API Client ID. |
| API Key | Sua chave de API. |
| WhatsApp Client ID | O número padrão de envio. A maioria dos nodes permite substituí-lo. |
| Base URL | Mantenha o padrão https://wbiztool.com/api/v1 (sem barra no final). |
Ao salvar, o n8n testa a credencial com Verificar credenciais.
Nodes#
O pacote adiciona estes nodes. Cada um chama um endpoint da API do Wbiztool e retorna a resposta da API.
| Node | O que faz | API |
|---|---|---|
| WbizTool Send Message | Envia um texto, uma imagem ou um arquivo para um número de telefone ou um grupo. | Enviar mensagem, Enviar para grupo |
| WbizTool Send Group Message | Envia uma mensagem para um grupo de WhatsApp pelo nome. | Enviar para grupo |
| WbizTool Send Multi Message | Envia a mesma mensagem para uma lista de números separados por vírgula. | Enviar para vários números |
| WbizTool Schedule Message | Agenda uma mensagem para uma data e hora. Veja o aviso abaixo. | Agendar mensagem |
| WbizTool Cancel Message | Cancela uma mensagem agendada pelo ID dela. | Cancelar mensagem |
| WbizTool Message Status | Consulta o status de uma mensagem pelo ID dela. Só uma mensagem Sent (enviada) retorna um item. Uma mensagem na fila, com falha, cancelada ou expirada interrompe o node com um erro como Created ou Failed; ative Continue On Fail para criar ramificações a partir disso. | Status da mensagem |
| WbizTool Check Credentials | Verifica se o seu Client ID e a sua chave de API funcionam. | Verificar credenciais |
| WbizTool List WhatsApp Clients | Lista os números de WhatsApp do seu espaço de trabalho. | Listar números conectados |
| WbizTool Create WhatsApp Client | Adiciona um número de WhatsApp ao seu espaço de trabalho, com uma URL de webhook opcional. | Conectar um número de WhatsApp |
| WbizTool WhatsApp Client Status | Verifica se um número de WhatsApp está conectado. | Status da conexão |
WbizTool Send Message#
| Campo | Observações |
|---|---|
| Target Type (tipo de destino) | Phone Number (número de telefone) ou Group (grupo). |
| Phone Number | Aparece com Phone Number. Mapeie-o a partir de nodes anteriores, por exemplo {{ $json.phone }}. |
| Country Code (código do país) | O padrão é 91. Altere para o código do país dos seus destinatários. Ele é adicionado na frente do número de telefone, a menos que o número já comece com ele. |
| Group Name (nome do grupo) | Aparece com Group. O nome exato de um grupo do qual seu número de WhatsApp participa. |
| Message Type (tipo de mensagem) | Text, Image with Text ou File with Text (texto, imagem com texto ou arquivo com texto). |
| Message Text (texto da mensagem) | A mensagem, com até 3.000 caracteres. |
| Image URL / File URL / File Name | Aparecem em mensagens de imagem e de arquivo. As URLs precisam ser públicas. |
| WhatsApp Client ID (Optional) | Deixe vazio para usar o número da credencial. |
| Additional Options (opções adicionais) | Expire After (Seconds) (expirar após, em segundos) e Webhook URL. |
O node retorna messageId (o msg_id da API). Guarde-o se quiser consultar o status ou cancelar a mensagem depois.
Exemplo de fluxo#
- O node Webhook recebe um novo lead com
phoneename. - WbizTool Send Message: defina Phone Number como
{{ $json.phone }}e Message Text comoHi {{ $json.name }}, thanks for signing up!. - Node IF: verifique se
{{ $json.messageId }}não está vazio para seguir para o próximo passo, como atualizar o seu CRM.
Um WbizTool Send Message bem-sucedido retorna um item como este:
{
"success": true,
"messageId": 9817263,
"status": 1,
"message": "Created",
"response": { "status": 1, "message": "Created", "msg_id": 9817263 }
}
O item também inclui um objeto input com os valores que o node enviou. Se a API retornar um erro, o node para e mostra o message da API. Ative Continue On Fail para receber, em vez disso, um item com success: false e o texto do error.
No WbizTool WhatsApp Client Status, use o método de verificação General Status. O método Status by ID retorna erro para todos os números por causa de um bug nesse endpoint da API. Com General Status, um número que não está conectado também interrompe o node com um erro Disconnected; por isso, ative a opção Continue On Fail do node se quiser criar ramificações com base no resultado.
Usar o node HTTP Request#
Adicione um node HTTP Request e configure-o assim:
| Configuração | Valor |
|---|---|
| Method | POST |
| URL | https://wbiztool.com/api/v1/send_msg/ |
| Authentication | None |
| Send Body | On |
| Body Content Type | JSON |
| Specify Body | Using JSON |
Depois cole um corpo como este e mapeie os valores dos nodes anteriores com expressões:
{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 0,
"country_code": "91",
"phone": "{{ $json.phone }}",
"msg": "Hi {{ $json.name }}, thanks for signing up!"
}
Uma chamada bem-sucedida retorna {"status": 1, "message": "Created", "msg_id": 9817263}. Todos os campos e mensagens de erro estão em Enviar mensagem.
Para chamar outros endpoints, altere a URL e o corpo. Por exemplo, para agendar uma mensagem, use https://wbiztool.com/api/v1/schedule_msg/ e adicione date no formato DD/MM/YYYY, time no formato HH:MM e timezone. Veja Agendar mensagem.
Para enviar a mesma mensagem para vários números ou grupos em uma única chamada, use https://wbiztool.com/api/v1/send_msg/multi/ e coloque os destinatários em phone como uma única string separada por vírgulas. Veja Enviar para vários números.
{
"client_id": 12345,
"api_key": "YOUR_API_KEY",
"whatsapp_client": 678,
"msg_type": 1,
"country_code": "91",
"phone": "{{ $json.phones }}",
"img_url": "https://example.com/offers/diwali-sale.jpg",
"msg": "Our Diwali sale starts tomorrow!"
}
Coloque só dígitos em cada número. Qualquer coisa que não seja um número inteiro, como 98765 43210, é enviada como nome de grupo.
Expressões do n8n funcionam em qualquer campo de texto. Por exemplo, uma saudação que depende da hora do dia ou um texto que depende do total do pedido:
{
"msg": "Good {{ $now.hour < 12 ? 'morning' : 'evening' }} {{ $json.name }}, your order total is {{ $json.total }}.{{ $json.total > 1000 ? ' Delivery is free.' : '' }}"
}
$now usa o fuso horário do fluxo (Workflow settings → Timezone), então defina-o para decidir quando termina a "morning" (manhã).
Ser avisado quando uma mensagem é enviada#
Crie um fluxo com webhook
Adicione um node Webhook com o método HTTP
POSTe copie a URL de produção dele.Informe a URL ao enviar
Coloque essa URL na opção Webhook URL do node ou no campo
webhookdo corpo da sua requisição HTTP.Leia o resultado
O Wbiztool chama a URL quando a mensagem é enviada ou falha. O corpo é form-encoded e contém apenas
msg_idestatus, que éSENTouFAILED.
Veja em Webhook como funcionam novas tentativas e timeouts.
Solução de problemas#
| Problema | O que verificar |
|---|---|
| O teste da credencial falha | Confira o Client ID e a chave de API em Configurações → Chaves API , se a Base URL não tem barra no final e se o WhatsApp Client ID da credencial é um número deste espaço de trabalho. |
Auth Error: invalid api key | A chave foi excluída ou pertence a outro espaço de trabalho. |
Invalid whatsapp client | O WhatsApp Client ID não corresponde a um número deste espaço de trabalho. |
Invalid phone number | O valor de telefone contém letras ou símbolos além de espaços, pontos, hífens, parênteses e +, ou tem menos de 6 ou mais de 17 dígitos. Mapeie um número só com dígitos, como 919876543210. |
Either phone or group_name parameter is required | O valor de telefone mapeado está vazio neste item. |
Invalid Contact Number "…" | O número tem mais de 15 dígitos depois que o código do país é adicionado. Verifique se o código do país não está sendo adicionado a um número que já tem um. |
Not enough credits | Seu plano não tem mais mensagens. |
| O node tem sucesso, mas a mensagem não é enviada | A mensagem aguarda na fila até que o seu número de WhatsApp esteja conectado. Verifique-a em Status da mensagem com o node HTTP Request ou no seu histórico de mensagens. O node WbizTool Message Status informa uma mensagem na fila como um erro chamado Created. |
