API produits Attraction

Intégrez les données produits publiques d'Attraction à votre catalogue, votre recherche ou vos assistants.

Ouvrir l'OpenAPI JSON

Démarrage rapide

Exécutez cette requête depuis un terminal pour récupérer des résumés produits publics.

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

Lister les produits

Récupère des résumés produits pour les catalogues, les pages de liste, la recherche et les filtres.

Paramètre de requête

ParamètreRequisValeursValeur par défaut
localeNonen-CA, en-US, fr-CAfr-CA

Requête publique

GET/v1/products
curl "https://api.attraction.com/v1/products?locale=fr-CA"
Réponse
{
  "locale": "fr-CA",
  "products": [
    {
      "sku": "100386U",
      "slug": "100386u",
      "productName": "T-shirt col rond",
      "brand": "Ethica",
      "descriptions": {
        "short": "T-shirt col rond en jersey en coton biologique et polyester recyclé ou 100 % coton biologique selon la couleur, notre meilleur vendeur, grande variété de couleurs. Ethica fabriquée au Canada."
      },
      "links": {
        "product": "https://www.attraction.com/products/100386u/",
        "studio": "https://studio.jameo.com/home?lang=fr"
      },
      "pricing": {
        "currency": "CAD",
        "msrp": [
          { "minQuantity": 36, "maxQuantity": 99, "price": 28 },
          { "minQuantity": 100, "maxQuantity": 299, "price": 26 },
          ...
        ]
      },
      "colors": [
        {
          "id": "0001",
          "name": "Blanc",
          "swatches": ["#FFFFFF"]
        },
        ...
      ],
      "inventory": [
        { "colorId": "0001", "size": "TP", "quantity": 149 },
        ...
      ],
      ...
    },
    ...
  ],
  "categories": [
    {
      "name": "T-shirts",
      "order": 10
    },
    ...
  ],
  "brands": [
    {
      "name": "Ethica",
      "description": "Des classiques intemporels, fabriqués au Canada avec des fibres durables."
    },
    ...
  ]
}

Obtenir le détail d'un produit

Récupère un produit pour une page produit, une synchronisation de catalogue, une vérification d'inventaire ou une consultation des médias et ressources.

Paramètre de chemin

ParamètreDescription
skuSKU du produit, par exemple 100386U.

Paramètre de requête

ParamètreRequisValeursValeur par défaut
localeNonen-CA, en-US, fr-CAfr-CA

Requête publique

Récupérez le détail produit, les prix de détail suggérés, l'inventaire, les médias et les liens de ressources sans authentification.

GET/v1/products/{sku}
curl "https://api.attraction.com/v1/products/100386U?locale=fr-CA"
Réponse
{
  "sku": "100386U",
  "slug": "100386u",
  "locale": "fr-CA",
  "productName": "T-shirt col rond",
  "descriptions": {
    "tagline": "T-shirt col rond, notre meilleur vendeur. Ethica fabriquée au Canada.",
    "short": "T-shirt col rond en jersey en coton biologique et polyester recyclé ou 100 % coton biologique selon la couleur, notre meilleur vendeur, grande variété de couleurs. Ethica fabriquée au Canada.",
    "long": "T-shirt col rond. Matière : jersey en coton biologique et polyester recyclé ou 100 % coton biologique selon la couleur. Particularités : notre meilleur vendeur, grande variété de couleurs."
  },
  "keywords": ["t-shirt","t-shirt personnalisé","ethica","fabriqué au canada"],
  "brand": {
    "name": "Ethica",
    "url": "https://www.attraction.com/products/ethica/",
    "description": "Des classiques intemporels, fabriqués au Canada avec des fibres durables."
  },
  "catalog": {
    "inspiration": ["Promotionnel"],
    "category": "T-shirts",
    "for": "Unisexe"
  },
  "links": {
    "product": "https://www.attraction.com/products/100386u/",
    "brand": "https://www.attraction.com/products/ethica/",
    "category": "https://www.attraction.com/products/?cat=t-shirts",
    "studio": "https://studio.jameo.com/home?lang=fr"
  },
  "tag": "Meilleur vendeur",
  "minimumOrder": {
    "quantity": 36,
    "description": "Minimum de 36 unités décorées. Aucun minimum sans décoration."
  },
  "customization": {
    "colorBlocks": false,
    "decorations": [],
    "options": []
  },
  "pricing": {
    "currency": "CAD",
    "msrp": [
      { "minQuantity": 36, "maxQuantity": 99, "price": 28 },
      { "minQuantity": 100, "maxQuantity": 299, "price": 26 },
      ...
    ]
  },
  "assets": {
    "images": [
      {
        "url": "https://www.attraction.com/assets/products/100386u/100386u-primary.webp",
        "alt": "T-shirt col rond"
      },
      ...
    ],
    "resources": [
      {
        "type": "sizeChart",
        "label": "Charte des tailles",
        "url": "https://attraction.com/assets/products/100386u/100386u.pdf"
      },
      ...
    ]
  },
  "colors": [
    {
      "id": "0001",
      "name": "Blanc",
      "swatches": ["#FFFFFF"],
      "colorFamilies": []
    },
    ...
  ],
  "inventory": [
    { "colorId": "0001", "size": "TP", "quantity": 149 },
    ...
  ]
}

Prix nets via API

Les points d'accès publics retournent les contenus produits, les prix de détail suggérés, l'inventaire, les médias et les ressources. L'accès API authentifié aux prix nets propres au compte viendra plus tard.

Réponses d'erreur

Les erreurs utilisent toujours les champs status, code et message. L'absence d'authentification ne retourne pas d'erreur, puisque les données produits sont publiques.

unsupported_locale

400 quand locale n'est pas en-CA, en-US ou fr-CA.

json
{
  "status": 400,
  "code": "unsupported_locale",
  "message": "Supported locales are en-CA, en-US, and fr-CA."
}

product_not_found

404 pour /v1/products/{sku} lorsque le SKU n'existe pas.

json
{
  "status": 404,
  "code": "product_not_found",
  "message": "Product not found."
}

rate_limited

429 lorsque la requête dépasse la limite de débit de v1.

json
{
  "status": 429,
  "code": "rate_limited",
  "message": "Too many requests. Please retry later."
}