API Product category BATCH update

In the API release news from April 08, 2024 we launch a new possibility for BATCH product update.

This endpoint allows you to update multiple products at once. Batch update is processed asynchronously in same way as for example products snapshot, but it does not have resultUrl with products to download in response.

Instead, you can check the attribute log which contains successfully updated products and errors. See how Asynchronous requests work on our developer’s portal.

File with data for update must be in JSONL (jsonlines) format and each line must contain one product in JSON format.

Maximum size of file is 100MB. Structure of JSON row is same as structure of JSON for single product update above.

You can add one extra optional attribute language which defines language of updating product, so you are able to update multiple language attributes (i.e. name, description etc.) of one product in one batch file. If language is not defined, default language of shop is used.

Asynchronous job process jsonl file row by row and try to validate and save data. If there is any error, row is skipped and error is logged, but it does not stop processing of other rows.

In Log, every product is identified by its position in file (starting from 1).

We kindly ask you, if you see any problem with this, to let us know as soon as possible with a proper description of the expected and received behaviour.


Error log example:

{
    "data": {
        "job": {
            "jobId": "dxuh7w8",
            "endpoint": "/api/categories/batch",
            "creationTime": "2024-04-10T12:01:24+0200",
            "completionTime": "2024-04-10T12:02:02+0200",
            "duration": null,
            "status": "completed",
            "validUntil": null,
            "language": "cs",
            "resultUrl": null,
            "log": "{\"successfullyProcessedItems\":{\"1\":\"da73d42f-6ff2-11e9-beb1-002590dad85e\"},\"errors\":[],\"importItemErrors\":{\"2\":\"Provided image was not found on server.\"}}"
        }
    },
    "errors": null
}

Post navigation