Aller au contenu principal
Sur cette page

Engine API

Si vous découpez simplement des panneaux, vous n’avez pas besoin de cette page. L’optimiseur intégré à CutOptim fait déjà tout ce qui est décrit ici. L’Engine API est le même moteur, sans écran, pour le cas où un autre logiciel a besoin de plans de découpe sans qu’une personne ouvre l’application.

Tout ce que CutOptim fait dans votre navigateur part d’un seul calcul : avec ces pièces et ce stock, quelle est la meilleure façon de les découper ? L’Engine API expose exactement ce calcul sur Internet, pour qu’un autre programme puisse poser la question et récupérer la réponse — sans navigateur, sans clic, sans personne connectée.

C’est toute l’idée. Ce n’est pas un nouvel optimiseur, ni un meilleur optimiseur, ni un forfait supérieur. C’est le même moteur, joignable par un logiciel au lieu d’une personne.


Est-ce fait pour moi ?

Pour l’immense majorité des utilisateurs de CutOptim, la réponse honnête est non. Si votre journée de travail consiste à ouvrir CutOptim, saisir des pièces et du stock, puis imprimer ou exporter le plan, l’application est le produit et cette page ne vous concerne pas.

L’Engine API répond à une seule situation : des plans de découpe doivent apparaître dans un logiciel que vous utilisez déjà, sans que personne ne se rende sur CutOptim. En pratique, cela concerne l’une de ces deux personnes :

  • Vous utilisez déjà un logiciel dans lequel le plan de découpe a sa place. Un ERP qui porte vos commandes, un outil de devis qui chiffre les chantiers, ou le logiciel propre à une machine. Au lieu qu’un opérateur ressaisisse la même liste de pièces dans CutOptim, ce programme interroge directement le moteur et affiche le plan là où le travail se fait déjà.
  • Vous faites développer un logiciel pour vous. Par un développeur interne, une société informatique locale ou le fournisseur de votre machine. L’Engine API est ce à quoi il se connecte.

Utiliser l’Engine API suppose que quelqu’un écrive un logiciel qui s’y connecte. Il n’y a pas d’interface, pas de tableur à remplir et rien à installer — c’est un service destiné aux programmes, et le travail est réalisé par la personne qui écrit ce programme. Si personne, de votre côté, n’écrit de code, c’est l’application qu’il vous faut.

Si vous ne savez pas de quel côté de la frontière vous vous situez, voici un bon test : le plan pourrait-il apparaître sans que personne ne le demande ? Si oui, l’API est pertinente. Si c’est toujours une personne qui décide de créer un plan de découpe, l’application est déjà le bon outil.


Ce qu’elle fait

Votre logiciel envoie les deux mêmes choses que vous saisiriez dans l’application — une liste de pièces et une liste de stock — au format JSON. Le moteur renvoie une réponse complète :

  • La disposition complète. Chaque pièce, positionnée sur un panneau ou une barre précis, en indiquant si elle a été tournée.
  • Un plan de découpe. Pas seulement une image de rectangles : la véritable séquence de coupes guillotine, dans l’ordre, pour que le plan puisse être exécuté sur une scie à panneaux.
  • Les chiffres. Combien de panneaux ou de barres le chantier demande, le pourcentage de rendement, le nombre de coupes nécessaires et le prix total de la matière utilisée. Pour les panneaux, vous obtenez en plus les deux décomptes honnêtes des coupes — les lignes de coupe, qui regroupent les coupes partageant un même réglage de butée, et les passes de scie, qui comptent chaque passe — ainsi que la longueur sciée totale.
  • En option, le dessin. Demandez include: ["svg","csv","dxf"] et la réponse porte aussi la disposition sous forme de fichier prêt à l’emploi — un dessin SVG 2D autonome, un DXF R12/AC1009 ou une liste de coupe CSV — en ligne dans le JSON, sans stockage ni second appel. (SVG en 2D uniquement.)
  • Vos propres identifiants, renvoyés. Attachez un objet meta — un numéro d’article, une ligne de commande, une référence client — à toute pièce ou ligne de stock, et il revient inchangé sur chaque pièce placée et chaque panneau ou barre, pour que le plan corresponde à votre propre système. C’est le champ à utiliser lorsque vous voulez envoyer tous vos panneaux, marquer chacun d’eux de votre propre code et relire quel panneau l’optimiseur a retenu — placez le code dans stock[].meta et il vous revient sur sheets[].meta. Il n’influence jamais le placement. N’utilisez pas le champ material pour identifier vos lignes : material est une partition stricte (une pièce n’est jamais découpée que dans du stock du même matériau), si bien qu’étiqueter chaque ligne de stock avec un matériau en laissant les pièces sans étiquette fait revenir toutes les pièces en unmatched, avec un résultat vide.

