Compte
L’API EZDocuAI pour les développeurs
Avec l’API EZDocuAI (v1), vous connectez votre propre système (CRM, ERP, site de commande) à EZDocuAI. Votre système téléverse le document, crée la commande de traduction ou de mise en page, apprend quand elle est terminée et télécharge le résultat, sans passer par le panneau. Ce sont les mêmes commandes et le même solde de crédits que sur le web.
Qui peut créer des clés
Cela ne dépend pas du plan, mais de la permission Clés API. Le propriétaire l’a toujours et les gestionnaires l’ont par défaut. Le Réviseur et le Membre l’ont désactivée ; le propriétaire peut l’activer personne par personne dans Équipe.
Avec un accès en lecture seule, vous ne pouvez ni voir, ni créer, ni révoquer de clés. Chaque clé agit avec l’accès de la personne qui l’a créée et ne fait jamais plus que cette personne. Si cette personne est désactivée dans l’équipe, sa clé apparaît comme Suspendue.
Créer une clé

- Allez dans Paramètres › Clés API.
- Cliquez sur Créer une clé.
- Donnez-lui un Nom pour la reconnaître, par exemple Intégration ERP.
- Choisissez l’Environnement : Staging pour tester ou Production pour travailler pour de vrai.
- Cochez les Services : Traduction, Layout ou les deux. Sans service, la clé ne fait que consulter.
- Dans Accès par domaine, cochez lecture ou écriture. Vous ne pouvez accorder que les accès que vous avez ; Commandes et Webhooks exigent la permission « Voir et attribuer tous les documents ».
- Si vous le souhaitez, fixez une Limite quotidienne de pages (vide = sans limite ; 5000 maximum).
- Cliquez sur Créer la clé, copiez-la avec Copier et cliquez sur Je l’ai enregistrée. La clé complète n’est affichée qu’à ce moment-là.
Vous pouvez avoir jusqu’à 20 clés actives. Révoquer désactive une clé immédiatement, de façon irréversible. Traitez-la comme un mot de passe.
Staging et Production : vers où pointe chaque clé
Les deux se créent ici, sur www.ezdocu.ai, depuis Paramètres › Clés API. Vous n’avez pas besoin d’un autre compte.
| Clé | Commence par | URL de base | Ce qu’elle fait |
|---|---|---|---|
| Staging | ezk_test_ | https://staging.ezdocu.ai/api/v1 | Commandes de test : mêmes étapes, statuts et webhooks, sans consommer de crédits. Elle livre un PDF d’exemple avec le filigrane « SAMPLE / MUESTRA » et les numéros TEST-001, TEST-002… Jusqu’à 50 pages par jour. Ces commandes n’apparaissent pas dans votre liste Commandes. |
| Production | ezk_live_ | https://www.ezdocu.ai/api/v1 | Documents réels. Elle consomme les crédits de votre compte. |
Chaque clé ne fonctionne qu’avec son URL. Commencez par Staging ; quand tout fonctionne, changez l’URL et la clé : les routes sont les mêmes.
Où trouver la documentation
Dans le menu latéral, Documentation de l’API. Vous y trouverez le Démarrage rapide, les guides Traduire un document, Layout sans traduction et Révision humaine, Webhooks et vérification de signature et la référence de chaque route avec des exemples.
- Dans Environnements, vous choisissez Staging ou Production : l’URL de base, les exemples et les téléchargements (Télécharger Postman et Télécharger OpenAPI) changent en conséquence.
- Tester dans Swagger appelle le serveur du site sur lequel vous êtes : sur www, c’est la Production, et créer une commande consomme des crédits. Pour la clé Staging, utilisez Postman ou votre code.
Le flux de base
Chaque requête porte l’en-tête Authorization: Bearer <votre clé>. Toute requête POST, PATCH, PUT et DELETE porte en plus Idempotency-Key : si vous répétez la requête avec la même valeur, deux commandes ne sont jamais créées et rien n’est facturé deux fois.
- Téléversez le fichier avec
POST /uploads(qui vous donne une URL de téléversement), envoyez-le à cette URL et confirmez-le avecPOST /uploads/{id}/complete. S’il se trouve déjà à une URLhttps://publique, envoyez-la dansfile_urlen créant la commande. - Créez la commande avec
POST /orders. Dansmode, indiqueztranslate(traduire) oulayout(mettre en page dans la même langue). Pour traduire, indiqueztarget_language, par exempleen-US. La langue du document est détectée automatiquement. - Attendez le résultat : avec le webhook
order.completed(recommandé) ou en consultantGET /orders/{id}toutes les 15 à 30 secondes. - Téléchargez : quand la commande est
completed, le détail contient un lien par fichier, valable 1 heure.
Quels fichiers vous recevez
PDF, DOCX et HTML (un HTML par page et un avec toutes les pages), dans la combinaison que vous demandez, plus le certificat et l’original. Le contenu du document n’est jamais inclus dans le JSON de la réponse : seulement les liens et les données de la commande. Pour une traduction, le certificat et la signature numérique du PDF sont inclus par défaut ; vous pouvez les retirer dans la requête.
Webhooks
Ils se créent par l’API (POST /webhooks), pas dans Paramètres. EZDocuAI envoie un POST signé à votre URL https:// à chaque événement :
| Événement | Quand |
|---|---|
order.created | Une commande a été créée dans le compte, par l’API ou par le web |
order.in_review | La commande attend la révision de votre équipe |
order.completed | Elle est terminée : vous pouvez télécharger |
order.failed | Elle n’a pas pu être terminée |
order.cancelled | Une annulation a été effectuée |
order.deleted | La commande a été mise à la corbeille |
Le secret de signature (whsec_…) n’est affiché qu’une seule fois. Votre serveur doit répondre 2xx en moins de 10 secondes ; sinon, EZDocuAI réessaie pendant un peu plus d’un jour et demi.
Révision humaine
Avec review_required: true, la commande s’arrête en in_review et attend votre équipe, sans limite de temps. La personne qui la révise l’ouvre dans Commandes, clique sur Continuer la commande, la révise et clique sur Terminer la commande. C’est alors que order.completed arrive. La personne qui finalise choisit le format, le certificat et le Sceau Vérifié par un humain : une commande sans révision ne porte jamais ce sceau. L’approbation se fait sur le web, pas par l’API.
Crédits et limites
- Même solde que sur le web : 1 crédit par page, débité à la création de la commande.
- Sans solde suffisant,
POST /ordersrépond402 INSUFFICIENT_CREDITSet rien n’est créé ni facturé. - Si une commande facturée échoue ou si vous l’annulez, les crédits ne sont pas rendus automatiquement : écrivez au support avec le numéro de la commande.
- Demander du DOCX, du HTML, le certificat ou une révision ne coûte rien de plus.
- 100 requêtes par minute par clé (par défaut). Fichiers jusqu’à 50 Mo et 2000 pages, en PDF, JPG, PNG, TIFF, WebP, HEIC, DOCX ou ODT.
Erreurs fréquentes
| Réponse | Ce qui se passe | Que faire |
|---|---|---|
401 UNAUTHORIZED | La clé manque, est mal copiée, a été révoquée ou a expiré | Envoyez-la sous la forme Authorization: Bearer <clé> et ne répétez pas /api/v1 dans la route |
403 TEST_KEY_NOT_ALLOWED_HERE | Vous avez utilisé la clé Staging avec www | Utilisez-la avec https://staging.ezdocu.ai/api/v1 |
403 LIVE_KEY_NOT_ALLOWED_HERE | Vous avez utilisé la clé Production avec staging | Utilisez-la avec https://www.ezdocu.ai/api/v1 |
403 FORBIDDEN | Il manque un service ou un accès à la clé | Créez une clé avec cet accès |
429 RATE_LIMITED | Vous avez dépassé la limite par minute ou le plafond quotidien | Attendez les secondes indiquées dans Retry-After |
Tableau de bord d’utilisation
Dans le menu latéral, API ouvre Usage de l’API : requêtes, commandes, pages, erreurs, webhooks et limites de votre compte, par période, par clé et par membre. Les personnes ayant la permission Clés API y ont accès.
Questions fréquentes
Faut-il un plan spécial pour utiliser l’API ? Non. Il faut la permission Clés API, que possèdent le propriétaire et les gestionnaires.
Mon développeur reçoit une erreur 401 ou 403 avec la clé Staging : que se passe-t-il ? C’est presque toujours l’URL : la clé Staging (ezk_test_) ne fonctionne qu’avec https://staging.ezdocu.ai/api/v1, et la clé Production (ezk_live_), qu’avec https://www.ezdocu.ai/api/v1. Si la clé Staging vient d’être créée, attendez une minute avant de l’utiliser.
Les tests avec la clé Staging consomment-ils des crédits ? Non : les commandes sont simulées. Seule la clé Production est facturée.
Puis-je recevoir la traduction sous forme de texte en JSON ? Non. L’API livre des fichiers : PDF, DOCX ou HTML.