[POST] Products

Modified on Wed, 11 Mar at 12:21 PM

Create Product


This operation allows you to create a new product in the catalog.


It follows REST architecture principles and complies with the OData v4.01 standard.


[POST] Products Endpoint


https://api2.saleslayer.com/rest/Catalog/Products


Making a request


  • Use the HTTP method: POST.
  • Include the API key in the request headers for authentication.
  • The body must be sent in json format.
  • You must include attributes using their identifiers (not database names).
  • The prod_ref field is mandatory.


Body Example:


{

  "prod_ref": "PROD_001",

  "prod_title": "Auriculares Bluetooth",

  "prod_stat": "V",

  "prod_description": "Auriculares inalámbricos con cancelación de ruido",

  "prod_image": "auriculares01.jpg",

  "cat_id": "12",

  "typ_id": "3"

}


You can include custom attributes as long as they are previously defined in the Attribute Set associated with the product (typ_id). 


View item attributes on metadata endpoint.


ℹ️ Currently it is only allowed to link the product to a single category (cat_id).


ℹ️ For image or file fields, they must be referenced by name if they are already loaded in the system. Direct uploads are not supported in this operation.


Response


201 Created


If the product was created correctly


Response Headers Example


content-length: 0

date: Tue, 27 May 2025 23:06:09 GMT

location: https://api2.saleslayer.com/rest/Catalog/Products(3)


Note that the response returns the prod_id so it can be queried on another Product GET endpoint


400 Bad Request


There is an error in the data sent (incorrect format, invalid or missing fields).


Response Body Example


"Attribute prod_ref is mandatory"



//or



"Missing file name(s):Corazon2.png."


Limitations


  • Allows you to create a product per call.
  • Create products in batch (bulk) not yet supported.
  • Supports one category per product.
  • Does not yet support direct loading of media assets


Multi-language fields support


You can include multilanguage values in configured attributes


Making a request


  • Use the HTTP method: POST.
  • Include the API key in the request headers for authentication.
  • Indicate the Preferred Language of the response content in the parameter Accept-Language
  • The body must be sent in json format.
  • You must include attributes using their identifiers (not database names).
  • The prod_ref field is mandatory. You can include additional fields if they are already defined in your attribute structure.
  • Multilanguage fields must be sent as JSON objects with each supported language as a key.


Body Example


{

  "prod_ref": "PROD001",

  "prod_title": {

    "es": "Zapatillas Urbanas",

    "en": "Urban Sneakers"

  },

  "prod_stat": "V",

  "prod_description": {

    "es": "Calzado urbano para uso diario",

    "en": "Urban footwear for everyday use"

  },

  "prod_image": "zapatilla123.jpg",

  "cat_id": "5",

  "typ_id": "2"

}


Verify that the attribute supports multilanguage, and that languages are enabled in the account


Conditions in multilingual fields


You can send attributes in multiple languages as long as:


  • The field is configured as multilingual in the Attribute Set (typ_id)
  • Languages are supported in your account


Common mistakes:


  • Unsupported language -> Response: 400 - Invalid language code
  • Field not multi-language -> Response: 400 - Attribute does not support multi-language

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article