For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Help CenterAPI KeysStatusSign In
GuidesAPI ReferenceChangelog
GuidesAPI ReferenceChangelog
  • Getting started
    • Overview
    • Quickstart
    • Authentication
    • Rate limits
  • Messaging API
    • Send transactional email
    • Send transactional SMS
    • Send transactional WhatsApp
  • Marketing Platform
    • Manage your contacts
    • Track website activity
    • Send WhatsApp campaigns
    • Weekly event exports
  • Webhooks
    • Getting started
    • Conversations webhooks
    • Payment webhooks
    • Marketing webhooks
    • Transactional webhooks
    • Loyalty webhooks
    • Batched webhooks
    • Secure webhook calls
    • Meetings and phone webhooks
    • Push notification webhooks
    • Sales CRM webhooks
  • Conversations
    • Getting started
    • Customize the chat widget
    • JavaScript API reference
    • REST API reference
    • Conversations webhooks
  • eCommerce
    • Activate eCommerce app
    • Manage product categories
    • Manage products
    • Manage orders
    • Coupon collections
    • eCommerce tracker events
  • Loyalty
    • Overview
    • Set up a program
    • Enroll members
    • Credit & debit points
    • Read member data
    • Best practices
  • Custom Objects
    • Custom objects management
  • Brevo tracker and events
    • Getting started
    • JavaScript implementation
    • REST implementation
    • Legacy tracker documentation
    • Events
  • Accounts and settings
    • Senders and domains
    • User activity logs
    • External feeds
    • Invited users
LogoLogo
Help CenterAPI KeysStatusSign In
On this page
  • Requirements
  • Create a product
  • Create products in a batch
  • Update a product
  • Responses you should expect
  • Retrieving all products
  • How to get a product’s details?
eCommerce

Manage products

Was this page helpful?
Previous

Import your orders

Learn how to create and manage eCommerce orders via the Brevo API.
Next
Built with

After importing your product categories, manage your product inventory using the steps below.

Requirements

To create and manage products in your eCommerce store, you need access to the Brevo eCommerce app. If you haven’t activated the eCommerce platform on your account, see eCommerce > Add the eCommerce App.

Create a product

To integrate your store with Brevo, create products. See the API endpoint reference at eCommerce > Create/Update a product.

The cURL request is:

1curl --request POST \
2 --url https://api.brevo.com/v3/products \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json' \
5 --data '
6{
7 "categories": [
8 "CAT123"
9 ],
10 "metaInfo": {
11 "description": "A smartphone"
12 },
13 "id": "P11",
14 "name": "Iphone 11",
15 "url": "http://mydomain.com/product/electronics/product1",
16 "imageUrl": "http://mydomain.com/product-absolute-url/img.jpeg",
17 "sku": "P1",
18 "price": 500,
19 "parentId": "P3",
20 "updateEnabled": true
21}'

Use the cURL request above to create a product. Parameters used to create a product:

AttributeDatatypeDescriptionValue
idStringProduct ID for which you requested the detailsP11
nameStringProduct nameiPhone 11
urlStringUrl to the producthttp://mydomain.com
imageUrlStringUrl to the cover image of the producthttp://mydomain.com
skuStringProduct identifier from the shopP22
priceFloatPrice of the product300.80
categoriesArray of stringsCategory IDs of the product. A product can belong to multiple categories.CAT123
parentIdStringParent product ID of the productP200
brandStringBrand of the product (max 128 characters)Adidas
descriptionStringDescription of the product (max 3000 characters)Shoes for sports
metaInfoObjectProduct metadata such as vendor, producer, stock level. Total length must not exceed 20000 characters.{"vendor": "Nike"}
updateEnabledBooleanAllows updating the existing product in the same request.false/true

Create products in a batch

When you have multiple products to create, use the endpoint eCommerce > Creates the products in a batch. Instead of calling the single-product endpoint multiple times, create them all in one batch. The cURL request for batch product creation is:

