Comment utiliser les APIs BigCommerce: Guide du développeur pour l'intégration e-commerce

Ashley Innocent

Ashley Innocent

24 March 2026

Comment utiliser les APIs BigCommerce: Guide du développeur pour l'intégration e-commerce

Apidog pour les entreprises

Déploiement sur site

SSO & RBAC

Conforme SOC 2

Découvrir Apidog Enterprise

En bref

Les API BigCommerce vous permettent de gérer les produits, les commandes, les clients et les opérations de la boutique de manière programmatique. Vous vous authentifiez avec des jetons API (pour le côté serveur) ou OAuth (pour les applications), appelez des points d'extrémité REST à api.bigcommerce.com et gérez les webhooks pour des mises à jour en temps réel. Pour les tests, utilisez Apidog pour enregistrer vos appels API, valider les réponses et partager des collections avec votre équipe.

Introduction

BigCommerce propulse plus de 60 000 boutiques en ligne. Chacune a besoin d'intégrations personnalisées : synchronisation d'inventaire, traitement des commandes, gestion des clients, traitement des paiements. C'est là qu'interviennent les API.

La plateforme offre trois types d'API : l'API Storefront (commerce découplé), l'API Management (opérations back-end) et l'API Payments (transactions). La plupart des développeurs travaillent avec l'API Management. Elle gère les produits, les commandes, les clients et tout ce qui se passe en coulisses.

La courbe d'apprentissage n'est pas abrupte, mais la documentation peut sembler accablante. Vous vous retrouverez à jongler entre les documents d'authentification, les références API et les guides de webhook juste pour accomplir une tâche simple.

Ce guide se concentre sur ce que vous utiliserez réellement : les produits, les commandes, les clients et les webhooks. Vous apprendrez l'authentification, les modèles courants et comment tester vos intégrations avant qu'elles ne touchent une boutique en direct.

💡
Si vous créez des intégrations BigCommerce, Apidog vous aide à concevoir, tester et documenter ces appels API. Enregistrez les requêtes sous forme de collections, utilisez des variables d'environnement pour différentes boutiques et validez que les réponses correspondent aux schémas attendus. Il détecte les erreurs avant qu'elles n'affectent de vrais clients.
bouton

Testez vos API BigCommerce avec Apidog - gratuit

À la fin de ce guide, vous serez en mesure de :

Authentification : obtenir l'accès à votre boutique

BigCommerce propose deux méthodes d'authentification selon ce que vous construisez.

Méthode 1 : Jetons API (pour les intégrations personnalisées)

Si vous construisez un script ou un service qui fonctionne avec une seule boutique, utilisez des jetons API.

Créer un compte API :

  1. Allez dans le panneau d'administration de votre boutique
  2. Paramètres → Comptes API → Créer un compte API
  3. Choisissez "V3/V2 API Token"
  4. Sélectionnez les étendues dont vous avez besoin (Produits, Commandes, Clients, etc.)
  5. Enregistrez les identifiants

Vous obtiendrez :

Faites votre premier appel :

curl -X GET "https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products" \
  -H "X-Auth-Token: {access-token}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Le store-hash est la partie après /stores/ dans votre chemin API. Il est également visible dans l'URL d'administration de votre boutique.

Méthode 2 : OAuth (pour les applications du marché)

Si vous construisez une application pour le marché BigCommerce, utilisez OAuth.

Le flux OAuth :

  1. L'utilisateur clique sur "Installer" sur votre application dans le marché
  2. BigCommerce redirige vers votre URL de rappel avec un code d'authentification
  3. Votre serveur échange le code contre un jeton d'accès
  4. Stockez le jeton pour les futurs appels API

Échanger le code contre un jeton :

const response = await fetch('https://login.bigcommerce.com/oauth2/token', {
  method: 'POST',
  headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  body: new URLSearchParams({
    client_id: process.env.BC_CLIENT_ID,
    client_secret: process.env.BC_CLIENT_SECRET,
    redirect_uri: 'https://yourapp.com/auth/callback',
    grant_type: 'authorization_code',
    code: authCode,
    scope: 'store_v2_default store_v3_products'
  })
})

const { access_token, context } = await response.json()
// access_token est ce que vous utilisez pour les appels API
// context contient le store_hash

Utilisez le jeton :

curl -X GET "https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products" \
  -H "X-Auth-Token: {access-token}" \
  -H "Content-Type: application/json"

Gestion des produits et du catalogue

Les produits sont le cœur de toute boutique BigCommerce. L'API de catalogue V3 gère les produits, les variantes, les catégories et les marques.

