Integração ZapFlow × Metrito
ZapFlow é o primeiro parceiro nativo do Metrito. Esta integração é exclusiva e direta — a ZapFlow tem acesso privilegiado à nossa API de rastreamento, podendo conectar workspaces de seus usuários via OAuth, disparar eventos de rastreamento, criar registros de vendas e decodificar UTMs embutidas em mensagens do WhatsApp.
Visão Geral
A integração entre ZapFlow e Metrito é composta por quatro pilares:1. Conexão via OAuth
Por que OAuth e não API Key manual?
Pedir ao usuário que copie e cole uma API Key é uma barreira. Com OAuth, o fluxo é:- Usuário clica em “Conectar Metrito” dentro do ZapFlow
- É redirecionado para a tela de autorização do Metrito (já estará logado na maioria dos casos)
- Seleciona a workspace e clica em Autorizar
- Retorna ao ZapFlow com a API Key já gerada e armazenada automaticamente
Importante: o usuário precisa estar logado no Metrito para que a tela de consentimento seja exibida. Se não estiver, será redirecionado para o login e depois voltará automaticamente para a tela de autorização — o fluxo retoma sem intervenção.
Credenciais ZapFlow
As credenciais abaixo foram fornecidas pela equipe do Metrito exclusivamente para a ZapFlow:client_secret deve ser armazenado de forma segura no backend da ZapFlow. Nunca exponha-o no frontend.
Construindo a URL de autorização
Callback: trocando o código pela API Key
No endpointhttps://zapflow.io/metrito/callback (backend):
access_token é a API Key do usuário no Metrito. Use-a como Bearer token em todas as chamadas subsequentes.
2. Decodificação de Mensagens WhatsApp
Como funciona o rastreamento invisível do Metrito
O Metrito embute um identificador invisível nas mensagens do WhatsApp usando caracteres Unicode de largura zero:
Esses caracteres são completamente invisíveis para o usuário final, mas quando o ZapFlow recebe uma mensagem do WhatsApp, pode detectá-los e enviar ao Metrito para obter os UTMs e parâmetros da sessão original do lead.
Snippet: detectar e decodificar em uma mensagem
Exemplo de uso no handler de mensagens do ZapFlow
Resposta da API de decodificação
params e tracking_link_id serão null.
3. Nó de Automação Metrito
O ZapFlow possui um módulo de automações. O objetivo é ter um nó exclusivo “Metrito” que o usuário pode adicionar em qualquer fluxo para interagir com a plataforma.O que o nó deve fazer
- Seleciona qual ação executar (por enquanto: Disparar Evento)
- Escolhe um gatilho existente do tipo
api— listado diretamente da API do Metrito - Pode criar um novo gatilho caso não exista o que precisa
3.1 Buscando o Container do usuário
Antes de listar gatilhos, é necessário obter o container do Metrito associado à workspace do usuário. Use oworkspace_id retornado no OAuth.
GET /v3/tracking/containers/{container_id}:
Recomendação: no onboarding do nó Metrito, peça ao usuário seu Metrito Tracking Code (MTC). É curto, fácil de copiar e identifica o container v3 sem ambiguidade.
3.2 Listando Gatilhos disponíveis (tipo api)
3.3 Criando um novo Gatilho via API
Se o usuário quiser criar um novo gatilho diretamente pelo ZapFlow:
Apenas gatilhos do tipo api podem ser criados via API pública. Gatilhos de pageview, clique, scroll etc. são criados pela interface da plataforma.
3.4 Disparando um Evento de Rastreamento
Com o gatilho selecionado (ou recém-criado), dispare o evento quando a automação executar o nó:Diferença entre config.name e config.facebook.name
Se
config.facebook for omitido, o evento é registrado no Metrito mas não é enviado para a Meta. Isso é válido para eventos internos que não precisam de atribuição.
4. Webhook de Pedido (Registro de Venda)
Diferença em relação ao evento de rastreamento
Resumo: use o Webhook de Pedido quando quiser registrar que uma venda aconteceu. Use o evento de rastreamento para sinais de funil (lead, proposta, clique). Os dois podem coexistir numa mesma automação.
Onde encontrar a chave k
O parâmetro k não é a API Key OAuth. Ele é específico de uma conexão “Personalizado” criada pelo usuário na plataforma Metrito:
- Na plataforma, acesse Conexões → Adicionar Conexão → Personalizado
- Após criar, a URL completa do webhook (incluindo
?k=...) é exibida - Copie e use como destino para os webhooks de pedido
O ZapFlow pode armazenar essa chave k separadamente da API Key OAuth. São credenciais independentes.
Disparando um Webhook de Pedido
Status de transação e seus efeitos
O Metrito faz upsert automático pelo campotransaction.id. Se a mesma venda for enviada novamente com status atualizado (ex:pending→approved), o registro é atualizado e os impactos de receita são calculados corretamente.
5. Fluxo Completo: Da Mensagem à Venda
Este é o fluxo ideal de uma automação ZapFlow que usa todos os recursos Metrito:6. Resumo de Endpoints
URL base:
https://api.metrito.com
7. Boas Práticas
- Guarde a API Key por workspace: cada usuário ZapFlow que conectar o Metrito terá uma API Key diferente, vinculada à workspace que escolheu. Armazene-a associada ao ID de usuário ZapFlow.
- Use Idempotency-Key em POSTs: previne duplicatas em caso de retry automático. Use um UUID gerado por evento ou uma combinação de IDs únicos.
- Decodifique apenas se houver caracteres invisíveis: use
hasMetritoTracking()antes de chamar a API para evitar requisições desnecessárias. - Passe as UTMs em todos os eventos: quanto mais contexto de atribuição o Metrito receber, mais precisa será a atribuição de receita às campanhas do usuário.
- Use
mlidquando disponível: o Metrito Lead ID (mlid) nos UTMs tem prioridade máxima na atribuição. Se estiver nosparamsda decodificação, sempre inclua-o no webhook de pedido.