Skip to main content

Référence, limites et téléchargements

Gestion des erreurs

Codes d'erreur les plus fréquents :

CodeHTTPSignification / correction
invalid_client401client_id/client_secret incorrect
No token provided / Invalid or expired token401Redemandez un token via POST /oauth/token
INSUFFICIENT_SCOPES401/403Votre clé n'a pas le scope requis — créez une nouvelle clé avec les bons scopes
NO_ORGANIZATION400Token corrompu — régénérez votre client_secret
NO_SERVICE_APP404Aucun accès API actif pour votre organisation — vérifiez votre abonnement DigiGO/SEAL/Trust
VALIDATION_ERROR / INVOICE_VALIDATION_ERROR400/422Le TEIF ne respecte pas le schéma/les règles métier — voir details[]
NO_SIGNATURE_CREDITS402Votre quota de signature et vos crédits de pack sont épuisés
RATE_LIMIT_EXCEEDED / TOO_MANY_REQUESTS429Patientez et réessayez (voir ci-dessous)

Limites de débit et quotas

LimiteurPortéeLimite
POST /oauth/tokenpar IP30 requêtes / 15 min
Tous les autres appels /api/*par IP300 requêtes / 15 min

Quotas de plan (indépendants des limites de débit) : votre abonnement plafonne le nombre total de factures par mois civil (plus élevé sur les paliers business/max, illimité sur certains) ; la signature consomme spécifiquement votre quota de signature (abonnement, ou crédits de pack en dépassement).

Exemple de code

const tokenRes = await fetch('https://<base_url>/oauth/token', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
grant_type: 'client_credentials',
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
}),
});
const { access_token } = await tokenRes.json();

const res = await fetch('https://<base_url>/api/v2/invoices/submit', {
method: 'POST',
headers: { Authorization: `Bearer ${access_token}`, 'Content-Type': 'application/json' },
body: JSON.stringify(invoice),
});
console.log((await res.json()).id);

Plus d'exemples (Python, XML, signature, webhooks) dans le guide PDF complet ci-dessous.

Télécharger la documentation technique complète

Cette catégorie couvre l'essentiel du workflow d'intégration. Pour la spécification technique exhaustive — schémas de réponse détaillés, tous les codes d'erreur, structure TEIF complète, exemples multi-langages, spécification OpenAPI et collection Postman intégrées en pièce jointe dans le PDF — téléchargez le guide complet :

  • 📄 Guide Organisation API complet (PDF) — le PDF embarque déjà le fichier OpenAPI et la collection Postman en pièce jointe téléchargeable (icône trombone) dans un lecteur PDF compatible (Adobe Acrobat/Reader).
  • 🔧 Spécification OpenAPI (YAML) — lien direct, si vous préférez ne pas ouvrir le PDF.
  • 📦 Collection Postman (JSON) — lien direct, prête à importer dans Postman.
  • 🧩 Guide dédié et téléchargement du script Bash — exemple exécutable (curl + jq) : récupération automatique du taxIdentifier, validation du vendeur, soumission de facture (XML ou JSON), signature SEAL, suivi du job jusqu'à acceptation TTN, puis téléchargement du XML signé et du PDF. ./fatoora-full-workflow.sh --help pour la liste des options.
Aussi disponible depuis votre tableau de bord

Une fois votre clé API créée, retrouvez ces mêmes fichiers — pré-remplis avec votre client_id — depuis Tableau de bord Fatoora → /app/api-keys → onglet « Utilisation de l'API ».