Aller au contenu

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.

Ouvrez votre tableau de bord et copiez votre clé API.

Sur make.com, créez un nouveau scénario et choisissez son déclencheur (Google Sheets, Typeform, Shopify, HubSpot, Airtable, planification, webhook, etc.).

Ajoutez HTTP > Make a request après le déclencheur et configurez-le :

ChampValeur
URLhttps://api.templatefox.com/v1/pdf/create
MethodPOST
Headersx-api-key → votre clé API, Content-Type → application/json
Body typeRaw
Content typeJSON (application/json)
Request contentVoir ci-dessous
{
"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.

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 PDF
  • filename : le nom du fichier PDF
  • credits_remaining : crédits restants sur votre plan
  • expires_in : secondes avant l’expiration de l’URL

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 :

  1. Ajoutez Flow Control > Iterator après le déclencheur.
  2. Faites-le pointer sur le champ tableau (par exemple {{1.orders}}).
  3. Placez le module HTTP après l’iterator : il s’exécute une fois par élément.
  4. 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).

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.

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.

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.

ModuleEndpointDescription
Generate PDFPOST /v1/pdf/createGénération synchrone. Prend en charge la variante d’archivage PDF/A.
Generate PDF (Async)POST /v1/pdf/create-asyncMet une tâche en file d’attente et renvoie immédiatement un job_id. Adapté aux traitements par lots et aux rendus longs.
ModuleEndpointDescription
Merge PDFsPOST /v1/pdf-tools/mergeAssemble au moins 2 PDF en un seul document.
Extract PDF PagesPOST /v1/pdf-tools/extract-pagesExtrait ou réordonne des pages avec la syntaxe 1-3, 5, 7-9.
Rotate PDFPOST /v1/pdf-tools/rotateFait pivoter toutes les pages d’un même angle, ou applique une rotation page par page.
ModuleEndpointDescription
Get PDF JobGET /v1/pdf/jobs/{job_id}Retrouve une tâche asynchrone par son ID.
List PDF JobsGET /v1/pdf/jobsListe les tâches récentes, avec un filtre facultatif par statut.
Get AccountGET /v1/accountRenvoie les crédits restants et l’e-mail du compte.
Make an API CalltousModule universel pour tout autre endpoint, avec l’authentification déjà en place.

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.