Lister les produits

GET https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products
X-Auth-Token: {token}
Accept: application/json

Réponse :

{
  "data": [
    {
      "id": 174,
      "name": "Plain T-Shirt",
      "type": "physical",
      "sku": "PLAIN-T",
      "price": 29.99,
      "sale_price": 24.99,
      "inventory_level": 150,
      "inventory_tracking": "product",
      "is_visible": true,
      "categories": [23, 45],
      "brand_id": 12
    }
  ],
  "meta": {
    "pagination": {
      "total": 500,
      "count": 50,
      "page": 1,
      "per_page": 50
    }
  }
}

Créer un produit

POST https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products
X-Auth-Token: {token}
Content-Type: application/json

{
  "name": "Premium Hoodie",
  "type": "physical",
  "sku": "HOODIE-PREM",
  "price": 79.99,
  "description": "Premium cotton blend hoodie",
  "weight": 1.5,
  "width": 20,
  "height": 28,
  "depth": 2,
  "inventory_level": 100,
  "inventory_tracking": "product",
  "is_visible": true,
  "categories": [23]
}

Mettre à jour les variantes de produit

Les produits avec des options (taille, couleur) ont des variantes. Chaque variante peut avoir son propre SKU, prix et inventaire.

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/variants/{variant-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "sku": "HOODIE-PREM-BLK-M",
  "price": 79.99,
  "inventory_level": 50,
  "option_values": [
    {
      "option_display_name": "Color",
      "label": "Black"
    },
    {
      "option_display_name": "Size",
      "label": "Medium"
    }
  ]
}

Gérer l'inventaire

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "inventory_level": 75
}

Ou mettez à jour l'inventaire des variantes :

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/variants/{variant-id}
Content-Type: application/json

{
  "inventory_level": 25
}

Commandes et exécution

Les commandes sont le cœur de l'activité. L'API Orders V2 gère la création, les mises à jour et l'exécution des commandes.

Lister les commandes

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders
X-Auth-Token: {token}
Accept: application/json

Réponse :

[
  {
    "id": 115,
    "status": "Awaiting Fulfillment",
    "status_id": 11,
    "customer_id": 45,
    "date_created": "2026-03-24T10:30:00+00:00",
    "subtotal_ex_tax": 149.99,
    "total_inc_tax": 162.49,
    "items_total": 2,
    "items_shipped": 0,
    "shipping_address": {
      "first_name": "John",
      "last_name": "Doe",
      "street_1": "123 Main St",
      "city": "Austin",
      "state": "Texas",
      "zip": "78701",
      "country": "United States"
    }
  }
]

Obtenir les détails de la commande

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}
X-Auth-Token: {token}

Obtenir les produits de la commande

GET https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}/products
X-Auth-Token: {token}

Mettre à jour le statut de la commande

PUT https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "status_id": 12
}

ID de statut courants :

Créer un envoi (exécution)

POST https://api.bigcommerce.com/stores/{store-hash}/v2/orders/{order-id}/shipments
X-Auth-Token: {token}
Content-Type: application/json

{
  "tracking_number": "1Z999AA10123456784",
  "carrier": "UPS",
  "shipping_method": "UPS Ground",
  "items": [
    {
      "order_product_id": 234,
      "quantity": 1
    }
  ]
}

Clients et segmentation

L'API Customers V3 gère les données clients, les adresses et les groupes de clients.

Lister les clients

GET https://api.bigcommerce.com/stores/{store-hash}/v3/customers
X-Auth-Token: {token}
Accept: application/json

Réponse :

{
  "data": [
    {
      "id": 45,
      "email": "john.doe@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "company": "Acme Corp",
      "phone": "512-555-1234",
      "customer_group_id": 1,
      "notes": "VIP customer",
      "tax_exempt_category": "",
      "date_created": "2025-11-15T09:30:00+00:00",
      "date_modified": "2026-03-20T14:22:00+00:00"
    }
  ]
}

Créer un client

POST https://api.bigcommerce.com/stores/{store-hash}/v3/customers
X-Auth-Token: {token}
Content-Type: application/json

{
  "email": "jane.smith@example.com",
  "first_name": "Jane",
  "last_name": "Smith",
  "phone": "512-555-5678",
  "customer_group_id": 2
}

Mettre à jour un client

PUT https://api.bigcommerce.com/stores/{store-hash}/v3/customers/{customer-id}
X-Auth-Token: {token}
Content-Type: application/json

{
  "notes": "Client fidèle - support prioritaire",
  "customer_group_id": 3
}

Webhooks pour les mises à jour en temps réel