Il y a quatre modes d’optimisation, tous correspondant à l’application — un pour les panneaux 2D, un pour le matériau 1D linéaire (barres, profilés, tubes), un pour le bois, dont la matière possède une section, et l’imbrication par forme réelle (POST /v1/optimize/nest), qui imbrique des polygones arbitraires pour la découpe laser, plasma et jet d’eau (le mode Nesting de l’application). Chaque endpoint d’optimisation dispose aussi d’un endpoint de validation gratuit qui vérifie une requête sans la résoudre (voir ci-dessous).

Endpoints

L’URL de base est https://api.cutoptim.com. Les endpoints d’optimisation et d’usage portent une clé dans un en-tête Authorization: Bearer <key> ; les endpoints de validation et de disponibilité ne nécessitent aucune clé.

Endpoint Ce qu’il fait
POST /v1/optimize/2d Optimisation de panneaux 2D
POST /v1/optimize/1d Optimisation 1D / linéaire — barres, profilés, tubes
POST /v1/optimize/wood Optimisation du bois — 1D avec correspondance de section
POST /v1/optimize/nest Imbrication à forme réelle — polygones irréguliers pour le laser, le plasma et le jet d’eau
POST /v1/validate/2d · /1d · /wood · /nest Valider une requête sans la résoudre — gratuit, sans clé, sans quota
GET /v1/jobs/{id} Interroger un travail asynchrone du moteur max — vos propres travaux uniquement, sans quota
POST /v1/import/nest Lit les contours de pièces dans un fichier SVG ou DXF — nécessite une clé, ne consomme aucun quota
GET /v1/usage Consommation et quota du COMPTE sur le mois en cours (toutes les clés en partagent un)
GET /v1/health État de disponibilité — ne nécessite aucune clé

La plupart des appels reçoivent directement le résultat terminé. La seule exception est le moteur max asynchrone (voir Trois moteurs ci-dessous) : une soumission max renvoie un identifiant de travail, et vous interrogez GET /v1/jobs/{id} jusqu’à ce que le plan soit prêt.

Les endpoints de validation prennent le même corps que l’endpoint d’optimisation correspondant et le vérifient sans lancer la résolution : une requête mal formée revient sous forme de 400 nommant le champ fautif exact, et une requête bien formée renvoie valid: true accompagné d’avertissements de faisabilité (par exemple, une pièce qui ne tient dans aucun stock). Ils ne coûtent rien et ne nécessitent aucune clé : vous pouvez donc valider vos charges utiles pendant que vous construisez l’intégration — avant même de détenir une clé — et confirmer qu’une requête ne sera pas rejetée sans dépenser l’un de vos appels mensuels.

Pourquoi le bois a son propre endpoint

Le matériau linéaire ne connaît qu’une dimension, sa longueur : n’importe quelle barre peut donc fournir n’importe quelle pièce. Le bois ne fonctionne pas ainsi : une pièce 50×150 ne peut pas sortir d’une barre 50×100, quelle que soit la longueur restante. L’endpoint bois prend donc les deux côtés de la section sur chaque pièce et chaque ligne de stock, découpe le travail par section, associe à chaque section son propre stock et renvoie les sections séparément — chacune avec ses barres et ses totaux, à côté des chiffres du travail complet.

Deux détails à connaître avant de l’intégrer :

  • Les deux côtés de la section peuvent être envoyés dans n’importe quel ordre. 50×100 et 100×50 sont la même poutre retournée et forment une seule section. Une différence dans la façon dont vos données ont été saisies ne peut donc pas faire disparaître de la matière.

  • « Aucun stock de cette section » et « n’a pas tenu » sont signalés séparément. Le premier est un manque de matière, le second un problème de capacité, et ils ne se corrigent pas de la même façon — les mélanger dans une seule liste enverrait votre utilisateur chercher au mauvais endroit.

Vous pourriez approcher ce résultat avec plusieurs appels 1d de votre côté, en groupant les pièces vous-même. Cela coûterait une requête de votre quota par section au lieu d’une pour le travail, déplacerait la correspondance du stock dans votre code et produirait un total que vous devriez assembler — et qui ne correspondrait pas nécessairement à ce que l’application CutOptim affiche pour le même travail.


