Integração

API de WhatsApp para Make (Integromat)

Crie cenários no Make para disparar mensagens WhatsApp.

// Make — HTTP module
URL: https://zapixo.com.br/api/v1/messages/text
Method: POST
Headers:
  Authorization: Bearer SUA_CHAVE
  Content-Type: application/json
Body:
{
  "instance": "marketing",
  "number": "{{1.phone}}",
  "text": "{{1.message}}"
}

No Make, o Zapixo entra por dois módulos nativos: HTTP › Make a request para enviar e Webhooks › Custom webhook para receber. Não precisa instalar app de terceiros.

O Make se chamava Integromat até 2022. Cenário, módulo e mapeamento continuam os mesmos, então tutorial antigo com esse nome ainda vale.

O que dá para fazer com Make (Integromat) e WhatsApp

  • Lead de formulário vira conversa

    O envio de um formulário dispara o cenário, e o lead recebe a primeira mensagem em segundos, enquanto ainda lembra de você.

  • Status de pedido

    Mudou o status na loja, o cenário avisa o cliente pelo WhatsApp: pago, separado, enviado.

  • Planilha como fila de envio

    Cada linha nova no Google Sheets vira uma mensagem, e o cenário marca a linha como enviada para não repetir.

  • Mensagem recebida no CRM

    O Custom webhook recebe a mensagem, e o cenário cria ou atualiza o contato no CRM com o histórico.

Enviar mensagens pelo Make (Integromat)

  1. Adicione o módulo HTTP

    Escolha HTTP › Make a request. URL https://zapixo.com.br/api/v1/messages/text, Method POST.

  2. Autentique pelo header

    Em Headers, adicione Authorization com o valor Bearer zpx_..., usando a chave do painel. Se vários cenários usam a mesma chave, guarde-a num lugar só, como uma variável ou um data store, e mapeie de lá. Assim trocar a chave não vira caça em cada cenário.

  3. Monte o corpo em JSON

    Body type Raw, Content type JSON (application/json), e no Request content:

    {
      "instance": "marketing",
      "number": "{{1.telefone}}",
      "text": "Oi {{1.nome}}, recebemos seu cadastro!"
    }
  4. Ligue Parse response

    Com Parse response ligado, os módulos seguintes enxergam success e messageId da resposta. Sem isso, a resposta chega como texto e não dá para mapear.

Receber mensagens no Make (Integromat)

  1. Crie o Custom webhook

    No primeiro módulo do cenário, escolha Webhooks › Custom webhook e clique em Add. O Make gera uma URL como https://hook.us1.make.com/.... A região no endereço varia conforme a conta.

  2. Cole a URL no painel

    No painel do Zapixo, abra a instância e cole essa URL em Webhook de mensagens.

  3. Determine a estrutura de dados

    Com o módulo esperando dados, mande uma mensagem de teste para o número conectado. O Make lê o que chegou e passa a oferecer os campos para mapear. Se a estrutura mudar, use Redetermine data structure.

  4. Mapeie os campos

    Cada mensagem chega como evento messages.upsert, no formato da Evolution API. Com o webhook como módulo 1, os campos ficam assim:

    {{1.event}}                      → messages.upsert
    {{1.data.key.remoteJid}}         → 5511999999999@s.whatsapp.net
    {{1.data.key.fromMe}}            → false
    {{1.data.pushName}}              → Maria
    {{1.data.message.conversation}}  → Oi, quero saber o preço
  5. Deixe o cenário ligado

    Ative o cenário com agendamento Immediately. Com o cenário desligado, o que chega não é processado na hora.

Erros comuns e como resolver

JSON quebrado por aspas no texto
O Make cola o valor mapeado dentro do JSON sem escapar. Se a mensagem tiver aspas ou quebra de linha, o corpo fica inválido e a API responde 400 com Invalid JSON. Monte o corpo com o módulo JSON › Create JSON e passe o resultado no Request content.
O cenário responde a si mesmo
O webhook também recebe mensagens enviadas pela própria instância. Elas chegam com fromMe: true. Coloque um filtro logo depois do webhook, com 1.data.key.fromMe igual a false. Aproveite o mesmo filtro para barrar grupo, que é todo remoteJid terminado em @g.us.
Número com máscara
O número vai só com dígitos, com DDI e DDD: 5511999999999. Limpe na hora de mapear com {{replace(1.telefone; /\D/g; "")}}.
Erro 429 em lista grande
A API aceita 60 requisições por minuto por chave. Com Iterator passando por uma lista grande, use Tools › Sleep entre os envios, ou divida em lotes. Um error handler Break no módulo HTTP guarda a execução que levou 429 para reprocessar.
Operações gastas à toa
Cada módulo executado conta como operação no plano do Make. Filtre cedo (fromMe, grupo) para não gastar operação com mensagem que o cenário vai descartar.
Erros 401 e 404
401: chave errada, revogada ou sem o Bearer na frente. 404: o valor de instance não bate com o nome da instância no painel.

Perguntas frequentes

Existe app do Zapixo no Make?

Não precisa. O módulo HTTP faz o envio e o Custom webhook recebe. Os dois são nativos do Make.

Make e Integromat são a mesma coisa?

São. O Integromat mudou de nome para Make em 2022, e cenários e módulos continuaram iguais.

Consigo enviar imagem pelo Make?

Sim, pelo endpoint /api/v1/messages/media, com mediaUrl (link público do arquivo) e caption opcional.

Por que meu cenário não recebe nada?

Confira três coisas: a URL no painel é a do Custom webhook e começa com https://, o cenário está ligado, e a mensagem de teste foi enviada para o número conectado à instância.

O trial tem limite de mensagens?

Tem. Ao atingir o limite, a API responde 402 com o link para assinar. Um error handler no módulo HTTP pode tratar esse caso.

Leia também