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 GET call allows you to retrieve each of these product component objects with full detail.
The endpoint you need to use for this is:
/product/component
Key | Details | Example |
---|---|---|
Authorization* | {token_type} {access_token} | Bearer c3499c2729730a7f807efb8676a92dcb6f8a3f8f |
Method* | GET | GET |
x-accept-version | {recommended_latest_version_number} | 2 |
* Required header
Key | Details | Data Type | Example |
---|---|---|---|
statusCode | Very important to check this for shopwave server uptime. 200 for success. | int | 200 |
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 |
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} |
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 |
917 | 500 | Internal Server Error | Something went wrong. |
Please check the live API calls for more details on the API messages.
ID | Status Code | Title | Details |
---|---|---|---|
203 | 200 | Request Processed Successfully | The request has been successfully completed. |
204 | 204 | No content to return | End of the page or no content to return for your request |
202 | 200 | Token is valid | Token is validated and found valid. |