Estimated reading time: 4 minutes Updated: 8/26/2026 Created by: Botmaker Team

[POST] /catalogs/<CATALOG_ID>/products



[POST] /catalogs/<CATALOG_ID>/products

Purpose

Upload products to a Botmaker catalog.

First you need to create a catalog to add the products to.

Create a catalog

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'access-token: <TOKEN>' -d '{ \
"title": "My Catalog", \
"description": "My first catalog" \
}' 'https://go.botmaker.com/api/v1.0/catalogs'

You get the CATALOG_ID from the response:

{
"id": "1BKOTFLQCVAG0BSTLF00"
}

Upload a category

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'access-token: <TOKEN>' -d '{ \
"categories": [ \
{ \
"title": "My Category", \
"description": "My first category", \
"code": "1" \
} \
], \
"upsert": true \
}' 'https://go.botmaker.com/api/v1.0/catalogs/<CATALOG_ID>/categories'

Upload products

curl --location --request POST 'https://go.botmaker.com/api/v1.0/catalogs/<CATALOG_ID>/products' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'access-token: <TOKEN>' \
--data-raw '{
"products": [
{
"sourceId": "1",
"title": "papa blanca",
"description": "papa blanca cepillada",
"keywords": "papa blanca",
"price": "1000",
"salePrice": "399",
"currency": "ARS",
"imageLink": "https://motegreenmarket.com.ar/wp-content/uploads/2020/02/papa-blanca.jpg",
"additionalImageLink_1": "https://motegreenmarket.com.ar/wp-content/uploads/2020/02/papa-blanca.jpg",
"order": 0,
"categoryCode": "1",
"availability": "InStock"
}
],
"upsert": true
}'

Request structure

sourceId [string] Product identifier, usually referred to as the SKU.
title [string] Product name.
description [string] Product description.
keywords [string] Keywords used to search for the product.
price [string] Product price.
salePrice [string] Discounted price of the product. (Optional)
currency [string] Local currency. Use the country ISO code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
imageLink [string] Link to the product's main image.
additionalImageLink_1 [string] Link to an additional product image. You can add up to 5 images. (Optional)
order [string] Product display order.
categoryCode [string] Category code. (Optional) The category must be created beforehand.
availability [string] Product status. Possible values: InStock | OutOfStock
upsert [boolean] Creates the product if it does not already exist.

Product with subitems

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'access-token: <TOKEN>' -d '{ \
"products": [ \
{ \
"sourceId": "1234", \
"title": "Combo de hamburguesa", \
"description": "Descripción del combo", \
"price": 500, \
"salePrice": 400, \
"currency": "ARS", \
"isComposite": true, \
"link": "https://media-cldnry.s-nbcnews.com/image/upload/t_fit-1240w,f_auto,q_auto:best/rockcms/2022-08/220805-border-collie-play-mn-1100-82d2f1.jpg", \
"imageLink": "https://media-cldnry.s-nbcnews.com/image/upload/t_fit-1240w,f_auto,q_auto:best/rockcms/2022-08/220805-border-collie-play-mn-1100-82d2f1.jpg", \
"color": 1, \
"categoryCode": "1", \
"availability": "InStock", \
"additionalImageLink_1": "https://media-cldnry.s-nbcnews.com/image/upload/t_fit-1240w,f_auto,q_auto:best/rockcms/2022-08/220805-border-collie-play-mn-1100-82d2f1.jpg", \
"compositeStructure": [ \
{ \
"id": "4-O1", \
"type": "SELECT", \
"title": "Hamburguesa", \
"values": [ \
{ \
"id": 216, \
"title": "Papas fritas", \
"extraPrice": 29.9 \
}, \
{ \
"id": 217, \
"title": "Bebida", \
"extraPrice": 29.9 \
} \
] \
}, \
{ \
"id": 335, \
"title": "Mostaza", \
"type": "CHECK", \
"defaultValue": false, \
"extraPrice": 69.9 \
}, \
{ \
"id": 338, \
"title": "Mayonesa", \
"type": "CHECK", \
"defaultValue": false, \
"extraPrice": 114.9 \
}, \
{ \
"id": 364, \
"title": "Ketchup", \
"type": "CHECK", \
"defaultValue": false, \
"extraPrice": 39.9 \
} \
] \
} \
], \
"upsert": true \
} \
' 'https://go.botmaker.com/api/v1.0/catalogs/<CATALOG_ID>/products'



Remember to visit our Help Center for further information.