Les webhooks notifient votre application lorsque des événements se produisent dans une boutique. Au lieu de sonder, BigCommerce pousse les données vers vos points d'extrémité.

Créer un webhook

POST https://api.bigcommerce.com/stores/{store-hash}/v3/hooks
X-Auth-Token: {token}
Content-Type: application/json

{
  "scope": "store/order/created",
  "destination": "https://yourapp.com/webhooks/orders",
  "is_active": true
}

Portées disponibles :

Vérifier les signatures de webhook

BigCommerce signe les webhooks afin que vous puissiez vérifier leur légitimité :

import crypto from 'crypto'

function verifyWebhook(payload, signature, secret) {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex')
  
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expectedSignature)
  )
}

app.post('/webhooks/orders', (req, res) => {
  const signature = req.headers['x-bc-webhook-signature']
  const payload = JSON.stringify(req.body)
  
  if (!verifyWebhook(payload, signature, process.env.BC_CLIENT_SECRET)) {
    return res.status(401).send('Signature invalide')
  }
  
  // Traiter le webhook
  console.log('Commande créée :', req.body.data.id)
  res.status(200).send('OK')
})

Tester les API BigCommerce avec Apidog

Les API BigCommerce nécessitent des en-têtes cohérents et une authentification correcte. Tester manuellement avec curl devient fastidieux. Apidog simplifie cela.

Interface utilisateur d'Apidog montrant une requête API BigCommerce pour lister les produits.

1. Configuration de l'environnement

Créez des environnements pour chaque boutique :

# Boutique de production
STORE_HASH: abc123
ACCESS_TOKEN: xyz789
BASE_URL: https://api.bigcommerce.com/stores/abc123

# Boutique de staging
STORE_HASH: staging456
ACCESS_TOKEN: staging_token
BASE_URL: https://api.bigcommerce.com/stores/staging456

2. Scripts de pré-requête

Ajoutez automatiquement les en-têtes d'authentification :

pm.request.headers.add({
  key: 'X-Auth-Token',
  value: pm.environment.get('ACCESS_TOKEN')
})
pm.request.headers.add({
  key: 'Accept',
  value: 'application/json'
})

3. Valider les réponses

Testez que les produits ont les champs requis :

pm.test('Les produits ont les champs requis', () => {
  const response = pm.response.json()
  response.data.forEach(product => {
    pm.expect(product).to.have.property('id')
    pm.expect(product).to.have.property('name')
    pm.expect(product).to.have.property('price')
    pm.expect(product.price).to.be.above(0)
  })
})

pm.test('La pagination fonctionne', () => {
  const response = pm.response.json()
  pm.expect(response.meta.pagination).to.have.property('total')
  pm.expect(response.meta.pagination.page).to.eql(1)
})

Testez les API BigCommerce avec Apidog - gratuit

Erreurs courantes et correctifs

401 Non autorisé

Cause : Jeton d'accès invalide ou manquant.

Correctif :

  1. Vérifiez que votre en-tête X-Auth-Token est défini
  2. Vérifiez que le jeton n'a pas été révoqué
  3. Assurez-vous que le compte API dispose des bonnes portées

403 Interdit

Cause : Le jeton est valide mais manque de la portée requise.

Correctif :

  1. Vérifiez les autorisations de votre compte API
  2. Ajoutez la portée manquante (Produits, Commandes, etc.)
  3. Générez un nouveau jeton avec des autorisations étendues

404 Introuvable

Cause : Mauvais point d'extrémité ou ressource inexistante.

Correctif :

  1. Vérifiez que le hachage de la boutique est correct
  2. Vérifiez la version de l'API dans l'URL (v2 vs v3)
  3. Assurez-vous que l'ID de ressource existe

429 Trop de requêtes

Cause : Limite de débit dépassée.

Correctif : BigCommerce autorise différentes limites par point d'extrémité. Produits : 10 000 requêtes/heure. Commandes : 30 000 requêtes/heure. Vérifiez l'en-tête X-Rate-Limit-Remaining et implémentez un backoff.

async function callWithBackoff(fn, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fn()
    if (response.status === 429) {
      const retryAfter = response.headers.get('X-Rate-Limit-Reset')
      await new Promise(r => setTimeout(r, retryAfter * 1000))
    } else {
      return response
    }
  }
}

422 Entité non traitable

Cause : Erreur de validation dans le corps de la requête.

Correctif : Vérifiez la réponse pour plus de détails. BigCommerce renvoie des erreurs de validation spécifiques :

{
  "errors": {
    "price": "Le prix doit être supérieur à zéro",
    "sku": "Le SKU existe déjà"
  }
}

