Product Component POST

A product component is primarily a merchant object, which represents an sub-item group of the parent item for sale on the Shopwave platform. A product component along with its parent item can be placed into a basket and be sold with associated transactions. Products component can have associated stock detail per store, which are tracked and can be reported on.

This API POST call allows you to create and update each of these product component objects with full detail.

The endpoint you need to use for this is:

/product

Request

Headers

Key Details Example
Authorization* {token_type} {access_token} Bearer c3499c2729730a7f807efb8676a92dcb6f8a3f8f
Method* POST POST
x-accept-version {recommended_latest_version_number} 2

* Required header

Body

NOTE: To update just supply the object id.

Key Details Data Type
productComponents[{productComponentId}].id unique product Id Int
productComponents[{productComponentId}].name A name which is able to identify the product component. String
productComponents[{productComponentId}].minQuantity The minimum selectable quantity for this component. Int
productComponents[{productComponentId}].maxQuantity The maximum selectable quantity for this component. Int
productComponents[{productComponentId}].productTimestamp The date at which the product was added. DateTime
productComponents[{productComponentId}].deleteDate The date at which the product component was deleted. DateTime
productComponents[{productComponentId}].products An array of products (options) for this component. Array
...products[{productId}].id unique product Id Int
...products[{productId}].barcode The unique barcode for the product. String
...products[{productId}].name A name which is able to identify the product. String
...products[{productId}].details Extra details which are important for the product. String
...products[{productId}].activeDate The date at which the product became active. If this is null then the product is not currently active. DateTime
...products[{productId}].images An array of product image URL strings. Array
...products[{productId}].productInstances Availiable instances of the product for this component. Array
...productInstances[{productInstanceId}].id unique product Id Int
...productInstances[{productInstanceId}].name A name which is able to identify the product. String
...productInstances[{productInstanceId}].price The most recent and currently active product sale price. String
...productInstances[{productInstanceId}].vatPercentage The most recent and currently active product vat percentage. String
...productInstances[{productInstanceId}].quantity The default quantity for thi product instance. Int

                                                

Response

Headers

Key Details Data Type Example
statusCode Very important to check this for any error. 201 for success. int 201

Body

Key Details Data Type
productComponents[{productComponentId}].id unique product Id Int
productComponents[{productComponentId}].name A name which is able to identify the product component. String
productComponents[{productComponentId}].minQuantity The minimum selectable quantity for this component. Int
productComponents[{productComponentId}].maxQuantity The maximum selectable quantity for this component. Int
productComponents[{productComponentId}].productTimestamp The date at which the product was added. DateTime
productComponents[{productComponentId}].deleteDate The date at which the product component was deleted. DateTime
productComponents[{productComponentId}].products An array of products (options) for this component. Array
...products[{productId}].id unique product Id Int
...products[{productId}].barcode The unique barcode for the product. String
...products[{productId}].name A name which is able to identify the product. String
...products[{productId}].details Extra details which are important for the product. String
...products[{productId}].activeDate The date at which the product became active. If this is null then the product is not currently active. DateTime
...products[{productId}].images An array of product image URL strings. Array
...products[{productId}].productInstances Availiable instances of the product for this component. Array
...productInstances[{productInstanceId}].id unique product Id Int
...productInstances[{productInstanceId}].name A name which is able to identify the product. String
...productInstances[{productInstanceId}].price The most recent and currently active product sale price. String
...productInstances[{productInstanceId}].vatPercentage The most recent and currently active product vat percentage. String
...productInstances[{productInstanceId}].quantity The default quantity for thi product instance. Int

                                                

Status Codes

Error

Please check the live API calls for more details on the API messages.

ID Status Code Title Details
908 401 Expired Token Token expired or invalid. Please renew your token
911 401 Authorization Header Invalid The authorization header is invalid. The correct format is Authorization: {token_type} {accessToken}
919 429 Cannot handle too many request There is a limit for every object you can send to our server and you are exceding that.
913 400 Required parameter or object missing in request One or more of the required parameters or object formation is missing in your request. Please refer the documentation
904 401 Access Denied Access denied for the request
912 403 Resource Not Allowed For Specified User The user does not own this resource and its forbidden
899 500 Unknown Error Something went wrong. Please contact the site administrator

Success

Please check the live API calls for more details on the API messages.

ID Status Code Title Details
202 200 Token is valid Token is validated and found valid.
206 201 Resource Created Your resource is created partially or fully. Please check further message or process log
preloader