Webhooks de leads e sincronização com o Google Sheets

Captação de Leads

Entregue cada novo lead do flipbook ao seu próprio endpoint via webhook, dispare um payload de teste para verificá-lo e anexe leads a uma planilha do Google.

APIs usadas nesta discussão

Algo impreciso ou desatualizado neste guia?

O que você pode fazer

Quando um flipbook capta leads, você pode encaminhar cada novo lead para fora do FlipLink e para os seus próprios sistemas. Estes três endpoints permitem:

  • Definir um webhook de novo lead — uma URL que recebe um payload JSON para cada novo lead.
  • Testar o webhook — disparar um payload fictício para você verificar a entrega e o formato sem um lead real.
  • Sincronizar leads com o Google Sheets — anexar cada novo lead a uma planilha que você especificar.

Antes de começar

  • Uma chave de API — enviada como cabeçalho X-Api-Key ou como Authorization: Bearer YOUR_API_KEY em toda requisição.
  • O {flipbookId} — o ID numérico do flipbook, retornado por create-by-file / create-by-url (como ID) ou por list. Todos os três endpoints o recebem como parâmetro de caminho.
  • Todas as requisições vão para a URL base https://go.fliplink.me.
  • Os endpoints PUT (set-lead-webhook, set-lead-google-sheets) enviam o corpo como form-urlencoded (não JSON). O test-webhook não recebe corpo.

Defina o webhook de novo lead

Define uma URL de webhook que recebe cada novo lead (salva como o webhook de novo lead). Use o endpoint de teste abaixo para verificar se ele dispara.

curl -X PUT 'https://go.fliplink.me/api/set-lead-webhook/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'WebhookURL_NewLead=https://example.com/hooks/new-lead'

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Teste o webhook

Dispara um payload de TESTE para o webhook de leads configurado do flipbook, para você verificar o formato de entrega sem um lead real. Ele retorna ERROR "No lead webhook is configured for this flipbook." se nenhum estiver definido. O formato do payload corresponde a um lead real (chaves: pdf_id, pdf_name, lead_name, lead_email, lead_phone, lead_company, lead_date, lead_custom_1, lead_custom_2), mas carrega valores fictícios (pdf_id:"-1", pdf_name:"Test PDF", …). Nenhum lead real é armazenado e nenhum e-mail de notificação é enviado.

curl -X POST 'https://go.fliplink.me/api/test-webhook/96216' \
  -H 'X-Api-Key: YOUR_API_KEY'

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Sincronize leads com o Google Sheets

Conecta a captação de leads a uma planilha do Google — os novos leads são anexados à planilha que você especificar. A requisição envia três campos de formulário:

  • GoogleSheetURL — a URL de compartilhamento da planilha (o link que você obtém na caixa de diálogo Compartilhar do Google Sheets).
  • GoogleSheetIDKey — o ID da planilha (o identificador longo na URL da planilha, entre /d/ e /edit).
  • GoogleSheetName — o nome da aba (worksheet) onde anexar as linhas, por exemplo Sheet1.
curl -X PUT 'https://go.fliplink.me/api/set-lead-google-sheets/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'GoogleSheetURL=https://docs.google.com/spreadsheets/d/1A2B3C4D5E6F7G8H9I0J/edit?usp=sharing' \
  --data-urlencode 'GoogleSheetIDKey=1A2B3C4D5E6F7G8H9I0J' \
  --data-urlencode 'GoogleSheetName=Sheet1'

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Erros possíveis

  • Chave de API ausente ou inválida → HTTP 401. Isso retorna uma página HTML de Unauthorized simples — não há corpo JSON. Confira se o cabeçalho X-Api-Key (ou Authorization: Bearer) está presente e correto.
  • {flipbookId} desconhecido (ou que não pertence à sua chave) → HTTP 200 com { "Result": "ERROR", "Message": "Item not found" }.
  • Campo do corpo desconhecido ou digitado errado (nos dois endpoints PUT) → HTTP 200 com { "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }.

Uma regra prática: Result: "OK" significa que a mudança foi aplicada; Result: "ERROR" significa que não foi — leia a Message para saber o motivo.

Notas

  • O endpoint de teste retorna ERROR "No lead webhook is configured for this flipbook." quando o flipbook não tem webhook definido — configure-o com set-lead-webhook primeiro.
  • Um payload de teste nunca armazena um lead real e nunca envia um e-mail de notificação.

Discussões relacionadas