Envoi vers S3
Par défaut, les PDF générés sont déposés sur notre CDN et accessibles par des URL signées. Avec l’intégration S3, ils partent directement dans votre propre bucket.
Ce mode vous apporte :
- La simplicité — les PDF arrivent directement dans votre stockage existant, sans étape de téléchargement puis de renvoi
- La confidentialité — nous ne stockons pas vos documents, même temporairement
- Le contrôle — votre bucket, votre politique de conservation, vos règles d’accès
Fournisseurs compatibles
Section intitulée « Fournisseurs compatibles »Tout stockage compatible S3 fonctionne :
| Fournisseur | URL de l’endpoint |
|---|---|
| Amazon S3 | https://s3.amazonaws.com ou https://s3.{region}.amazonaws.com |
| Cloudflare R2 | https://{account_id}.r2.cloudflarestorage.com |
| DigitalOcean Spaces | https://{region}.digitaloceanspaces.com |
| MinIO | L’URL de votre endpoint MinIO |
| Backblaze B2 | https://s3.{region}.backblazeb2.com |
| Wasabi | https://s3.{region}.wasabisys.com |
Configuration
Section intitulée « Configuration »1. Créez un bucket
Section intitulée « 1. Créez un bucket »Créez un bucket pour vos PDF générés. Un bucket dédié (ou au moins un préfixe dédié) garde les choses en ordre.
2. Créez des identifiants d’accès
Section intitulée « 2. Créez des identifiants d’accès »Créez un utilisateur IAM ou une clé d’accès avec des permissions minimales. Nous n’avons besoin que d’envoyer des fichiers, rien d’autre.
Politique minimale (envoi uniquement) :
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:PutObject"], "Resource": "arn:aws:s3:::your-bucket-name/*" } ]}Cette permission suffit aussi au test de connexion du tableau de bord : il dépose un fichier vide nommé .templatefox-connection-test sous le préfixe par défaut de votre bucket.
Pourquoi le moindre privilège ? Si ces identifiants fuitaient un jour, les dégâts resteraient limités : ils ne peuvent qu’écrire dans un seul bucket. N’utilisez jamais les identifiants racine de votre compte AWS.
3. Renseignez le tableau de bord
Section intitulée « 3. Renseignez le tableau de bord »Ouvrez S3 Storage dans le menu du tableau de bord et saisissez vos identifiants :
- Endpoint URL — en HTTPS obligatoirement
- Access Key ID
- Secret Key — stockée chiffrée, jamais renvoyée en clair par l’API
- Default Bucket
- Default Folder — facultatif, par exemple
generated/pdfs/
Cliquez sur Test Configuration pour vérifier la connexion, puis sur Save Configuration.
Utiliser S3 dans les appels d’API
Section intitulée « Utiliser S3 dans les appels d’API »Ajoutez store_s3: true à votre requête de génération de PDF :
curl -X POST https://api.templatefox.com/v1/pdf/create \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template_id": "HMQywVpZxqAM", "data": { "customer_name": "Acme Corp", "invoice_number": "INV-001" }, "store_s3": true, "filename": "invoice-001" }'Réponse :
{ "s3_bucket": "my-pdf-bucket", "s3_key": "generated/pdfs/invoice-001.pdf", "filename": "invoice-001.pdf", "credits_remaining": 99}Paramètres facultatifs
Section intitulée « Paramètres facultatifs »| Paramètre | Description |
|---|---|
s3_filepath | Remplace le préfixe par défaut pour cette requête |
s3_bucket | Utilise un autre bucket pour cette requête |
filename | Nom de fichier personnalisé (sans l’extension .pdf) |
Exemple avec un chemin personnalisé :
{ "template_id": "HMQywVpZxqAM", "data": { "..." }, "store_s3": true, "s3_filepath": "customers/acme/invoices/", "filename": "INV-2026-001"}Résultat : customers/acme/invoices/INV-2026-001.pdf
Cas d’usage
Section intitulée « Cas d’usage »Archivage et conformité — conservez factures, contrats ou reçus dans votre propre stockage, avec votre propre politique de conservation. Utile pour le RGPD, HIPAA, SOC 2, ou simplement vos règles internes.
Intégration à vos workflows existants — si votre application lit déjà dans S3 (pour servir des fichiers, traiter des documents ou déclencher des fonctions Lambda), les PDF générés s’y intègrent directement.
Multirégion et souveraineté des données — stockez vos documents dans une région AWS ou un pays précis pour répondre aux exigences légales.
Intégration à un CDN — placez votre bucket derrière CloudFront, Cloudflare ou un autre CDN pour une distribution rapide dans le monde entier, sur votre propre domaine.
Sécurité
Section intitulée « Sécurité »Vos identifiants sont protégés :
- Chiffrés au repos — les clés secrètes sont chiffrées avec Fernet
- Jamais exposés — les réponses de l’API ne montrent que les 4 derniers caractères de la clé secrète (par exemple
••••EKEY) - Isolés par équipe — la configuration appartient à votre équipe : seuls ses membres et ses clés API y ont accès
- HTTPS obligatoire — toutes les URL d’endpoint doivent être en HTTPS
Référence API
Section intitulée « Référence API »La documentation complète des endpoints est dans Stockage S3, dans la référence API.