Alternatives et comparaisons

Fonctionnalité BigCommerce Shopify WooCommerce
Version de l'API V2 et V3 REST et GraphQL REST
Limites de débit 10K-30K/heure 2/min (leaky bucket) Dépend de l'hébergement
Webhooks Oui Oui Oui (plugin)
GraphQL Non Oui Non
Qualité du SDK Bonne Excellente PHP uniquement
Multi-boutiques Oui Non Non

L'API V3 de BigCommerce est plus cohérente que l'approche fragmentée de Shopify, mais l'API GraphQL de Shopify offre plus de flexibilité pour les requêtes complexes.

Cas d'utilisation réels

Synchronisation d'inventaire multicanal. Une marque vend sur BigCommerce, Amazon et dans des boutiques physiques. Elle utilise l'API Produits pour synchroniser les niveaux d'inventaire sur tous les canaux, évitant ainsi la survente. Apidog teste les points d'extrémité de synchronisation avant chaque déploiement.

Automatisation des commandes. Une entreprise de boîtes d'abonnement utilise des webhooks pour déclencher l'exécution lorsque des commandes sont créées. L'API Commandes met à jour les numéros de suivi. Leur entrepôt reçoit automatiquement les listes de préparation via des gestionnaires de webhooks.

Segmentation des clients. Un site e-commerce utilise l'API Clients pour segmenter les acheteurs en fonction de l'historique des achats. Les clients VIP sont ajoutés à un groupe spécial avec des tarifs exclusifs. L'intégration s'exécute chaque semaine via une tâche planifiée.

Conclusion

Voici ce que vous avez appris :

Vos prochaines étapes :

  1. Créez un compte API dans votre boutique BigCommerce
  2. Faites votre premier appel API pour lister les produits
  3. Configurez un webhook pour la création de commandes
  4. Enregistrez vos appels API dans Apidog
  5. Construisez votre intégration

Testez les API BigCommerce avec Apidog - gratuit

FAQ

Quelle est la différence entre les API V2 et V3 ?La V3 est l'API la plus récente et la plus cohérente. Utilisez-la pour les produits, les catégories, les marques et les clients. La V2 gère les commandes, qui n'ont pas encore été migrées. Vous utiliserez les deux dans la plupart des intégrations.

Comment obtenir le hachage de ma boutique ?Il se trouve dans l'URL d'administration de votre BigCommerce : https://store-abc123.mybigcommerce.com/manage. La partie abc123 est le hachage de votre boutique. Il est également visible dans les paramètres du compte API.

Puis-je utiliser l'API sur une boutique d'essai ?Oui. Les boutiques d'essai BigCommerce ont un accès API complet. C'est parfait pour le développement et les tests avant de passer en production.

Quelle est la limite de débit pour les appels API ?Cela dépend du point d'extrémité. Produits : 10 000 requêtes/heure. Commandes : 30 000 requêtes/heure. Vérifiez X-Rate-Limit-Remaining dans les en-têtes de réponse pour voir votre limite actuelle.

Comment gérer la pagination ?Utilisez les paramètres de requête page et limit. La limite par défaut est de 50. Vérifiez meta.pagination dans les réponses pour le nombre total de pages. Bouclez jusqu'à ce que vous ayez récupéré tous les enregistrements.

let allProducts = []
let page = 1

while (true) {
  const response = await fetch(
    `${baseUrl}/v3/catalog/products?page=${page}&limit=100`,
    { headers: { 'X-Auth-Token': token } }
  )
  const data = await response.json()
  allProducts.push(...data.data)
  
  if (page >= data.meta.pagination.total_pages) break
  page++
}

Puis-je télécharger des images de produits via l'API ?Oui. Utilisez le point d'extrémité des images de produits :

POST https://api.bigcommerce.com/stores/{store-hash}/v3/catalog/products/{product-id}/images
Content-Type: application/json

{
  "image_url": "https://example.com/image.jpg",
  "is_thumbnail": true
}

Comment gérer les devises et les multi-boutiques ?Les boutiques BigCommerce ont une devise de base. La multi-devise est gérée au niveau de la vitrine, pas de l'API. Pour plusieurs boutiques, créez des comptes API distincts et utilisez différents environnements dans Apidog.

Que se passe-t-il si mon point d'extrémité de webhook est en panne ?BigCommerce réessaie les webhooks échoués avec un backoff exponentiel. Après 5 échecs sur 24 heures, le webhook est désactivé. Surveillez vos points d'extrémité et alertez en cas d'échec.

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API