Lead-webhooks en synchronisatie met Google Sheets

Leads verzamelen

Lever elke nieuwe flipbooklead af bij je eigen endpoint via een webhook, verstuur een testpayload om die te controleren, en voeg leads toe aan een Google Sheet.

API's die in deze discussie worden gebruikt

Iets onjuist of verouderd in deze gids?

Wat je kunt doen

Wanneer een flipbook leads verzamelt, kun je elke nieuwe lead uit FlipLink naar je eigen systemen routeren. Met deze drie endpoints kun je:

  • Een nieuwe-lead-webhook instellen — een URL die voor elke nieuwe lead een JSON-payload ontvangt.
  • De webhook testen — verstuur een dummy-payload zodat je aflevering en formaat kunt controleren zonder een echte lead.
  • Leads synchroniseren naar Google Sheets — voeg elke nieuwe lead toe aan een sheet die je opgeeft.

Voordat je begint

  • Een API-sleutel — meegestuurd op elk verzoek als de X-Api-Key-header of als Authorization: Bearer YOUR_API_KEY.
  • De {flipbookId} — de numerieke ID van de flipbook, teruggegeven door create-by-file / create-by-url (als ID) of door list. Alle drie de endpoints nemen hem als padparameter.
  • Alle verzoeken gaan naar de basis-URL https://go.fliplink.me.
  • De PUT-endpoints (set-lead-webhook, set-lead-google-sheets) sturen hun body als form-urlencoded (geen JSON). test-webhook neemt geen body.

De nieuwe-lead-webhook instellen

Stelt een webhook-URL in die elke nieuwe lead ontvangt (opgeslagen als de nieuwe-lead-webhook). Gebruik het test-endpoint hieronder om te controleren of hij afvuurt.

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'

Response:

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

De webhook testen

Vuurt een TEST-payload af naar de geconfigureerde lead-webhook van de flipbook, zodat je het afleveringsformaat kunt controleren zonder een echte lead. Het geeft ERROR "No lead webhook is configured for this flipbook." terug als er geen is ingesteld. De vorm van de payload komt overeen met een echte lead (sleutels: pdf_id, pdf_name, lead_name, lead_email, lead_phone, lead_company, lead_date, lead_custom_1, lead_custom_2) maar bevat dummywaarden (pdf_id:"-1", pdf_name:"Test PDF", …). Er wordt geen echte lead opgeslagen en er wordt geen meldingsmail verstuurd.

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

Response:

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

Leads synchroniseren naar Google Sheets

Verbindt lead capture met een Google Sheet — nieuwe leads worden toegevoegd aan de sheet die je opgeeft. Het verzoek stuurt drie formuliervelden:

  • GoogleSheetURL — de deel-URL van de spreadsheet (de link die je krijgt uit het deel-dialoogvenster van Google Sheets).
  • GoogleSheetIDKey — de ID van de spreadsheet (de lange identifier in de URL van de sheet, tussen /d/ en /edit).
  • GoogleSheetName — de naam van het werkblad (tabblad) waaraan rijen moeten worden toegevoegd, bijv. 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'

Response:

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

Mogelijke fouten

  • Ontbrekende of ongeldige API-sleutel → HTTP 401. Dit geeft een kale Unauthorized-HTML-pagina terug — er is geen JSON-body. Controleer of de X-Api-Key-header (of Authorization: Bearer) aanwezig en correct is.
  • Onbekende {flipbookId} (of een die niet bij je sleutel hoort) → HTTP 200 met { "Result": "ERROR", "Message": "Item not found" }.
  • Onbekend of verkeerd gespeld body-veld (op de twee PUT-endpoints) → HTTP 200 met { "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }.

Een handige vuistregel: Result: "OK" betekent dat de wijziging is doorgevoerd; Result: "ERROR" betekent van niet — lees het Message-veld voor de reden.

Opmerkingen

  • Het test-endpoint geeft ERROR "No lead webhook is configured for this flipbook." terug wanneer de flipbook geen webhook heeft ingesteld — configureer die eerst met set-lead-webhook.
  • Een testpayload slaat nooit een echte lead op en verstuurt nooit een meldingsmail.

Gerelateerde discussies