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 cheminoperationIdRôle
GET /api/v1/products/searchsearchProductsRecherche de pièces par mot-clé, véhicule, code moteur ou référence
GET /api/v1/products/{id}getProductFiche produit : prix, disponibilité, livraison, description, images, données schema.org
GET /api/v1getApiIndexIndex de l'API : points d'accès, limites et liens

Rechercher des pièces

ParamètreTypeDescription
qtexte, obligatoire2 à 100 caractères : nom de pièce, véhicule, code moteur ou référence fabricant
langfr, en, es, it, deLangue des noms et des liens (fr par défaut)
limitentier 1 à 50Résultats par page (10 par défaut)
pageentier 1 à 20Page 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_from donne 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: 42

Au-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" }]
}
StatutcodeSignification et correction
400missing_parameterParamètre obligatoire absent (q) : l'ajouter.
400invalid_parameterValeur hors bornes ou mal formée : voir invalid_params.
404not_foundChemin inconnu : voir la liste des points d'accès ci-dessus.
404product_not_foundProduit inexistant, retiré ou non public : relancer une recherche.
405method_not_allowedAPI en lecture seule : GET ou HEAD seulement (en-tête Allow).
401authentication_required/api/… hors /api/v1 est le webservice privé de la boutique (clé obligatoire) : utiliser /api/v1, public et sans clé.
429rate_limitedLimite de débit atteinte : attendre Retry-After secondes.
500internal_errorErreur du serveur : réessayer plus tard, puis contacter le support.
503search_unavailableMoteur 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

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.