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'API
En savoir plus sur les forfaits de l'API DecoToolkit

Aperç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.com

Authentification

Les endpoints protégés nécessitent un token Bearer dans l'en-tête Authorization.

Authorization: Bearer YOUR_API_TOKEN

Cré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

POST/v1/tools/qr-code

Gé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ètreTypeRequisDescription
datastringRequisLe contenu à encoder. De 1 à 2000 caractères.
sizenumberOptionnelTaille de sortie en pixels. Min. 128, max. 2048. Par défaut : 512.
formatstringOptionnelFormat 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"
  }'
POST/v1/tools/text-cleaner

Nettoyez 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ètreTypeRequisDescription
textstringRequisLe contenu textuel à nettoyer.
optionsobjectOptionnelOptions de nettoyage. Toutes les options sont false par défaut, sauf trim et removeExtraSpaces.
options.trimbooleanOptionnelSupprime les espaces de la sortie finale et de chaque ligne conservée. Par défaut : true.
options.removeExtraSpacesbooleanOptionnelRemplace les espaces et tabulations multiples par un seul espace. Par défaut : true.
options.removeLineBreaksbooleanOptionnelRemplace les sauts de ligne par des espaces. Par défaut : false.
options.removeDuplicateLinesbooleanOptionnelSupprime les lignes en double tout en conservant la première occurrence. Par défaut : false.
options.removeEmptyLinesbooleanOptionnelSupprime 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}}.

POST/v1/tools/json-formatter

Validez, 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ètreTypeRequisDescription
jsonstringRequisLe contenu JSON à traiter. De 1 à 100 000 caractères.
optionsobjectOptionnelOptions de traitement. Toutes les options ont des valeurs par défaut.
options.modeenumOptionnelMode de traitement : "format" | "minify" | "validate". Par défaut : "format".
options.indentnumberOptionnelNiveau 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.sortKeysbooleanOptionnelTrie 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}}.

POST/v1/pdf/extract

Extrayez 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ètreTypeRequisDescription
fileUrlstringOptionnelURL publique du PDF à télécharger et traiter. Exactement l'un des champs fileUrl ou fileBase64 est requis.
fileBase64stringOptionnelContenu du PDF encodé en base64. Exactement l'un des champs fileBase64 ou fileUrl est requis.
modeenumRequis"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.
includeMetadatabooleanOptionnelInclure les métadonnées du document (titre, auteur, dates) dans la réponse. Par défaut : true.
cleanTextbooleanOptionnelNormaliser les espaces, supprimer les lignes vides excessives et rogner chaque ligne. Par défaut : true.
pageRangeobjectOptionnelTraiter 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.

POST/v1/pdf/ocr

Extrayez 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ètreTypeRequisDescription
fileUrlstringOptionnelURL publique du PDF à télécharger et traiter. Exactement un des champs fileUrl ou fileBase64 est requis.
fileBase64stringOptionnelContenu PDF encodé en Base64. Exactement un des champs fileBase64 ou fileUrl est requis.
modeenumOptionnel"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.
languageenumOptionnelIndice 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.
cleanTextbooleanOptionnelNormalise les espaces, supprime les lignes vides en trop et coupe chaque ligne. Par défaut : true.
pageRangeobjectOptionnelNe 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. 1.Ajoutez un nœud HTTP Request.
  2. 2.Cliquez sur "Import cURL".
  3. 3.Collez la commande ci-dessous.
  4. 4.Remplacez YOUR_API_TOKEN par votre token d'API DecoToolkit.
  5. 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.