413 payload_too_large
PDF > 10 MB.
💡 Divisez les PDF ou compressez les scans avant upload.
Utilisez fetch natif (Node 18+) ou Axios, streamez vos PDF, recevez un JSON propre.
Fonctionne avec Next.js, NestJS, Cloudflare Workers ou scripts CLI.
curl -X POST https://api.facturxapi.com/api/v1/validate \
-H "Authorization: Bearer $FACTURX_API_KEY" \
-F "[email protected]" \
-F "lang=fr" const response = await fetch('https://api.facturxapi.com/api/v1/validate', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.FACTURX_API_KEY}`
},
body: (() => {
const form = new FormData();
form.append('file', fs.createReadStream('invoices/FX-2024-0001.pdf'));
form.append('lang', 'fr');
return form;
})()
});
const payload = await response.json();
if (!payload.valid) {
console.log('Erreurs Schematron', payload.errors);
} Toujours lire le stream en mode bufferisé pour éviter les fuites
Limiter la taille via formidable/multer
Tracer request_id côté observabilité (Datadog, Sentry)
Utilisez p-retry ou ky pour rejouer 429/502 avec jitter.
Mappez vos logs aux codes pour des corrections rapides.
PDF > 10 MB.
💡 Divisez les PDF ou compressez les scans avant upload.
Content-Type incorrect (application/octet-stream).
💡 Laisser FormData gérer le boundary et les headers.
Erreur métier EN16931.
💡 Afficher le champ errors[].spec + field pour guider l'équipe finance.
Oui, utilisez fetch + FormData natif, tout se fait côté edge.
Exposez les headers X-Usage-* retournés par l'API dans vos dashboards.
Référence complete
Quotas & SLA
Codes BR-xx prêts à analyser
Et après ?
Choisissez l'étape suivante pour activer FacturX API sur votre stack. Tous les liens sont internes pour garder le suivi clair.
10 validations gratuites + clés distinctes pour dev/staging.
Free, Pro ou Scale selon vos appels mensuels et SLA requis.
Endpoints détaillés + schémas JSON pour parser les réponses.
Uploader un fichier depuis l'UI pour comparer avec la réponse API.