Des pièces depuis un fichier CAO

L’endpoint de nesting n’accepte pas que des coordonnées. Une pièce peut porter à la place un source — un document SVG ou DXF — et le serveur en extrait le contour, ainsi que les trous qu’il contient. C’est le même lecteur que celui de l’application lorsque vous déposez un dessin sur son mode Nesting : une bibliothèque de pièces qui existe déjà en fichiers CAO n’a donc pas à être réécrite en listes de coordonnées.

Le fichier ne remplace que la géométrie. Quantité, matériau, rotations autorisées et vos propres métadonnées restent des champs ordinaires de la ligne de pièce, exactement comme lorsque vous envoyez des coordonnées. Un fichier décrit une pièce ; lorsqu’un même dessin contient plusieurs composants distincts, POST /v1/import/nest le découpe d’abord en lignes de pièces prêtes à l’emploi — et cet appel exige une clé mais ne consomme aucune requête de votre quota mensuel.

Rien n’est conservé. Le fichier n’existe que comme la requête elle-même : il est lu en mémoire et disparaît au moment où la réponse est écrite. Aucune copie ne reste sur un disque ou dans une base de données, rien n’atterrit dans un journal, et il n’y a rien à supprimer ensuite. Nous traitons les unités de la même façon — un DXF peut déclarer des millimètres ou des pouces et nous rapportons ce qu’il a déclaré, mais les coordonnées ne sont jamais converties, car aucune valeur de cette API ne porte d’unité.

La même réponse à chaque fois

Le moteur est déterministe : une même entrée produit toujours le même résultat. Il n’y a aucun aléatoire et aucune horloge dans l’algorithme.

Cela peut sembler théorique, mais c’est justement la raison pratique de construire dessus. Les résultats peuvent être mis en cache — si vous avez déjà posé la question pour exactement ce chantier, vous pouvez réutiliser la réponse en toute sécurité au lieu de la redemander. Cela signifie aussi que l’intégration peut être testée : un plan peut être comparé à un résultat connu comme bon, et un écart est un véritable écart, pas du bruit. Un logiciel qui annonce un prix à un client le lundi annoncera le même prix le vendredi.


Trois moteurs

L’API propose plusieurs moteurs au choix. Les deux premiers s’exécutent de façon synchrone ; le troisième est asynchrone. La différence n’est pas une question de qualité : c’est un compromis entre la vitesse, le fait que le résultat soit réalisable ou non sur une scie à panneaux, et sa proximité avec le minimum théorique.

  • heuristic est le moteur par défaut, celui-là même qu’utilise l’application. Il produit des dispositions guillotine : le meilleur rendement, toute disposition sciable sur une scie à panneaux, et toujours un plan de découpe complet. Synchrone.
  • balanced s’active explicitement. Il utilise à la place une imbrication libre, beaucoup plus rapide sur les très gros chantiers — mesurée à environ 25× plus rapide sur un chantier de 2 000 pièces — au prix d’un rendement légèrement plus faible. La réserve importante : ses dispositions ne peuvent souvent pas être coupées de rive à rive, et dans ce cas il ne renvoie aucun plan de découpe. Synchrone.
  • max s’active explicitement et fonctionne uniquement en 2D. C’est une recherche arborescente côté serveur qui atteint l’optimum prouvé sur bien plus de travaux que le moteur par défaut, et ses dispositions restent coupables en guillotine. Le prix est le temps : un calcul max prend de quelques secondes à une minute, il ne répond donc pas dans la réponse. À la place, POST /v1/optimize/2d avec engine: "max" renvoie un identifiant de travail, et vous interrogez GET /v1/jobs/{id} jusqu’à ce qu’il soit prêt. Il reste déterministe. Réservez-le aux gros chantiers de valeur pour lesquels attendre en vaut la peine, afin de gagner les derniers panneaux. Il modélise un seul format de stock en pleine dimension et en quantité illimitée : une requête qui porte en plus un deuxième format de stock, un trim par côté, un stock limité (respectStock), des matériaux ou des groupes de fil est refusée d’emblée par un 400 qui nomme précisément ce qu’il ne sait pas faire — avant qu’un appel ne soit facturé. Envoyez ces travaux à heuristic, qui les modélise tous.

