Webhooks de leads e sincronização com o Google Sheets
Captação de LeadsEntregue 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
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-Keyou comoAuthorization: Bearer YOUR_API_KEYem toda requisição. - O
{flipbookId}— o ID numérico do flipbook, retornado por create-by-file / create-by-url (comoID) 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). Otest-webhooknã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 exemploSheet1.
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çalhoX-Api-Key(ouAuthorization: Bearer) está presente e correto. {flipbookId}desconhecido (ou que não pertence à sua chave) → HTTP200com{ "Result": "ERROR", "Message": "Item not found" }.- Campo do corpo desconhecido ou digitado errado (nos dois endpoints
PUT) → HTTP200com{ "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 comset-lead-webhookprimeiro. - Um payload de teste nunca armazena um lead real e nunca envia um e-mail de notificação.