Développeurs

Attraction publie une API produits publique en lecture seule ainsi que des miroirs Markdown de ce site, pour que les personnes et les agents IA puissent intégrer des données produit à jour et le contexte de l'entreprise dans leurs propres outils. Cette page est le point de départ; la référence API complète couvre chaque point d'accès, paramètre et champ de réponse.

Commencer

GET /v1/products?locale=fr-CA

bash
curl "https://api.attraction.com/v1/products?locale=fr-CA"

Authentification

Les données produit publiques ne demandent ni clé ni compte connecté : listes de produits, détail produit, couleurs, tailles, inventaire en temps réel, prix de détail suggéré, images et compatibilité de décoration sont toutes en lecture libre. Les clés API de compte pour les prix nets distributeurs ne sont pas encore offertes; la page des clés API reste masquée jusqu'à ce lancement.

Limites de débit

Chaque réponse de /v1/products et /v1/products/{sku} porte des en-têtes de limite de débit pour une politique nommée default : 600 requêtes par minute par IP cliente. Ce chiffre est indicatif et suivi par instance de l'API, pas par un compteur global unique — ne dimensionnez pas une intégration en vous fiant strictement à 600/min. L'infrastructure applique aussi un plafond strict de 100 requêtes par seconde (rafale de 200), indépendamment du compteur indicatif. Respectez toujours Retry-After sur un 429. Ces en-têtes suivent draft-ietf-httpapi-ratelimit-headers. Une requête au-delà de la limite reçoit un 429 avec Retry-After et une erreur rate_limited.

  • RateLimit-Policy: "default";q=600;w=60
  • RateLimit: "default";r=<remaining>;t=<seconds>

Les points d'accès de catalogue servent aussi le gzip : envoyez Accept-Encoding: gzip; la liste de produits d'environ 274 Ko se compresse à environ 24 Ko.

Versions et dépréciation

L'API est versionnée dans l'URL : les points d'accès actuels sont sous /v1. Les changements non rétrocompatibles sont publiés sous /v2 plutôt que de modifier /v1 en place; les changements additifs, comme un nouveau champ ou un nouveau paramètre optionnel, ne changent jamais la version.

Quand une version est dépréciée, l'annonce se fait au moins trois mois à l'avance, et chaque réponse porte un en-tête Deprecation (RFC 9745) et un en-tête Sunset (RFC 8594) indiquant la date de retrait.

Erreurs

Les erreurs sont des objets problem+json conformes à la RFC 9457, servis en application/problem+json :

product_not_found — 404

json
{
  "type": "https://www.attraction.com/developers/#error-product_not_found",
  "title": "Product not found",
  "status": 404,
  "detail": "No product matches SKU NOPE-NOT-A-SKU.",
  "instance": "/v1/products/nope-not-a-sku",
  "code": "product_not_found"
}

Chaque code ci-dessous a sa propre URI type sur cette page : https://www.attraction.com/developers/#error-<code>.

route_not_found404

Aucune route ne correspond au chemin demandé.

method_not_allowed405

La route existe mais pas pour cette méthode HTTP. La réponse porte Allow: GET, HEAD, OPTIONS.

invalid_request400

La requête ne correspond pas à ce qu'attend la route, par exemple un paramètre de requête malformé.

unsupported_locale400

locale doit être en-CA, en-US ou fr-CA.

invalid_sku400

Le paramètre de chemin sku n'est pas un SKU valide.

unauthorized401

Réservé aux routes privées /v1/sync/*; les points d'accès produits publics ne retournent jamais cette erreur.

product_not_found404

Aucun produit ne correspond au SKU fourni.

rate_limited429

Le client dépasse la politique de limite de débit. La réponse porte Retry-After et les en-têtes RateLimit/RateLimit-Policy.

upstream_unavailable503

La source du catalogue est temporairement inaccessible. La réponse porte Retry-After: 30.

internal_error500

Une erreur serveur inattendue, sans trace d'exécution ni détail interne dans la réponse.

Ressources pour agents

Statut et soutien

/v1/health indique le statut de l'API. Pour toute autre question, joignez l'équipe à service@attraction.com.

Journal des changements

  • 2026-08-24 Publication de ce centre développeurs. Les réponses d'erreur passent au format application/problem+json de la RFC 9457; ajout des en-têtes de limite de débit et d'une politique de versions et de dépréciation.
  • 2026-06-26 Lancement officiel : l'API produits publique en lecture seule sur api.attraction.com — liste et détail sous /v1, sans clé — avec sa description OpenAPI et sa documentation interactive.