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.
Testez vos API BigCommerce avec Apidog - gratuit
À la fin de ce guide, vous serez en mesure de :
- Configurer correctement l'authentification BigCommerce
- Gérer les produits, les variantes et l'inventaire
- Traiter les commandes et gérer les données clients
- Configurer des webhooks pour des mises à jour en temps réel
- Tester et documenter vos intégrations avec Apidog
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 :
- Allez dans le panneau d'administration de votre boutique
- Paramètres → Comptes API → Créer un compte API
- Choisissez "V3/V2 API Token"
- Sélectionnez les étendues dont vous avez besoin (Produits, Commandes, Clients, etc.)
- Enregistrez les identifiants
Vous obtiendrez :
- URL de la boutique :
mystore.mybigcommerce.com - Jeton d'accès :
abc123def456... - ID client :
abc123... - Secret client :
xyz789...
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 :
- L'utilisateur clique sur "Installer" sur votre application dans le marché
- BigCommerce redirige vers votre URL de rappel avec un code d'authentification
- Votre serveur échange le code contre un jeton d'accès
- 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 :
- 0 : Incomplet
- 11 : En attente d'exécution
- 12 : Terminé
- 5 : Annulé
- 4 : Remboursé
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 :
store/order/created- Nouvelle commande passéestore/order/updated- Statut de commande modifiéstore/order/archived- Commande archivéestore/product/created- Produit ajoutéstore/product/updated- Produit modifiéstore/product/deleted- Produit suppriméstore/customer/created- Nouveau clientstore/inventory/updated- Stock modifié
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.

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 :
- Vérifiez que votre en-tête
X-Auth-Tokenest défini - Vérifiez que le jeton n'a pas été révoqué
- 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 :
- Vérifiez les autorisations de votre compte API
- Ajoutez la portée manquante (Produits, Commandes, etc.)
- Générez un nouveau jeton avec des autorisations étendues
404 Introuvable
Cause : Mauvais point d'extrémité ou ressource inexistante.
Correctif :
- Vérifiez que le hachage de la boutique est correct
- Vérifiez la version de l'API dans l'URL (v2 vs v3)
- 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 :
- L'authentification utilise des jetons API (intégrations simples) ou OAuth (applications du marché)
- L'API de catalogue V3 gère les produits et les variantes
- L'API de commandes V2 gère le traitement et l'exécution des commandes
- L'API Clients V3 gère les données clients
- Les webhooks transmettent les mises à jour en temps réel à vos points d'extrémité
- Testez et documentez avec Apidog pour des intégrations fiables
Vos prochaines étapes :
- Créez un compte API dans votre boutique BigCommerce
- Faites votre premier appel API pour lister les produits
- Configurez un webhook pour la création de commandes
- Enregistrez vos appels API dans Apidog
- 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.
