Documentation de l'API DecoToolkit
Référence technique pour utiliser les outils DecoToolkit de manière programmatique.
Besoin d'un token d'API ? Créez-en un dans votre compte.
Créer un token d'APIAperçu
L'API DecoToolkit vous permet d'intégrer nos outils dans des automatisations, des flux de travail et des applications. Commencez avec les API Générateur de QR Code, Nettoyage de Texte et Formatage JSON, avec d'autres outils à venir.
Accès Anticipé
L'API DecoToolkit est actuellement en accès anticipé. Le premier endpoint disponible est le Générateur de QR Code. D'autres outils seront ajoutés progressivement au fur et à mesure que nous développons la plateforme.
URL de Base
https://api.decotoolkit.comAuthentification
Les endpoints protégés nécessitent un token Bearer dans l'en-tête Authorization.
Authorization: Bearer YOUR_API_TOKENCréez et gérez vos tokens d'API depuis votre compte. Chaque forfait définit le nombre de tokens actifs que vous pouvez détenir et le nombre de crédits mensuels que vous pouvez dépenser.
Endpoints Disponibles
/v1/tools/qr-codeGénérez un QR Code à partir d'une URL ou d'un texte.
Corps de la Requête
{
"data": "https://decotoolkit.com",
"size": 512,
"format": "svg"
}Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
data | string | Requis | Le contenu à encoder. De 1 à 2000 caractères. |
size | number | Optionnel | Taille de sortie en pixels. Min. 128, max. 2048. Par défaut : 512. |
format | string | Optionnel | Format de sortie. Actuellement, seul "svg" est pris en charge. |
Exemple de Réponse
{
"success": true,
"tool": "qr-code",
"result": {
"format": "svg",
"content": "<svg>...</svg>"
},
"links": {
"open_tool": "https://decotoolkit.com/qr-code-generator?utm_source=api&utm_medium=automation&utm_campaign=qr_code",
"documentation": "https://decotoolkit.com/api/docs"
},
"usage": {
"credits_used": 1
}
}Exemple cURL
curl -X POST https://api.decotoolkit.com/v1/tools/qr-code \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": "https://decotoolkit.com",
"size": 512,
"format": "svg"
}'/v1/tools/text-cleanerNettoyez et normalisez du texte pour les flux d'automatisation.
Corps de la Requête
{
"text": " Hello world!\n\nThis is DecoToolkit. ",
"options": {
"trim": true,
"removeExtraSpaces": true,
"removeLineBreaks": false,
"removeDuplicateLines": false,
"removeEmptyLines": false
}
}Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
text | string | Requis | Le contenu textuel à nettoyer. |
options | object | Optionnel | Options de nettoyage. Toutes les options sont false par défaut, sauf trim et removeExtraSpaces. |
options.trim | boolean | Optionnel | Supprime les espaces de la sortie finale et de chaque ligne conservée. Par défaut : true. |
options.removeExtraSpaces | boolean | Optionnel | Remplace les espaces et tabulations multiples par un seul espace. Par défaut : true. |
options.removeLineBreaks | boolean | Optionnel | Remplace les sauts de ligne par des espaces. Par défaut : false. |
options.removeDuplicateLines | boolean | Optionnel | Supprime les lignes en double tout en conservant la première occurrence. Par défaut : false. |
options.removeEmptyLines | boolean | Optionnel | Supprime les lignes vides. Par défaut : false. |
Exemple de Réponse
{
"success": true,
"tool": "text-cleaner",
"result": {
"text": "Hello world!\n\nThis is DecoToolkit.",
"original_length": 41,
"cleaned_length": 35,
"changed": true
},
"links": {
"open_tool": "https://decotoolkit.com/text-cleaner?utm_source=api&utm_medium=automation&utm_campaign=text_cleaner",
"documentation": "https://decotoolkit.com/api/docs"
},
"usage": {
"credits_used": 1
}
}Exemple cURL
curl -X POST "https://api.decotoolkit.com/v1/tools/text-cleaner" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"text": " Hello world!\n\nThis is DecoToolkit. ",
"options": {
"trim": true,
"removeExtraSpaces": true,
"removeLineBreaks": false,
"removeDuplicateLines": false,
"removeEmptyLines": false
}
}'Pour n8n : Les utilisateurs peuvent importer la commande cURL dans un nœud HTTP Request et remplacer la valeur de text par une expression dynamique comme {{$json.text}}.
/v1/tools/json-formatterValidez, formatez, minifiez et triez du JSON dans des flux d'automatisation, des scripts, n8n, Zapier, Make et les futurs agents IA.
Corps de la Requête
{
"json": "{\"name\":\"DecoToolkit\",\"type\":\"API\"}",
"options": {
"mode": "format",
"indent": 2,
"sortKeys": false
}
}Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
json | string | Requis | Le contenu JSON à traiter. De 1 à 100 000 caractères. |
options | object | Optionnel | Options de traitement. Toutes les options ont des valeurs par défaut. |
options.mode | enum | Optionnel | Mode de traitement : "format" | "minify" | "validate". Par défaut : "format". |
options.indent | number | Optionnel | Niveau d'indentation (0–8). Accepte les nombres et les chaînes numériques pour la compatibilité avec n8n/Zapier/Make. Par défaut : 2. |
options.sortKeys | boolean | Optionnel | Trie récursivement les clés des objets par ordre alphabétique (conserve l'ordre des tableaux). Par défaut : false. |
Exemple de Réponse
{
"success": true,
"tool": "json-formatter",
"result": {
"json": "{\n \"name\": \"DecoToolkit\",\n \"type\": \"API\"\n}",
"valid": true,
"mode": "format",
"type": "object",
"original_length": 39,
"output_length": 49,
"changed": true
},
"links": {
"open_tool": "https://decotoolkit.com/json-formatter?utm_source=api&utm_medium=automation&utm_campaign=json_formatter",
"documentation": "https://decotoolkit.com/api/docs"
},
"usage": {
"credits_used": 1
}
}Exemple cURL
curl -X POST "https://api.decotoolkit.com/v1/tools/json-formatter" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"json":"{\"name\":\"DecoToolkit\",\"type\":\"API\"}"}'Pour n8n : Les utilisateurs peuvent importer n'importe quel exemple cURL dans un nœud HTTP Request. Après l'import, remplacez YOUR_API_TOKEN par votre token d'API et, éventuellement, remplacez la valeur de json par une expression dynamique comme {{$json.payload}}.
/v1/pdf/extractExtrayez du texte propre, du contenu par page, des métadonnées et du Markdown à partir de fichiers PDF. Conçu pour les workflows IA, les pipelines RAG, les automatisations n8n et les scripts de traitement de données.
Corps de la Requête
{
"fileUrl": "https://exemple.com/document.pdf",
"mode": "text",
"includeMetadata": true,
"cleanText": true,
"pageRange": { "from": 1, "to": 5 }
}Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
fileUrl | string | Optionnel | URL publique du PDF à télécharger et traiter. Exactement l'un des champs fileUrl ou fileBase64 est requis. |
fileBase64 | string | Optionnel | Contenu du PDF encodé en base64. Exactement l'un des champs fileBase64 ou fileUrl est requis. |
mode | enum | Requis | "text" — texte complet en chaîne. "pages" — texte divisé par page. "metadata" — métadonnées et nombre de pages uniquement (1 crédit). "markdown" — sortie en Markdown basique. |
includeMetadata | boolean | Optionnel | Inclure les métadonnées du document (titre, auteur, dates) dans la réponse. Par défaut : true. |
cleanText | boolean | Optionnel | Normaliser les espaces, supprimer les lignes vides excessives et rogner chaque ligne. Par défaut : true. |
pageRange | object | Optionnel | Traiter uniquement un sous-ensemble de pages. { from: number, to: number } — tous deux basés sur 1. Réduit les crédits consommés. |
Exemple de Réponse
{
"success": true,
"mode": "text",
"document": {
"pageCount": 4,
"title": "Document Exemple",
"author": "Nom de l'Auteur",
"subject": null,
"creator": null,
"producer": null,
"createdAt": "2024-01-15T14:30:00.000Z",
"modifiedAt": null
},
"text": "Texte extrait complet de toutes les pages...",
"pages": null,
"markdown": null,
"usage": {
"credits": 4,
"pagesProcessed": 4
}
}Exemple cURL
curl -X POST "https://api.decotoolkit.com/v1/pdf/extract" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileUrl": "https://exemple.com/document.pdf",
"mode": "text",
"cleanText": true
}'Pour n8n : Dans n8n, utilisez un nœud HTTP Request avec la méthode POST et importez l'exemple cURL. Pour fileUrl, connectez la sortie d'un nœud précédent avec une expression comme {{$json.pdfUrl}}. Crédits consommés : 1 par page traitée pour les modes text/pages/markdown, 1 crédit pour le mode metadata.
/v1/pdf/ocrExtrayez du texte à partir de PDF numérisés ou basés sur des images grâce à l'OCR. Utilisez cet endpoint lorsque /v1/pdf/extract ne renvoie aucun texte — par exemple lorsqu'un document a été créé en numérisant des pages physiques. L'OCR traite chaque page comme une image, il est donc plus lent et plus coûteux que l'extraction de texte classique. La précision dépend de la qualité de la numérisation, de la résolution et de la langue. N'extrait pas les tableaux structurés ni les données de factures.
Corps de la Requête
{
"fileUrl": "https://exemple.com/document-numerise.pdf",
"mode": "text",
"language": "fra",
"cleanText": true,
"pageRange": { "from": 1, "to": 3 }
}Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
fileUrl | string | Optionnel | URL publique du PDF à télécharger et traiter. Exactement un des champs fileUrl ou fileBase64 est requis. |
fileBase64 | string | Optionnel | Contenu PDF encodé en Base64. Exactement un des champs fileBase64 ou fileUrl est requis. |
mode | enum | Optionnel | "text" — texte OCR complet sous forme de chaîne unique (par défaut). "pages" — texte OCR réparti par page. "markdown" — sortie Markdown basique avec titres de page. |
language | enum | Optionnel | Indice de langue pour l'OCR. Valeurs prises en charge : "eng" (anglais, par défaut), "por" (portugais), "spa" (espagnol), "fra" (français), "deu" (allemand). Utilisez la langue correspondant au document pour une meilleure précision. |
cleanText | boolean | Optionnel | Normalise les espaces, supprime les lignes vides en trop et coupe chaque ligne. Par défaut : true. |
pageRange | object | Optionnel | Ne traite qu'un sous-ensemble de pages. { from: number, to: number } — toutes deux en base 1. Réduit les crédits utilisés. L'OCR traite les pages en série, les petites plages se terminent donc plus vite. |
Exemple de Réponse
{
"success": true,
"mode": "text",
"document": {
"pageCount": 3,
"title": null
},
"text": "Texte OCR complet de toutes les pages...",
"pages": null,
"markdown": null,
"ocr": {
"provider": "local-tesseract",
"language": "fra",
"averageConfidence": null
},
"usage": {
"credits": 15,
"pagesProcessed": 3
}
}Exemple cURL
# OCR d'un PDF numérisé via URL
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileUrl": "https://exemple.com/document-numerise.pdf",
"mode": "text",
"language": "fra"
}'
# OCR en portugais, pages 1-2 uniquement
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileUrl": "https://exemple.com/relatorio.pdf",
"mode": "pages",
"language": "por",
"pageRange": { "from": 1, "to": 2 }
}'
# OCR d'un PDF en base64, sortie Markdown
curl -X POST "https://api.decotoolkit.com/v1/pdf/ocr" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileBase64": "JVBERi0xLjQK...",
"mode": "markdown",
"language": "eng"
}'Pour n8n : Dans n8n, utilisez un nœud HTTP Request avec la méthode POST et importez l'exemple cURL. Connectez l'URL du PDF d'un nœud précédent avec une expression comme {{$json.pdfUrl}}. Crédits consommés : 5 par page traitée par défaut. L'OCR est plus lent que l'extraction de texte classique — utilisez pageRange pour limiter les pages et réduire à la fois le coût et le temps de réponse.
Cas d'Usage
Connectez DecoToolkit aux outils que vous utilisez déjà.
Flux n8n
Générez automatiquement des QR codes dans des flux n8n à l'aide de nœuds HTTP Request.
Marketing et Événements
Créez des QR codes pour des pages produits, des menus de restaurant, des événements et des campagnes marketing à grande échelle.
Scripts Personnalisés
Intégrez DecoToolkit dans Python, Node.js ou tout langage capable d'effectuer des requêtes HTTP.
Agents IA
Préparez des flux automatisés pour les agents IA et les outils compatibles MCP.
Utiliser avec n8n
Le moyen le plus rapide de connecter l'API DecoToolkit à n8n est d'importer une commande cURL dans un nœud HTTP Request.
Étapes
- 1.Ajoutez un nœud HTTP Request.
- 2.Cliquez sur "Import cURL".
- 3.Collez la commande ci-dessous.
- 4.Remplacez YOUR_API_TOKEN par votre token d'API DecoToolkit.
- 5.Exécutez le nœud.
Exemple cURL
curl -X POST "https://api.decotoolkit.com/v1/tools/qr-code" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": "https://decotoolkit.com",
"size": 512,
"format": "svg"
}'Exemple d'entrée dynamique
Après l'import de la commande cURL, la valeur statique de data peut être remplacée par une expression n8n :
{{$json.url}}Exemple de corps de requête :
{
"data": "{{$json.url}}",
"size": 512,
"format": "svg"
}Erreurs, Limites et Utilisation
À quoi s'attendre des requêtes authentifiées.
Authentification
Chaque endpoint protégé nécessite un token Bearer valide. Les requêtes sans token, ou avec un token invalide ou révoqué, renvoient une erreur 401 Unauthorized.
Limites du forfait
Chaque forfait définit une allocation mensuelle de crédits et un nombre maximum de tokens actifs. Une fois vos crédits épuisés, les requêtes sont rejetées jusqu'au cycle suivant ou à une mise à niveau du forfait.
Erreurs de validation
Les payloads invalides renvoient une erreur 400 Bad Request avec un message de validation descriptif expliquant quel champ a échoué et pourquoi.
Utilisation et crédits
Chaque appel réussi consomme des crédits. Le montant dépensé est renvoyé dans le champ usage.credits_used de chaque réponse afin que vous puissiez suivre votre consommation.
Bientôt Disponible
D'autres endpoints sont prévus dans la feuille de route.
- API de Conversion d'Unités
- API d'Outils d'Image
- Prise en charge du Serveur MCP
Explorer DecoToolkit
FAQ
Qu'est-ce que l'API DecoToolkit ?
L'API DecoToolkit permet aux développeurs et aux créateurs d'automatisations d'utiliser les outils DecoToolkit de manière programmatique, depuis des scripts, des flux de travail et des agents IA.
Comment authentifier les requêtes ?
Toutes les requêtes API nécessitent un token Bearer dans l'en-tête Authorization. Vous pouvez créer et gérer vos tokens depuis votre compte.
Quels outils sont disponibles actuellement ?
Les endpoints disponibles incluent le Générateur de QR Code (POST /v1/tools/qr-code), le Nettoyage de Texte (POST /v1/tools/text-cleaner) et le Formatage JSON (POST /v1/tools/json-formatter). D'autres outils seront ajoutés progressivement.
Comment l'utilisation et les crédits sont-ils comptabilisés ?
Chaque appel réussi consomme des crédits de l'allocation mensuelle de votre forfait. Le montant utilisé est renvoyé dans le champ usage.credits_used de chaque réponse.
DecoToolkit prendra-t-il en charge MCP ?
La prise en charge du Serveur MCP figure dans notre feuille de route. Notre objectif est de rendre les outils DecoToolkit accessibles aux agents IA via des protocoles standard.
Puis-je l'utiliser avec n8n ou Zapier ?
Oui. Tout outil prenant en charge les requêtes HTTP — y compris n8n, Zapier, Make et les scripts personnalisés — peut s'intégrer à l'API DecoToolkit.