Webhooks de prospects et synchronisation Google Sheets

Capture de prospects

Envoie chaque nouveau prospect d'un flipbook vers ton propre endpoint via un webhook, déclenche un payload de test pour le vérifier, et ajoute les prospects à une feuille Google Sheets.

API utilisées dans cette discussion

Une information inexacte ou obsolète dans ce guide ?

Ce que tu peux faire

Quand un flipbook capture des prospects, tu peux router chaque nouveau prospect en dehors de FlipLink et vers tes propres systèmes. Ces trois endpoints te permettent de :

  • Définir un webhook de nouveau prospect — une URL qui reçoit un payload JSON pour chaque nouveau prospect.
  • Tester le webhook — déclencher un payload factice pour vérifier la livraison et le format sans prospect réel.
  • Synchroniser les prospects vers Google Sheets — ajouter chaque nouveau prospect à une feuille que tu spécifies.

Avant de commencer

  • Une clé d'API — envoyée soit dans l'en-tête X-Api-Key, soit sous la forme Authorization: Bearer YOUR_API_KEY à chaque requête.
  • L'{flipbookId} — l'ID numérique du flipbook, renvoyé par create-by-file / create-by-url (sous la forme ID) ou par list. Les trois endpoints le prennent comme paramètre de chemin.
  • Toutes les requêtes vont vers l'URL de base https://go.fliplink.me.
  • Les endpoints PUT (set-lead-webhook, set-lead-google-sheets) envoient leur corps en form-urlencoded (pas du JSON). test-webhook ne prend aucun corps.

Définir le webhook de nouveau prospect

Définit une URL de webhook qui reçoit chaque nouveau prospect (enregistrée comme webhook de nouveau prospect). Utilise l'endpoint de test ci-dessous pour vérifier qu'il se déclenche.

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'

Réponse :

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

Tester le webhook

Déclenche un payload de TEST vers le webhook de prospects configuré du flipbook pour que tu puisses vérifier le format de livraison sans prospect réel. Il renvoie ERROR "No lead webhook is configured for this flipbook." si aucun n'est défini. La forme du payload correspond à un prospect réel (clés : pdf_id, pdf_name, lead_name, lead_email, lead_phone, lead_company, lead_date, lead_custom_1, lead_custom_2) mais porte des valeurs factices (pdf_id:"-1", pdf_name:"Test PDF", …). Aucun prospect réel n'est stocké et aucun e-mail de notification n'est envoyé.

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

Réponse :

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

Synchroniser les prospects vers Google Sheets

Connecte la capture de prospects à une feuille Google Sheets — les nouveaux prospects sont ajoutés à la feuille que tu spécifies. La requête envoie trois champs de formulaire :

  • GoogleSheetURL — l'URL de partage de la feuille de calcul (le lien que te donne la boîte de dialogue Partager de Google Sheets).
  • GoogleSheetIDKey — l'ID de la feuille de calcul (le long identifiant dans l'URL de la feuille, entre /d/ et /edit).
  • GoogleSheetName — le nom de l'onglet (feuille) auquel ajouter les lignes, par exemple 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'

Réponse :

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

Erreurs possibles

  • Clé d'API manquante ou invalide → HTTP 401. Cela renvoie une simple page HTML « Unauthorized » — il n'y a pas de corps JSON. Vérifie que l'en-tête X-Api-Key (ou Authorization: Bearer) est présent et correct.
  • {flipbookId} inconnu (ou non détenu par ta clé) → HTTP 200 avec { "Result": "ERROR", "Message": "Item not found" }.
  • Champ de corps inconnu ou mal orthographié (sur les deux endpoints PUT) → HTTP 200 avec { "Result": "ERROR", "Message": "Unknown field(s) '…'. Expected: …" }.

Une règle simple : Result: "OK" signifie que le changement a été appliqué ; Result: "ERROR" signifie qu'il ne l'a pas été — lis le Message pour connaître la raison.

Remarques

  • L'endpoint de test renvoie ERROR "No lead webhook is configured for this flipbook." quand le flipbook n'a aucun webhook défini — configure-le d'abord avec set-lead-webhook.
  • Un payload de test ne stocke jamais de prospect réel et n'envoie jamais d'e-mail de notification.

Discussions similaires