API DÉVELOPPEUR
Générez des tracés de découpe depuis votre logiciel
L'API développeur de Packdroid reçoit un code de gabarit et des dimensions, et renvoie le tracé de découpe prêt pour la production en SVG, PDF ou DXF — le même fichier que celui téléchargé depuis l'éditeur. Elle sert à intégrer les tracés dans une boutique web-to-print, un ordre de fabrication ERP ou un outil de devis.
Fonctionnement
- Lister les gabarits
GET /api/v1/catalogue renvoie chaque gabarit actif avec son code public, son nom et le nom de ses paramètres. Filtrez avec q et category ; paginez avec limit et cursor.
- Lire le schéma d'un gabarit
GET /api/v1/catalogue/{code} renvoie chaque paramètre avec son unité, sa valeur par défaut, son pas et ses règles de minimum et de maximum — y compris celles qui dépendent d'une autre dimension —, ainsi que les options, les pages et les formats.
- Générer le fichier
POST /api/v1/dielines/{code} avec un format et les paramètres. Le corps de la réponse est le fichier lui-même ; son nom et la version du gabarit sont dans les en-têtes.
Accès et clés
L'API développeur est incluse dans les formules Bench, Workshop et Line. Créez et révoquez vos clés dans Compte → API développeur. La clé complète n'est affichée qu'une fois ; Packdroid n'en conserve que l'empreinte. Un compte peut garder cinq clés actives.
Envoyez la clé comme jeton Bearer à chaque requête. Gardez-la sur votre serveur : jamais dans le code d'un navigateur ou d'une application, et révoquez-la si elle est exposée. Avec une clé par système, une intégration peut être arrêtée sans toucher aux autres.
Exemple de requête
Listez les gabarits, puis lisez les paramètres de l'un d'eux :
curl 'https://packdroid.com/api/v1/catalogue?limit=50' \
--header 'Authorization: Bearer pd_live_your_secret'
curl 'https://packdroid.com/api/v1/catalogue/PD-TL02' \
--header 'Authorization: Bearer pd_live_your_secret'Une caisse FEFCO 0201 de 250 × 200 × 150 mm en carton de 4 mm, enregistrée en SVG :
curl --request POST \
'https://packdroid.com/api/v1/dielines/FEFCO%200201' \
--header 'Authorization: Bearer pd_live_your_secret' \
--header 'Content-Type: application/json' \
--output dieline.svg \
--data '{"format":"svg","parameters":{"length":250,"width":200,"depth":150,"corrugated_thickness":4}}'Ce que vous recevez
Le SVG et le PDF sont dessinés à l'échelle physique 1:1, avec les lignes de coupe et de rainage sur des calques séparés. Ajoutez les cotes ou le panneau d'information avec les champs dimensions et info. Le DXF est disponible pour la CAO et les tables de découpe.
Les gabarits à plusieurs pages (le carton et l'habillage d'une boîte rigide, par exemple) sont renvoyés en un seul PDF, en ZIP de fichiers DXF, ou en SVG combiné ou séparé par page. Les unités suivent le gabarit : la plupart des dimensions sont en millimètres, certaines épaisseurs de matière en micromètres.
Limites
Chaque fichier généré compte dans les téléchargements mensuels de la formule. Par ailleurs, chaque formule a des limites d'exploitation qui protègent le service ; les réponses portent les en-têtes X-RateLimit, et un Retry-After en cas de 429.
| Formule | Téléchargements par mois | Requêtes par minute | Requêtes par jour |
|---|---|---|---|
| Bench | 45 | 10 | 200 |
| Workshop | 90 | 20 | 1 000 |
| Line | Illimité | 30 | 5 000 |
Chaque clé exécute au plus deux rendus à la fois, et un rendu expire au bout de 30 secondes. Une clé qui dépasse ses limites de façon répétée est suspendue 15 minutes ; les requêtes invalides sont rejetées avant d'être décomptées du quota mensuel.
Erreurs
Les erreurs sont en JSON avec un code stable. Les erreurs de validation listent chaque problème avec son emplacement, par exemple parameters.length, et le minimum ou le maximum enfreint.
| Statut | Signification |
|---|---|
| 400 | JSON ou forme de requête invalide. Corrigez la requête, sans réessayer. |
| 401 | Clé absente, invalide, révoquée ou expirée. |
| 403 | La formule du compte n'inclut pas l'accès API ou les téléchargements. |
| 404 | Aucun gabarit actif avec ce code. Rechargez le catalogue. |
| 422 | Un paramètre ou une combinaison a été refusé. Lisez issues. |
| 429 | Limite de requêtes ou de parallélisme. Réessayez après Retry-After. |
| 504 | Le rendu a dépassé 30 secondes. Réessayez avec un délai croissant. |
Commencer
Choisissez une formule payante, puis créez une clé dans Compte → API développeur. Une question sur une intégration : écrivez-nous.