Send Products with Multiple Prices - Venddor API

← Back to API Documentation
POST /api/products/

This endpoint allows you to send products with multiple price points. This is useful for products that have different prices based on quantity (bulk discounts) or customer segment.

Request Headers

Header Value Description
Authorization Basic Auth Base64 encoded username:password combination

Request Body Parameters

The request should contain an array of product objects. You can send up to 50 products per request.

Parameter Type Required Description
product_code* string Yes Universal product code (barcode)
ncm string No NCM tax classification code
product* string Yes Product name
brand string No Brand name
weight string No Product weight in grams
price* string Yes Default unit price of the product (use comma as decimal separator, e.g., "12,49")
prices* array Yes Array of price objects defining different price points based on quantity or customer segment
amount* string Yes Quantity available in stock
qty_step string No Minimum quantity increment (default: "1")
status* string Yes Product status: "A" (active), "D" (disabled), or "H" (hidden)
internal_product_code string No Internal product number in the supplier's management system
quantity_per_package string No Number of units per package/bundle. If greater than one, the customer will have the option to buy the closed package in addition to buying by unit.

Prices Array Structure

Parameter Type Required Description
lower_limit* string Yes Minimum quantity required for this price to apply. Use "1" if you don't want to offer quantity-based pricing.
usergroup_id* string Yes ID of the customer segment this price applies to. Use "0" if the price applies to all customers.
price* string Yes Unit price for this quantity and customer segment (use comma as decimal separator, e.g., "10,99")

Example Request

[
  {
    "product_code": "7891404130314",
    "ncm": "18069000",
    "product": "Chocolate Sensação 80g",
    "brand": "NESTLE",
    "weight": "80",
    "price": "12,49",
    "prices": [
      {
        "lower_limit": "1",
        "usergroup_id": "0",
        "price": "10,99"
      },
      {
        "lower_limit": "1",
        "usergroup_id": "110",
        "price": "11,99"
      }
    ],
    "amount": "230",
    "qty_step": "1",
    "status": "A"
  }
]

Example Request with Quantity-based Pricing

[
  {
    "product_code": "7891401114233",
    "ncm": "18069000",
    "product": "Nestlé Alpino 100g",
    "brand": "NESTLE",
    "weight": "100",
    "price": "9,99",
    "prices": [
      {
        "lower_limit": "1",
        "usergroup_id": "0",
        "price": "9,99"
      },
      {
        "lower_limit": "5",
        "usergroup_id": "0",
        "price": "9,49"
      },
      {
        "lower_limit": "10",
        "usergroup_id": "0",
        "price": "8,79"
      },
      {
        "lower_limit": "50",
        "usergroup_id": "0",
        "price": "8,49"
      }
    ],
    "amount": "403",
    "qty_step": "1",
    "status": "A"
  }
]

Response

The endpoint returns the ID of the created or updated product(s).

Example Success Response (201 Created)

{
  "product_id": 934889,
  "product_ids": [
    934887,
    934889
  ]
}

Example Error Response (400 Bad Request)

{
  "message": "Bad Request",
  "status": 400
}
Tip: When configuring prices for different customer segments, you need to get the usergroup_id values from the Venddor administrator. These IDs correspond to the different customer segments configured in the system.
Important: To optimize performance, send products in batches of up to 50 products per request. For example, if you need to update 200 products, make 4 separate requests with 50 products each.