Guide du produit et de l’API

Générer un document

Rôle de ce point de terminaison

Un appel transforme un modèle et vos données en fichier terminé. Le document est produit pendant l’attente et la réponse contient une adresse de téléchargement ; aucune interrogation d’état n’est nécessaire. Pour les documents longs ou les lots, le point de terminaison en file réalise la même opération en arrière-plan.

Envoyez le code du modèle et vos données, puis recevez le document. L’URL de téléchargement de la réponse est relative à l’adresse de base et s’utilise avec la même clé API.

Demande
curl -X POST https://api.pdfgine.com/api/v1/render \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "templateCode": "invoice",
        "format": "pdf",
        "locale": "fr",
        "purpose": "production",
        "data": {
          "document": { "title": "INV-2026-001" }
        }
      }'

Le champ format accepte "pdf" ou "docx". Les valeurs numériques restent compatibles avec les clients existants : 1 correspond à PDF, 2 à DOCX. Les réponses renvoient le format sous forme de nombre.

Le mode production consomme du quota. Lorsque vous testez un modèle, envoyez editor-test : cette sortie ne consomme aucun quota et utilise la révision du brouillon non publié.

L’aller-retour complet

Voici la réponse à l’appel ci-dessus et l’appel qui récupère le fichier. Le statut est 202 : la requête a été acceptée et le document est prêt.

Réponse
HTTP/1.1 202 Accepted
X-PDFgine-Pages: 1
X-PDFgine-Quota-Remaining: 4999

{
  "documentId": "doc_a96063f5dcd5400286ce9b3be9b0595b",
  "format": "pdf",
  "templateCode": "invoice",
  "templateVersion": 1,
  "templateVersionSource": "published",
  "downloadUrl": "/api/v1/documents/doc_a96063f5dcd5400286ce9b3be9b0595b/download/pdf",
  "pageCount": 1,
  "quotaRemaining": 4999,
  "meteringBasis": "pdf-equivalent"
}
cURL
curl https://api.pdfgine.com/api/v1/documents/doc_a96063f5dcd5400286ce9b3be9b0595b/download/pdf \
  -H "X-PDFgine-Key: $PDFGINE_KEY" \
  -o invoice.pdf

Les problèmes les plus courants

  • Le rendu répond 202, pas 200. Un client qui considère toute réponse autre que 200 comme un échec signale une réussite comme erreur.
  • purpose décide de deux choses à la fois : production utilise la version publiée et consomme du quota ; editor-test utilise le brouillon non publié et n’en consomme pas. Tester avec production est la manière la plus coûteuse d’essayer un modèle.
  • 422 n’est pas une panne du serveur. Le corps liste dans errors tous les champs attendus par le modèle ; la correction concerne les données envoyées, pas une nouvelle tentative.
  • 402 signifie que le quota mensuel de pages est épuisé. L’en-tête X-PDFgine-Quota-Remaining vous prévient avant d’y arriver.
  • downloadUrl est relative à l’adresse de l’API. La stocker comme URL absolue ne fonctionnera plus le jour où l’adresse changera ; stockez documentId et construisez l’adresse.
Réponse →