API Dynaparts et agents IA
Dynaparts (dynaparts.fr) est une boutique en ligne française de pièces performance et de compétition automobile, exploitée par JDM Distribution à Pessac (Gironde) depuis 2011 : environ 27 000 références, dont la gamme Dynaparts. Cette page s'adresse aux développeurs et aux agents IA (assistants de recherche, d'achat ou de comparaison) : API publique en lecture seule, pages en Markdown et fichiers prévus pour les machines.
Quand utiliser Dynaparts
- Trouver une pièce performance pour un véhicule ou un moteur précis : downpipe, ligne d'échappement, admission, intercooler, durites, turbo, suspension, kit de suppression EGR, pièces moteur, huiles et produits d'entretien.
- Retrouver une pièce par sa référence fabricant (Milltek, Scorpion, Forge Motorsport, APR, Racingline, ST Suspensions, Eibach, BMC…) ou par une référence Dynaparts (DP-…).
- Donner le prix TTC en euros, la disponibilité et la date de livraison estimée en France avant de recommander un achat.
- Orienter vers le service client pour une compatibilité incertaine, une commande professionnelle ou une reprogrammation moteur (REPROG by Dynaparts).
Méthode conseillée : rechercher avec searchProducts, vérifier la fiche avec getProduct, puis donner à l'utilisateur le lien url de la fiche, où se font la commande et le paiement (l'API ne passe pas de commande).
Démarrage rapide
curl -s "https://dynaparts.fr/api/v1/products/search?q=downpipe+golf+7&limit=3"
curl -s "https://dynaparts.fr/api/v1/products/166784"Aucune clé, aucun compte, aucun cookie. Réponses JSON en UTF-8 ; prix en euros TTC pour la France ; montants en chaînes décimales ("1101.28").
Points d'accès
Adresse de base : https://dynaparts.fr/api/v1. Description complète et typée, utilisable telle quelle pour l'appel de fonctions : openapi.json (OpenAPI 3.1) ; catalogue d'API (RFC 9727) : /.well-known/api-catalog.
| Méthode et chemin | operationId | Rôle |
|---|---|---|
GET /api/v1/products/search | searchProducts | Recherche de pièces par mot-clé, véhicule, code moteur ou référence |
GET /api/v1/products/{id} | getProduct | Fiche produit : prix, disponibilité, livraison, description, images, données schema.org |
GET /api/v1 | getApiIndex | Index de l'API : points d'accès, limites et liens |
Rechercher des pièces
| Paramètre | Type | Description |
|---|---|---|
q | texte, obligatoire | 2 à 100 caractères : nom de pièce, véhicule, code moteur ou référence fabricant |
lang | fr, en, es, it, de | Langue des noms et des liens (fr par défaut) |
limit | entier 1 à 50 | Résultats par page (10 par défaut) |
page | entier 1 à 20 | Page de résultats (1 par défaut) ; links.next donne la suivante |
{
"query": "downpipe golf 7",
"corrected_query": null,
"lang": "fr",
"page": 1,
"limit": 3,
"total": 37,
"results": [
{
"id": 166784,
"reference": "SSXAU200",
"name": "Downpipe et Cata 1.8T/2.0TFSI ou TSI EA113 PQ35 référence Milltek SSXAU200",
"brand": "Milltek",
"url": "https://dynaparts.fr/fr/lignes-echappements-milltek-pour-audi/166784-downpipe-cata-tfsi-pq35-ea113-milltek-sport-ssxau200.html",
"image": "https://dynaparts.fr/352129-large_default/downpipe-cata-tfsi-pq35-ea113-milltek-sport-ssxau200.jpg",
"price": { "amount": "1101.28", "regular_amount": "1295.63", "currency": "EUR", "tax_included": true },
"availability": { "status": "InStock", "available_from": null, "estimated_delivery_date": "2026-10-27" }
}
],
"links": { "self": "…", "next": "…", "html": "https://dynaparts.fr/fr/recherche?search_query=downpipe+golf+7" }
}Exemple illustratif : les valeurs réelles changent avec les prix et les stocks.
Lire une fiche produit
GET /api/v1/products/{id}?lang=fr renvoie les champs de la recherche, plus description (texte brut), images, gtin, mpn, category, shipping (France métropolitaine : tarif, délais de préparation et de transport en jours ouvrés), return_policy (14 jours, retour par courrier à la charge du client), rating et schema_org (objet schema.org Product identique au JSON-LD de la fiche).
Disponibilité et livraison
InStock: en stock chez Dynaparts, expédié sous 0 à 1 jour ouvré.BackOrder: commandable, en réassort ;available_fromdonne la date d'expédition prévue.OutOfStock: indisponible à la commande.
estimated_delivery_date est la date de livraison estimée en France métropolitaine en livraison standard, telle qu'affichée sur la fiche. Livraison standard offerte dès 250 € d'achat en France métropolitaine (hors Corse), conditions dans les conditions générales de vente.
Authentification
Aucune : l'API est publique, anonyme et en lecture seule. Elle renvoie ce qu'un visiteur non connecté voit sur le site, jamais de donnée client.
Limites de débit
60 requêtes par 60 secondes et par adresse IP pour l'API, 60 pages Markdown par minute. Chaque réponse indique où vous en êtes (en-têtes de draft-ietf-httpapi-ratelimit-headers, plus leur ancienne forme) :
RateLimit-Policy: "api";q=60;w=60
RateLimit: "api";r=59;t=42
RateLimit-Limit: 60
RateLimit-Remaining: 59
RateLimit-Reset: 42Au-delà : statut 429 avec Retry-After (secondes). Gardez les résultats déjà obtenus plutôt que de répéter la même requête.
Erreurs
Les erreurs sont en application/problem+json (RFC 9457) : type (lien vers cette page), title, status, detail, instance, plus code (stable, à tester), hint (comment corriger) et documentation.
{
"type": "https://dynaparts.fr/fr/developers#error-invalid-parameter",
"title": "Invalid parameter",
"status": 400,
"detail": "q must contain between 2 and 100 characters.",
"instance": "/api/v1/products/search?q=a",
"code": "invalid_parameter",
"hint": "Pass a part name, vehicle, engine code or manufacturer reference in q (2 to 100 characters), e.g. ?q=downpipe+golf+7. …",
"documentation": "https://dynaparts.fr/fr/developers",
"invalid_params": [{ "name": "q", "reason": "must contain between 2 and 100 characters" }]
}| Statut | code | Signification et correction |
|---|---|---|
| 400 | missing_parameter | Paramètre obligatoire absent (q) : l'ajouter. |
| 400 | invalid_parameter | Valeur hors bornes ou mal formée : voir invalid_params. |
| 404 | not_found | Chemin inconnu : voir la liste des points d'accès ci-dessus. |
| 404 | product_not_found | Produit inexistant, retiré ou non public : relancer une recherche. |
| 405 | method_not_allowed | API en lecture seule : GET ou HEAD seulement (en-tête Allow). |
| 401 | authentication_required | /api/… hors /api/v1 est le webservice privé de la boutique (clé obligatoire) : utiliser /api/v1, public et sans clé. |
| 429 | rate_limited | Limite de débit atteinte : attendre Retry-After secondes. |
| 500 | internal_error | Erreur du serveur : réessayer plus tard, puis contacter le support. |
| 503 | search_unavailable | Moteur de recherche momentanément indisponible : réessayer après Retry-After. |
Pages en Markdown
Toutes les pages publiques du site (accueil, catégories, fiches, pages d'information) existent en Markdown pour les agents : envoyez l'en-tête Accept: text/markdown sur l'adresse habituelle de la page (négociation de contenu, réponse Content-Type: text/markdown et Vary: Accept), ou ajoutez ?format=md. Une page absente répond 404 avec un corps Markdown et des liens pour continuer. Les fiches commencent par leurs faits clés : référence, marque, prix, disponibilité, livraison.
curl -sL -H "Accept: text/markdown" https://dynaparts.fr/
curl -s "https://dynaparts.fr/fr/content/4-a-propos-de-dynaparts?format=md"Fichiers pour les machines
- llms.txt : présentation de la boutique et des pages utiles pour les agents IA.
- openapi.json : description OpenAPI 3.1 de l'API.
- /.well-known/api-catalog : catalogue d'API (RFC 9727).
- sitemap.xml : toutes les pages, en 5 langues.
- robots.txt : règles d'exploration (les robots IA sont acceptés).
Contact
Questions sur l'API, besoin d'un volume plus important ou d'un flux catalogue : [email protected], 05 35 00 43 59 (du lundi au vendredi, 9 h - 12 h 30 et 13 h 30 - 17 h) ou le formulaire de contact.