Récupérer toutes les catégories
/catalog-apiL'API Catalog gère les produits, catégories, marques, variantes et entités associées. V3 est le standard actuel, avec une meilleure pagination, la prise en charge des metafields et des opérations par lot. V2 est obsolète
<overview>
The Catalog API manages products, categories, brands, variants, and related entities. V3 is the current standard, offering better pagination, metafields support, and batch operations. V2 is deprecated but still supported for legacy integrations.
</overview>
<api_versions>
<v3_advantages>
- Cursor pagination via
metaobject - Metafields on products, variants, brands, categories
- Batch operations (up to 10 products per request)
- Better performance optimization
- Channel assignments for MSF
Always use V3 for new integrations.
</v3_advantages>
<v2_legacy>
Still available but deprecated. Avoid for new work.
Migration guide: https://developer.bigcommerce.com/docs/store-operations/catalog/migration
</v2_legacy>
</api_versions>
<products>
<base_endpoint>
GET/POST/PUT/DELETE https://api.bigcommerce.com/stores/{store_hash}/v3/catalog/products</base_endpoint>
<create_product>
POST /v3/catalog/products
Content-Type: application/json
{
"name": "Product Name",
"type": "physical",
"sku": "PROD-001",
"price": 29.99,
"weight": 1.5,
"categories": [23, 45],
"brand_id": 12,
"inventory_level": 100,
"inventory_tracking": "product",
"is_visible": true
}Required fields: name, type, weight (for physical), price
</create_product>
<product_types>
physical- Tangible goods requiring shippingdigital- Downloadable products
</product_types>
<batch_operations>
Update up to 10 products per request:
PUT /v3/catalog/products
Content-Type: application/json
[
{"id": 111, "price": 24.99},
{"id": 112, "price": 34.99},
{"id": 113, "inventory_level": 50}
]</batch_operations>
<filtering_products>
GET /v3/catalog/products?sku=PROD-001
GET /v3/catalog/products?brand_id=12
GET /v3/catalog/products?categories:in=23,45
GET /v3/catalog/products?is_visible=true
GET /v3/catalog/products?price:min=10&price:max=50
GET /v3/catalog/products?date_modified:min=2024-01-01</filtering_products>
<include_subresources>
GET /v3/catalog/products?include=variants,images,custom_fields,bulk_pricing_rules,options,modifiers</include_subresources>
</products>
<variants>
<concept>
A variant is a purchasable version of a product with its own SKU. Every purchasable entity is a variant in V3, including the base product itself (base variant).
Example: A T-shirt product has variants for each size/color combination.
</concept>
<createproductwith_variants>
POST /v3/catalog/products
Content-Type: application/json
{
"name": "T-Shirt",
"type": "physical",
"weight": 0.5,
"price": 25.00,
"variants": [
{
"sku": "TSHIRT-S-RED",
"price": 25.00,
"option_values": [
{"option_display_name": "Size", "label": "Small"},
{"option_display_name": "Color", "label": "Red"}
]
},
{
"sku": "TSHIRT-M-RED",
"price": 25.00,
"option_values": [
{"option_display_name": "Size", "label": "Medium"},
{"option_display_name": "Color", "label": "Red"}
]
}
]
}</createproductwith_variants>
<variant_endpoints>
GET /v3/catalog/products/{product_id}/variants
GET /v3/catalog/products/{product_id}/variants/{variant_id}
PUT /v3/catalog/products/{product_id}/variants/{variant_id}</variant_endpoints>
</variants>
<categories>
<deprecation_notice>
V3 /catalog/categories endpoints are deprecated. Use Category Trees endpoints for both single-storefront and MSF stores:
GET /v3/catalog/trees/categories
POST /v3/catalog/trees/categories
PUT /v3/catalog/trees/categories
DELETE /v3/catalog/trees/categories</deprecation_notice>
<categorytreeoperations>
# Get all categories
GET /v3/catalog/trees/categories
# Create category
POST /v3/catalog/trees/categories
{
"parent_id": 0,
"tree_id": 1,
"name": "New Category",
"is_visible": true
}
# Update category
PUT /v3/catalog/trees/categories
[
{"id": 23, "name": "Updated Name"}
]</categorytreeoperations>
</categories>
<brands>
<endpoints>
GET /v3/catalog/brands
POST /v3/catalog/brands
PUT /v3/catalog/brands/{brand_id}
DELETE /v3/catalog/brands/{brand_id}</endpoints>
<create_brand>
POST /v3/catalog/brands
{
"name": "Acme Corp",
"page_title": "Acme Products",
"meta_keywords": ["acme", "quality"],
"meta_description": "Premium Acme products",
"image_url": "https://example.com/acme-logo.png"
}</create_brand>
<assignbrandto_product>
Use brand_id or brand_name when creating/updating products:
PUT /v3/catalog/products/{product_id}
{
"brand_id": 12
}If brand_name doesn't exist, BigCommerce creates it automatically.
</assignbrandto_product>
</brands>
<channel_assignments>
<msf_requirement>
For multi-storefront stores, products must be explicitly assigned to channels to be visible/purchasable on that storefront.
</msf_requirement>
<assignproductsto_channel>
PUT /v3/catalog/products/channel-assignments
{
"assignm