ZapFlowCentral de Ajuda

Desenvolvedores

Primeiros passos com a API REST

Endereço base, autenticação, limites e três chamadas prontas para listar contatos, mandar uma mensagem e aplicar uma tag.

Desenvolvedores com um token de API10 min
Onde ficaAPI & MCPAPI REST

Resposta rápida

A API fica em https://<endereço do seu ZapFlow>/api/v1. Mande o token no cabeçalho Authorization: Bearer zf_... em todas as chamadas. A documentação completa, com todos os endpoints e exemplos, abre no botão Documentação da tela API & MCP.

Antes de começar

  • Crie um token com as permissões que a integração precisa: veja Criar um token de API.
  • O endereço base aparece pronto para copiar no cartão API REST, em Base URL. Nos exemplos abaixo, troque https://app.metodox.com.br pelo endereço do seu ZapFlow.
O cartão API REST mostra a Base URL, a autenticação, o limite e os exemplos em cURL, JS e Python.12
  1. 1Novo token
  2. 2Documentação (Swagger)
O cartão API REST mostra a Base URL, a autenticação, o limite e os exemplos em cURL, JS e Python.

O básico

ItemValor
Base URLhttps://<seu ZapFlow>/api/v1
AutenticaçãoCabeçalho Authorization: Bearer zf_seu_token
FormatoJSON nas requisições e nas respostas
Limite1.000 requisições por minuto por token e 10.000 por minuto por projeto. Acima disso a resposta é 429 com retry_after (segundos) e os cabeçalhos Retry-After e RateLimit-*
DocumentaçãoBotão Documentação em API & MCP (abre em /api-docs)

O token age com o acesso de quem o criou: se essa pessoa só vê os próprios leads ou algumas linhas, a API respeita o mesmo recorte.

Exemplos

Listar contatos

bash
curl -H "Authorization: Bearer zf_seu_token" \
  "https://app.metodox.com.br/api/v1/contacts?limit=20&search=carolina"

A resposta traz data (os contatos) e pagination (page, limit, total, total_pages). Aceita também tag (nome da tag) e page. O limit vai até 100.

Mandar uma mensagem de texto

Primeiro descubra o identificador da linha que vai enviar:

bash
curl -H "Authorization: Bearer zf_seu_token" \
  "https://app.metodox.com.br/api/v1/instances"

Use o phone_number_id da linha escolhida como instance_id:

bash
curl -X POST "https://app.metodox.com.br/api/v1/messages/text" \
  -H "Authorization: Bearer zf_seu_token" \
  -H "Content-Type: application/json" \
  -d '{
    "instance_id": "PHONE_NUMBER_ID_DA_LINHA",
    "to": "5511987650001",
    "content": "Oi, Carolina! Sua vaga na aula ao vivo está garantida."
  }'

Texto livre só dentro da janela de 24 horas

A API só manda texto livre para quem escreveu para o projeto nas últimas 24 horas. Fora disso, ela responde 403 com outside_24h_window. Para esses casos, mande junto um template_fallback com o nome de um template aprovado (template_name, language e variables): a API envia o template no lugar. Veja Janela de 24 horas.

Aplicar uma tag a um contato

Liste as tags para pegar o id:

bash
curl -H "Authorization: Bearer zf_seu_token" \
  "https://app.metodox.com.br/api/v1/tags"

Depois aplique pelo telefone do contato:

bash
curl -X POST "https://app.metodox.com.br/api/v1/contacts/5511987650001/tags" \
  -H "Authorization: Bearer zf_seu_token" \
  -H "Content-Type: application/json" \
  -d '{ "tag_id": 12 }'

Aplicar uma tag pela API dispara os fluxos com o gatilho Tag Atribuída, como se a tag tivesse sido aplicada na tela.

O que mais dá para fazer

A documentação lista os endpoints agrupados por assunto: contatos e campos, tags e ações, mensagens (texto, imagem, documento, áudio), Kanban (mover card, destacar, trocar de quadro), fluxos e versões, linhas, opt-out e mais. Cada endpoint mostra o corpo esperado e as respostas possíveis.

Se algo der errado

RespostaCausa provávelO que fazer
401Token ausente, errado, expirado ou revogadoConfira o cabeçalho Authorization: Bearer ... e a validade do token
403 com outside_24h_windowO contato não falou com o projeto nas últimas 24 horasUse template_fallback com um template aprovado
403 em envioA linha não está liberada para quem criou o tokenLibere a linha em Acesso por linha ou use outra linha
404 em contatoO contato não existe neste projeto ou não está visível para quem criou o tokenConfira o telefone com DDI e DDD, e o acesso do criador do token
422Faltou um campo obrigatórioLeia a mensagem de erro: ela diz qual campo falta

Perguntas frequentes

A API usa a mesma base de contatos da tela?

Sim. Tudo o que a API cria ou altera aparece na tela, e vice-versa.

Existe webhook de saída, que avisa meu sistema quando algo acontece no ZapFlow?

Não há uma tela de webhooks de saída. Para avisar outro sistema, use o bloco Requisição HTTP dentro de um fluxo: veja Receber e enviar webhooks.

Dá para usar a API com n8n, Make ou Zapier?

Sim. Use o módulo de requisição HTTP dessas ferramentas com o cabeçalho Authorization: Bearer zf_....

Artigos relacionados

Criar um token de APIReceber e enviar webhooksConectar o ZapFlow ao Claude e a outros assistentes (MCP)Janela de 24 horas
Este artigo ajudou?