Product

Create or update products in a batch

An item with an id updates that product; an item without one creates a product. By default one invalid item fails the whole call with HTTP 422.

post/entities/Products/batch-modify

Request

Query parameters

validation-levelinteger

Bit mask that relaxes validation on this write. 0 (the default) validates everything. Bits: 2 skip unchanged fields, 4 skip admin-defined validations, 8 allow read-only fields, 16 skip relation checks, 32 skip value checks, 64 skip invalid recalculations, 128 skip step-checklist gates, 256 add conditional field requirements, 512 skip uniqueness checks. Add bits together (20 = 4 + 16); member names and comma lists such as 4,16 work too. A value with an internal-only bit is refused with HTTP 400, code 117.

rollback-method0 | 1

0, the default: one failed item fails the whole batch (HTTP 422, or 404 for an unknown id) and nothing is written. 1: the valid items are written and the call answers 200 with success false and one result per item, an id or an error, in input order. Check every item.

Request body

allowed_pipelines1 | 2

Whether this product can be added to all pipelines or only the explicitly linked subset (see product_pipeline_relations).

Integer enum value: 1 - All, 2 - Selected

currency_exchange_rates_list_idstring uuid

Id of the currency exchange rate list applied to this product.

descriptionstring

Free-form description of the product.

namestring

Name of the product, shown in catalogues and pickers.

picture_idstring uuid

Id of the product picture document.

product_category_idstring uuid

Id of the product category this product belongs to, or empty when it is not categorized.

product_type_idstring uuid

Id of the product type that classifies this product.

skustring

Stock-keeping unit (SKU) identifier of the product. Must be unique across products.

unit_symbolstring

Unit of measure shown next to product quantities (e.g. pcs, kg, hours).

revisioninteger

Revision when entity was lastly changed.

picture_source_urlstring

URL of an image to use as the product picture. The image is downloaded from this URL and checked; only pictures are supported.

idstring uuid

ID of object to update.

Example request

[
  {
    "allowed_pipelines": 1,
    "currency_exchange_rates_list_id": "01234567-abcd-dcba-ffff-000000000000",
    "description": "string",
    "name": "string",
    "picture_id": "01234567-abcd-dcba-ffff-000000000000",
    "product_category_id": "01234567-abcd-dcba-ffff-000000000000",
    "product_type_id": "01234567-abcd-dcba-ffff-000000000000",
    "sku": "string",
    "unit_symbol": "string",
    "revision": 1,
    "product_pipelines": {
      "allowed_pipelines": 1
    },
    "picture_source_url": "string"
  }
]

Response

Result per item, in request order: the id of the created or updated record, or the error.

successboolean

True when the request succeeded; false on error.

Example response

{
  "success": true,
  "data": [
    {
      "http_status": 400,
      "code": 117,
      "name": "ERROR_PARAMETER_INVALID"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.