Générer des PDF avec l’API

Dernière mise à jour le 23 mars 2026

L’API REST PDFMonkey vous permet de générer des documents PDF à partir de vos modèles en envoyant des requêtes HTTP avec des données JSON. Utilisez-la pour créer des factures, reçus, rapports, attestations et tout PDF à partir de données dynamiques — c’est l’approche idéale pour les workflows automatisés dans votre propre application.

Prérequis

Vous aurez besoin d’un compte PDFMonkey et d’au moins un modèle. Si vous n’avez pas encore créé de modèle, consultez De zéro au premier document.

Générer un PDF

1. Récupérez votre clé API

Récupérez votre clé secrète depuis la page Clé API de votre tableau de bord. Consultez Authentification pour plus de détails.

2. Créez un document

Envoyez une requête POST à /api/v1/documents avec l’identifiant de votre modèle et vos données dynamiques. Le paramètre "status": "pending" lance la génération immédiatement.

Des exemples sont disponibles en curl, Ruby, Node.js, Python et PHP :

curl https://api.pdfmonkey.io/api/v1/documents \
  -X POST \
  -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "document": {
      "document_template_id": "YOUR-TEMPLATE-ID",
      "status": "pending",
      "payload": {
        "name": "Jane Doe"
      }
    }
  }'

L’API renvoie le document avec son statut actuel. Notez l’id — vous en aurez besoin pour vérifier l’avancement de la génération.

{
  "document": {
    "id": "a5e86d72-f5b7-43d4-a04e-8b7e08e6741c",
    "status": "pending",
    "download_url": null,
    ...
  }
}

3. Vérifiez l’état de la génération

Le PDF n’est pas encore prêt — interrogez l’endpoint document_cards jusqu’à ce que le statut atteigne success, puis lisez la download_url.

curl -H 'Authorization: Bearer YOUR_SECRET_KEY' \
  https://api.pdfmonkey.io/api/v1/document_cards/DOCUMENT_ID
# Quand le statut est "success", le champ download_url contient un lien signé vers le PDF
Plutôt que d’interroger l’API régulièrement, vous pouvez configurer un webhook pour être notifié lorsque le document est prêt. C’est l’approche recommandée en production.

Génération asynchrone vs synchrone

Par défaut, la génération de documents est asynchrone : vous créez le document, puis vous interrogez l’API ou configurez un webhook pour savoir quand il est prêt. C’est l’approche la plus adaptée en production, en particulier pour les gros volumes.

Si vous préférez attendre le résultat en une seule requête, utilisez l’endpoint synchrone /api/v1/documents/sync. C’est pratique pour le prototypage ou les cas d’utilisation interactifs à faible volume. Consultez Génération synchrone pour les détails et les limitations.

Questions fréquentes

Quel format utiliser pour le payload ?

Le champ payload accepte tout objet JSON valide. Sa structure doit correspondre aux variables utilisées dans votre modèle — voir Définir les données dynamiques.

Combien de temps prend la génération d’un PDF ?

La plupart des documents sont prêts en quelques secondes. Les modèles complexes avec de nombreuses pages ou des images volumineuses peuvent prendre plus de temps. Utilisez un webhook pour être notifié dès que le PDF est disponible.

Y a-t-il une limite de requêtes ?

Il n’y a pas de limite stricte sur l’API, mais le quota mensuel de documents de votre plan s’applique. Consultez Nos offres pour les détails des quotas.

Peut-on générer plusieurs PDF en une seule requête ?

Pas directement — chaque appel API génère un document. Pour générer des PDF en masse, envoyez plusieurs requêtes en parallèle ou utilisez une plateforme d’automatisation comme Zapier ou Make.