balanced ne veut pas dire « de meilleurs résultats ». Il est plus rapide, son rendement est légèrement plus faible, et lorsque sa disposition n’est pas coupable en guillotine il n’y a aucun plan de découpe à remettre à l’opérateur de la scie. Ne le choisissez que lorsque la vitesse sur un très gros chantier compte plus qu’un plan prêt pour la scie. En cas de doute, restez sur le moteur par défaut.


Limites

Chaque requête est bornée, pour qu’un chantier qui déraille échoue clairement au lieu de rester bloqué :

Limite Valeur
Pièces par requête 2 000
Lignes de stock par requête 50
Taille du corps de requête 1 Mo
Taille du corps de requête — routes nest susceptibles de porter un dessin 10 Mo
Clés actives par compte 10
Appels validate sans clé par adresse 120 / minute
Travaux max en queued/running par compte 5

Obtenir un accès

Commencez par la page Engine API. L’Engine API est facturée séparément des offres de l’application, et aucun changement d’offre ne l’active.

  1. Abonnez-vous, ou écrivez-nous. S’abonner depuis la page Engine API est la voie la plus rapide : elle propose une période d’essai, et l’accès arrive tout seul sur votre compte. Si vous préférez décrire d’abord votre intégration, ou s’il vous faut un volume au-delà de l’offre standard, écrivez-nous en indiquant ce que vous voulez connecter et combien de plans de découpe par mois cela représente environ.
  2. L’accès est ajouté à votre compte. Rien d’autre ne change sur votre compte.
  3. Créez une clé. Une carte Clés API apparaît sur votre tableau de bord dès que votre compte dispose de l’accès API. Vous y créez, nommez et supprimez vos clés vous-même.
  4. Copiez la clé immédiatement. La clé complète n’est affichée qu’une seule fois, au moment où vous la créez.

Une clé n’est affichée qu’une seule fois. CutOptim n’en conserve qu’une empreinte sha256, jamais la clé elle-même — elle ne peut donc pas être relue par la suite, ni par vous ni par nous. Copiez-la directement dans la configuration de votre logiciel au moment où vous la créez. Si vous perdez une clé, supprimez-la et créez-en une nouvelle ; si une clé se retrouve exposée, supprimez-la et les appels cessent aussitôt de fonctionner.

Traitez une clé comme un mot de passe : sa place est dans la configuration de votre logiciel, pas dans un e-mail, un tableur ou une capture d’écran.

Ce que fait la carte Clés API de votre tableau de bord

Trois commandes, et il vaut la peine de préciser ce que chacune change — surtout la dernière, dont beaucoup pensent qu’elle touche la facturation. Ce n’est pas le cas.

  • Créer une clé. Génère une nouvelle clé et l’affiche une seule fois, sur place. Le nom (Intégration ERP, staging) sert uniquement à les distinguer par la suite. Jusqu’à 10 clés actives par compte.
  • La barre d’utilisation. Deux chiffres : le total de votre compte pour le mois calendaire face au quota, et par clé, ce qu’elle a consommé. Le chiffre par clé répond à quelle intégration consomme l’enveloppe — ce n’est pas un budget distinct.
  • Révoquer. Met cette clé hors service dès l’appel suivant. La ligne reste visible pour ne pas perdre son historique.

Révoquer une clé n’a rien à voir avec votre abonnement. Cela n’annule rien, ne rembourse rien et ne libère pas de quota — l’offre continue et l’enveloppe reste, vous ne détenez simplement plus cette clé. Révoquez lorsqu’une clé a été exposée ou qu’une intégration est retirée. Pour cesser d’être facturé, résiliez l’abonnement : l’accès se poursuit alors jusqu’à la fin de la période déjà payée, après quoi même les clés existantes cessent de fonctionner.

Un quota pour le compte, pas un par clé

Chaque clé active de votre compte puise dans la même enveloppe mensuelle. Créer une deuxième clé ne crée pas un deuxième quota — les clés servent à séparer la préproduction de la production, à donner à chaque intégration son propre identifiant, et à en révoquer une sans perturber les autres.

GET /v1/usage renvoie la position du compte (used, limit, remaining) et répond donc à la question que vous vous posez vraiment — combien reste-t-il avant que les appels échouent — quelle que soit la clé utilisée pour demander. Une fois l’enveloppe épuisée, toutes les clés renvoient 402, pas seulement celle qui l’a consommée.


Tarif et quota

L’Engine API est facturée séparément des forfaits de l’application, avec un nombre fixe de requêtes par mois. Le tarif actuel, le quota mensuel de requêtes et la durée de l’essai sont tous indiqués sur la page Engine API — cette page les lit dans notre configuration tarifaire, la valeur qui y figure est donc toujours exacte.

