Intégration Make.com
Make (anciennement Integromat) est un outil visuel de création de workflows. Vous appelez TemplateFox dès aujourd’hui avec le module HTTP de Make, et une application TemplateFox native est en cours de déploiement : les modules décrits plus bas apparaîtront directement dans le sélecteur de modules. Les points forts de Make : l’itération (un déclencheur, plusieurs PDF), les routeurs pour la logique conditionnelle et la transformation de données.
Configuration
Section intitulée « Configuration »1. Récupérez votre clé API
Section intitulée « 1. Récupérez votre clé API »Ouvrez votre tableau de bord et copiez votre clé API.
2. Créez un scénario
Section intitulée « 2. Créez un scénario »Sur make.com, créez un nouveau scénario et choisissez son déclencheur (Google Sheets, Typeform, Shopify, HubSpot, Airtable, planification, webhook, etc.).
3. Ajoutez le module HTTP
Section intitulée « 3. Ajoutez le module HTTP »Ajoutez HTTP > Make a request après le déclencheur et configurez-le :
| Champ | Valeur |
|---|---|
| URL | https://api.templatefox.com/v1/pdf/create |
| Method | POST |
| Headers | x-api-key → votre clé API, Content-Type → application/json |
| Body type | Raw |
| Content type | JSON (application/json) |
| Request content | Voir ci-dessous |
4. Corps de la requête
Section intitulée « 4. Corps de la requête »{ "template_id": "YOUR_TEMPLATE_ID", "data": { "customer_name": "{{1.name}}", "invoice_number": "{{1.invoice}}", "total": "{{1.amount}}" }}Utilisez le panneau de mapping de Make ({{1.field}}) pour reprendre les valeurs du module déclencheur. Le template_id se trouve dans l’URL de l’éditeur de templates, ou via GET /v1/templates.
5. Lisez la réponse
Section intitulée « 5. Lisez la réponse »Activez Parse response dans le module HTTP : Make expose alors les champs JSON renvoyés aux modules suivants.
url: URL signée pour télécharger le PDFfilename: le nom du fichier PDFcredits_remaining: crédits restants sur votre planexpires_in: secondes avant l’expiration de l’URL
Générer plusieurs PDF (itération)
Section intitulée « Générer plusieurs PDF (itération) »Le grand atout de Make, c’est l’Iterator. Il sert quand le déclencheur renvoie un tableau (les lignes d’une feuille, les articles d’un webhook) et que vous voulez un PDF par élément :
- Ajoutez Flow Control > Iterator après le déclencheur.
- Faites-le pointer sur le champ tableau (par exemple
{{1.orders}}). - Placez le module HTTP après l’iterator : il s’exécute une fois par élément.
- Chaque itération transmet l’élément courant (
{{2.item}}) au corps de la requête.
Le passage à l’échelle est naturel : 10 éléments, 10 PDF ; 500 éléments, 500 PDF (dans la limite des crédits et des limites de débit de votre plan).
Livrer le PDF
Section intitulée « Livrer le PDF »Une fois le module HTTP exécuté, enchaînez n’importe quel module Make sur le champ url :
E-mail : ajoutez Gmail, Outlook ou SMTP et joignez l’URL du PDF ou le fichier lui-même.
Stockage : enregistrez le PDF dans Google Drive, Dropbox, OneDrive, ou en pièce jointe dans Airtable.
Messagerie : envoyez le lien de téléchargement sur Slack, Discord ou Microsoft Teams.
Retour à la source : écrivez l’URL dans la ligne d’origine (Google Sheets, Airtable, Notion) pour qu’un clic suffise.
Usages avancés
Section intitulée « Usages avancés »Routeurs : un routeur choisit un template différent selon les données (facture ou avoir, client national ou international, langue). Chaque branche envoie vers son propre module HTTP, avec son propre template_id.
Gestionnaires d’erreurs : attachez un gestionnaire d’erreurs au module HTTP. Si TemplateFox renvoie une erreur 4xx/5xx, basculez sur un chemin sûr (prévenir l’utilisateur, réessayer avec un délai croissant, ignorer la ligne).
Aggregator : après l’itération, regroupez les URL générées dans un seul e-mail ou un rapport qui liste chaque PDF.
Asynchrone pour les tâches lourdes : pour les gros documents ou les traitements par lots, appelez plutôt /v1/pdf/create-async. Make reçoit le webhook de fin de tâche avec un déclencheur Webhooks > Custom webhook, dans un second scénario.
Modules disponibles
Section intitulée « Modules disponibles »Quand l’application TemplateFox native est activée dans votre espace Make, ces modules apparaissent dans le sélecteur. Chacun s’appuie sur un endpoint REST public : la recette HTTP ci-dessus reste une solution de repli valable.
Génération
Section intitulée « Génération »| Module | Endpoint | Description |
|---|---|---|
| Generate PDF | POST /v1/pdf/create | Génération synchrone. Prend en charge la variante d’archivage PDF/A. |
| Generate PDF (Async) | POST /v1/pdf/create-async | Met une tâche en file d’attente et renvoie immédiatement un job_id. Adapté aux traitements par lots et aux rendus longs. |
Outils PDF (sans template)
Section intitulée « Outils PDF (sans template) »| Module | Endpoint | Description |
|---|---|---|
| Merge PDFs | POST /v1/pdf-tools/merge | Assemble au moins 2 PDF en un seul document. |
| Extract PDF Pages | POST /v1/pdf-tools/extract-pages | Extrait ou réordonne des pages avec la syntaxe 1-3, 5, 7-9. |
| Rotate PDF | POST /v1/pdf-tools/rotate | Fait pivoter toutes les pages d’un même angle, ou applique une rotation page par page. |
Lecture seule
Section intitulée « Lecture seule »| Module | Endpoint | Description |
|---|---|---|
| Get PDF Job | GET /v1/pdf/jobs/{job_id} | Retrouve une tâche asynchrone par son ID. |
| List PDF Jobs | GET /v1/pdf/jobs | Liste les tâches récentes, avec un filtre facultatif par statut. |
| Get Account | GET /v1/account | Renvoie les crédits restants et l’e-mail du compte. |
| Make an API Call | tous | Module universel pour tout autre endpoint, avec l’authentification déjà en place. |
Dépannage
Section intitulée « Dépannage »401 Unauthorized : vérifiez l’orthographe de l’en-tête x-api-key et que la clé est toujours active dans votre tableau de bord.
400 Bad Request : le template visé n’est pas un template PDF (un template d’image, par exemple). Vérifiez le template_id, ou appelez l’endpoint qui correspond au type du template.
L’iterator traite tous les éléments d’un coup : vérifiez que le module HTTP est placé après l’iterator, et non en parallèle. La ligne de connexion doit suivre l’ordre Déclencheur → Iterator → HTTP.
Un JSON imbriqué venu du déclencheur casse le mapping : encadrez les tableaux avec {{ifempty(1.items; emptyarray)}}, ou utilisez JSON > Parse JSON pour convertir les chaînes en objets avant le mapping.
Étapes suivantes
Section intitulée « Étapes suivantes »- Démarrer en 5 minutes : créez votre premier template
- Liaison de données : transmettez des données dynamiques et des tableaux à vos templates
- Référence API : la documentation complète des endpoints
- Envoi vers S3 : stockez vos PDF dans votre propre bucket plutôt que sur des URL qui expirent