1curl --request POST \
2 --url https://api.brevo.com/v3/products/batch \
3 --header 'accept: application/json' \
4 --header 'content-type: application/json' \
5 --data
Batch limits

You can create up to 100 products in a single batch. Sample JSON to create products in batches is below.

1{
2 "products": [
3 {
4 "categories": [
5 "CAT123"
6 ],
7 "metaInfo": {
8 "Vendor": "Samsung"
9 },
10 "id": "P12",
11 "name": "Samsung S22",
12 "url": "http://mydomain.com/product/electronics/product1",
13 "imageUrl": "http://mydomain.com/product-absoulte-url/img.jpeg",
14 "sku": "P2",
15 "price": 600,
16 "parentId": "P01"
17 },
18 {
19 "categories": [
20 "CAT123"
21 ],
22 "metaInfo": {
23 "vendor": "Samsung"
24 },
25 "id": "P3",
26 "name": "Samsung S21",
27 "url": "http://mydomain.com/product/electronics/product1",
28 "imageUrl": "http://mydomain.com/product-absoulte-url/img.jpeg",
29 "sku": "P33",
30 "price": 300,
31 "parentId": "P4"
32 }
33 ],
34 "updateEnabled": true
35}

The parameters match those in Create a product, but products are sent in batches. Parameters for creating products in batches:

AttributesDatatypeDescriptionValue
productsArray of products objectsAll products in an array of product objectsAll attributes of the product
idStringProduct ID for which you requested the detailsP11
nameStringName of the productiPhone 11
urlStringURL to the producthttp://mydomain.com/product/electronics/product1
imageUrlStringURL to the cover image of the producthttp://mydomain.com/product-absoulte-url/img.jpeg
skuStringProduct identifier from the shopP22
priceFloatPrice of the product300.80
categoriesArray of StringsCategory IDs of the product. A product can belong to multiple categories.CAT123
parentIdStringParent product ID of the productP200
brandStringBrand of the product (max 128 characters)Adidas
descriptionStringDescription of the product (max 3000 characters)Shoes for sports
metaInfoObjectProduct metadata such as vendor, producer, stock level. Total length must not exceed 20000 characters.{"vendor": "Samsung"}
updateEnabledBooleanAllows updating the existing product in the same request.true/false

Update a product

To update an existing product, set updateEnabled to true. The field accepts true or false. Products cannot be updated when this field is false.

1"updateEnabled": true
AttributeDatatypeDescriptionValue
updateEnabledBooleanAllows updating the existing product in the same request.True

To allow later updates, set this field to true when creating the product.

Responses you should expect

Response codeMessageDescription
201Product createdResponse includes a message with the product ID, indicating the product has been created.
204Product updatedNo response body — indicates the product has been updated.
401Bad request- Your api-key may be incorrect.
- You haven’t activated access to the API. See this article for details.
- The format for name and url may be incorrect.

See the list of errors here.

Retrieving all products

Test the API to get all products at eCommerce > Return all your products. The cURL request is below.

1curl --request GET \
2 --url 'https://api.brevo.com/v3/products?limit=50&offset=0&sort=desc' \
3 --header 'accept: application/json'

The parameters for this endpoint are:

AttributeDatatypeDescriptionValue
limitInt64Number of documents per page.50
offsetInt64Index of the first document on the page.0
sortStringSort results in ascending/descending order of record creation.desc
idsArray of stringsFilter by product IDsAdd any number of product ids

How to get a product’s details?

Get a specific product’s details by sending a GET request with the product ID. Test this endpoint at eCommerce > Get a product’s details.

1curl --request GET \
2 --url https://api.brevo.com/v3/products/P11 \
3 --header 'accept: application/json' \

The cURL request above sends the request to the endpoint. id is the only parameter for this endpoint — it is the product’s unique identifier.

AttributeDatatypeDescriptionValue
idStringProduct IDP11