Pour le détail technique — la structure exacte de la requête et de la réponse, toutes les options, tous les codes d’erreur et le fonctionnement du versionnage — voir la documentation de l’API.


Ce que cela ne change pas

Cela vaut la peine d’être dit clairement, car l’Engine API se prête facilement au malentendu d’un changement dans le produit :

  • L’optimiseur de l’application est inchangé. Il s’exécute toujours dans votre navigateur, exactement comme avant.
  • Gratuit, Pro et Atelier ne sont pas touchés. Ces forfaits incluent toujours l’optimiseur intégré à l’application, avec les mêmes limites qu’avant. Rien n’a été déplacé derrière l’API.
  • Rien de ce que vous faites dans l’application ne consomme de requêtes API. Le quota mensuel de l’API n’est entamé que par les appels que votre propre logiciel effectue.

L’Engine API est un ajout destiné aux personnes qui intègrent CutOptim dans d’autres logiciels. Si ce n’est pas votre cas, rien n’a changé.

FAQ

Ai-je besoin de l'Engine API ?
Presque certainement pas. Si vous découpez des panneaux ou des barres en ouvrant CutOptim dans votre navigateur, l'application fait déjà tout ce que fait l'API — l'API est le même moteur, sans écran. Elle n'existe que pour une seule situation : un autre logiciel a besoin de plans de découpe sans qu'une personne ouvre l'application. Si personne, de votre côté, n'écrit de code qui s'adresse à CutOptim, vous pouvez l'ignorer.
À qui l'Engine API s'adresse-t-elle réellement ?
À deux types de clients : celui qui utilise déjà un logiciel dans lequel le plan de découpe devrait se trouver — un ERP qui porte les commandes, un outil de devis ou de saisie de commandes, le logiciel propre à une machine — et celui qui fait développer un tel logiciel pour lui, par un développeur interne ou une agence. Dans les deux cas, le travail est réalisé par la personne qui écrit ce logiciel, et non par vous dans l'interface de CutOptim.
Comment obtenir un accès à l'Engine API ?
Vous pouvez vous abonner depuis la page Engine API : elle propose une période d'essai, et l'accès arrive tout seul sur votre compte. C'est la voie la plus rapide. Si vous préférez décrire d'abord votre intégration, ou s'il vous faut un volume au-delà de l'offre standard, écrivez-nous. Dans les deux cas, une carte Clés API apparaît ensuite sur votre tableau de bord et vous y créez les clés vous-même. L'Engine API est facturée séparément des offres de l'application et aucun changement d'offre ne l'active.
L'Engine API traite-t-elle le bois, ou seulement les panneaux et les barres ?
Les trois modes de l'application, bois compris. L'endpoint bois connaît la section : les pièces et le stock portent les deux côtés de la section, si bien qu'une pièce 50×150 n'est jamais découpée que dans du stock 50×150. Le travail est découpé par section et chaque section revient avec ses propres barres et totaux ; les besoins dont la section n'a aucun stock sont signalés séparément des pièces qui avaient du stock et n'ont pas tenu.
L'Engine API change-t-elle quelque chose à mon forfait Gratuit, Pro ou Atelier ?
Non. L'Engine API est une option distincte et ne change rien aux forfaits habituels. L'optimiseur intégré à l'application est inchangé, il s'exécute toujours dans votre navigateur et reste inclus dans Gratuit, Pro et Atelier exactement comme avant. Rien de ce que vous faites dans l'application ne se met à consommer des requêtes API.
Existe-t-il un SDK ou une bibliothèque cliente pour l'Engine API ?
Non. Il n'y a ni SDK, ni bibliothèque cliente, ni plugin — l'API est du HTTPS simple, avec des corps de requête et de réponse en JSON, que tout langage de programmation sait appeler sans aucun paquet propre à CutOptim. Il n'y a pas non plus de webhooks. La plupart des appels reçoivent directement le résultat terminé ; la seule exception est le moteur max asynchrone (2D uniquement), où POST /v1/optimize/2d avec engine "max" renvoie un identifiant de travail que vous interrogez avec GET /v1/jobs/{id} jusqu'à ce que le plan soit prêt.
Le moteur balanced est-il meilleur que celui par défaut ?
Non — c'est un compromis, pas une amélioration. Le moteur heuristic, celui par défaut, donne le meilleur rendement et chaque disposition qu'il produit est réalisable sur une scie à panneaux : il renvoie donc toujours un plan de découpe. Le moteur balanced est beaucoup plus rapide sur les très gros chantiers, mais son rendement est légèrement plus faible et ses dispositions ne peuvent souvent pas être coupées de rive à rive — dans ce cas, il ne renvoie aucun plan de découpe. Ne le choisissez que lorsque la vitesse sur un gros chantier compte plus qu'un plan prêt pour la scie.
Pourquoi ma clé API n'est-elle affichée qu'une seule fois ?
Parce que CutOptim ne conserve jamais la clé elle-même — uniquement une empreinte sha256. Personne, nous compris, ne peut donc relire votre clé dans la base de données : elle ne peut être affichée qu'au moment de sa création. Copiez-la immédiatement dans la configuration de votre logiciel ; si vous la perdez, supprimez la clé et créez-en une nouvelle.
Que se passe-t-il si je révoque une clé API — suis-je remboursé ?
Non, et cela n'annule rien non plus. La révocation met cette seule clé hors service dès l'appel suivant ; votre abonnement continue et le quota mensuel demeure. Révoquez une clé lorsqu'elle a été exposée ou qu'une intégration est retirée, puis créez-en une de remplacement. Pour cesser d'être facturé, résiliez plutôt l'abonnement : l'accès se poursuit jusqu'à la fin de la période déjà payée, après quoi même les clés existantes cessent de fonctionner.
Créer davantage de clés API me donne-t-il plus de requêtes ?
Non. Le quota mensuel appartient au compte et chaque clé active puise dans la même enveloppe : une deuxième clé n'ajoute pas un deuxième quota. Les clés servent à séparer la préproduction de la production, à donner à chaque intégration son propre identifiant et à en révoquer une sans perturber les autres. Une fois l'enveloppe épuisée, toutes les clés renvoient 402, pas seulement celle qui l'a consommée. GET /v1/usage renvoie la position du compte, quelle que soit la clé utilisée.
L'Engine API peut-elle renvoyer un dessin, et pas seulement des coordonnées ?
Oui. Ajoutez include: ["svg","csv","dxf"] à une requête d'optimisation et la réponse porte la disposition sous forme de fichier prêt à l'emploi, en ligne dans le JSON : un dessin SVG 2D autonome, un DXF R12/AC1009 sur les calques STOCK/PARTS/LABELS, ou une liste de coupe CSV. Aucun stockage, aucun second appel. SVG en 2D uniquement ; une requête 1D ou bois renvoie plutôt un avertissement. Vous pouvez aussi attacher un objet meta (votre numéro d'article ERP, un identifiant de ligne de commande ou une référence client) à toute pièce ou ligne de stock, et il revient à l'identique en sortie pour que le plan se réconcilie avec votre système. C'est aussi le champ qui vous dit quel panneau a été retenu : placez votre code dans stock[].meta et il vous revient sur sheets[].meta, sans jamais influencer le placement. N'utilisez pas material pour identifier vos lignes — material est une partition stricte, et étiqueter tout le stock avec un matériau en laissant les pièces sans étiquette fait revenir toutes les pièces en unmatched, avec un résultat vide.
Puis-je vérifier une requête sans dépenser l'un de mes appels mensuels ?
Oui. POST /v1/validate/2d, /v1/validate/1d, /v1/validate/wood ou /v1/validate/nest prend le même corps que l'endpoint d'optimisation correspondant et le vérifie sans le résoudre — gratuitement, sans clé API et sans quota dépensé. Une requête mal formée revient sous forme de 400 nommant le champ fautif exact, et une requête bien formée renvoie valid: true accompagné d'avertissements de faisabilité (comme une pièce qui ne tient dans aucun stock). Utilisez-la pour valider vos charges utiles pendant que vous construisez l'intégration, avant même de détenir une clé.
Que devient un fichier SVG ou DXF que j'envoie à l'API ?
Il n'en reste rien. Le fichier voyage comme corps de la requête, est lu en mémoire pour en tirer le contour de la pièce, et disparaît dès que la réponse est écrite — aucune copie sur disque, aucune copie en base, aucune ligne de journal le contenant, donc rien à supprimer ensuite et aucune durée de conservation à demander. C'est la même absence d'état que tient le reste de l'API : nous ne gardons pas davantage vos plans de découpe que la requête qui les a produits.

Mis à jour: 2 septembre 2026