Product API
Author:
Movyn John
Changed on:
3 July 2024
Overview
A Product is a conceptual entity with a product description and multiple sets of attributes. A unique combination of the Product attributes defines a SKU which is an item for sale.
Key points
- A product can have multiple SKUs associated with it and will have one or more categories associated.
- The properties available in the Product entity which can be updated and retrieved through the APIs.
1. productId
Type: Long
Description: { "productId" : "345444" } The unique product identifier assigned by Fluent Commerce.
2. retailerId
Type: String
Description: { "retailerId" : "197" } The retailer identifier assigned by Fluent Commerce.
3. productRef
Type: String
- Description: { "productRef" : "ProductRef_1972" } The unique product reference provided by the retailer.
4. name
Type: String
Description: { "name" : "MAV HUNTER DARK USED" } The Product name.
5. status
Type: String
Description: { "status" : "ACTIVE" } Product status. Possible values are: - ACTIVE (Default) - INACTIVE - UNKNOWN
6. prices
Type: Array
Description: "prices": [ { "type" : "UNIT_PRICE", "value" : "24.95", "currency" : "AUD" }, { "type" : "ORIGINAL_PRICE", "value" : "24.95", "currency" : "AUD" } ] Array of pricing information
- currency (string) - Possible values are 'AUD', 'NZD’.
- type (string) - Price type. Possible values are:
- CURRENT
- ORIGINAL
- ORIGINAL_PRICE
- UNIT_PRICE'
- value (double) - Associated price
7. references
Type: Array
Description: "references": [ { "type" : "EAN", "value" : "12313123123"}]
Retailer references associated with the Product
- type (string) - specific Product reference type. e.g BARCODE
- value (string) - Reference value
8. attributes
Type: Array
Description: "attributes": [{ "name": "Accessories", "type": "string", "value": "earphones"}]
The array of attributes: Attributes are used to provide additional information about the Product.
- name (String): Indicates specific Product attribute e.g. brand.
- type (String/Integer): Data type of specific Product attribute. Possible values are:
- STRING
- INTEGER'
- value (String): Value of Product attribute.
9. categories
Type: Array
Description: "categories": [ "234", "328"]
An array of category ids associated with the Product.
10. createdOn
Type: DateTime
Description: { "createdOn": "2016-05-06T23:41:12.242Z" } Date/time when the Product was created.
11. updatedOn
Type: DateTime
Description: { "updatedOn": "2016-06-23T07:58:58.000+0000" } Date/time when the Product was last updated.
What you can do with Product
Create a product
Create a Product in the Fluent Retail system.
POST: /api/v4.1/product
Request and response
Request parameters and sample
1productRequest {
2attributes (Array[Attribute], optional)
3}
4
5Attribute {
6
7 name (string, optional),
8 type (string, optional) = ['STRING', 'INTEGER'],
9 value (string, optional)
10},
11categories (array, optional),
12
13categories {
14 categoryId (long, optional)
15},
16createdOn (DateTime, optional), name (string, compulsory), prices (array, optional),
17
18prices {
19 currency (string, optional) = 'AUD', 'NZD',
20 type (string, compulsory) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
21 value (double, optional)
22},
23productId (long, optional), productRef (string, compulsory), references (array, optional),
24
25references {
26
27 type (string, optional),
28 value (string, optional)
29},
30retailerId (string, optional), status (string, optional), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime, optional)
31}
Language: java
Name: Product request
Description:
Request parameters for Product and samples like,
Attributes,
Categories,
Prices,
References,
Status,
createdon and updatedon (Date/Time)
1{
2"attributes": [
3{
4"name":"small",
5"value":"1234",
6"type":"STRING"
7}
8],
9
10"name": "MAV HUNTER DARK USED",
11"prices": [
12{
13"type": "CURRENT",
14"value": 79.95,
15"currency": "AUD"
16}
17],
18"productRef": "ProductRef_1972",
19"references": [
20{
21"type":"BARCODE",
22"value":"999"
23}
24],
25"status": "ACTIVE",
26"retailerId": "197"
27}
Language: json
Name: Example response
Description:
Example response
Response Parameters and sample
1SuccessMessageResponse {
2 id (string, optional)
3}
Language: json
Name: Product response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: json
Name: Product Example response
Description:
[Warning: empty required content area]View Product Details
Retrieve details of the Product.
GET: /api/v4.1/product/{productId}
Request and response
Request parameters and sample
Product request
/api/v4.1/product/{productId}
Example request
/api/v4.1/product/345444
Response Parameters and sample
1productResponse {
2attributes (Array[Attribute]),
3Attribute {
4 name (string),
5 type (string) = ['STRING', 'INTEGER'],
6 value (string)
7}
8
9categories (array),
10categories {
11 categoryId (string),
12 }
13
14 createdOn (DateTime),name (string),prices (array),
15
16prices {
17 currency (string) = 'AUD', 'NZD', 'USD'
18 type (string) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
19 value (double)
20}
21
22 productId (long),productRef (string),references (array),
23
24references {
25 type (string),
26 value (string)
27}
28
29 retailerId (string),status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime)
30
31}
Language: json
Name: Product response
Description:
Product response in arrays and all other parameters are listed.
Attributes,
Categories,
Prices,
References,
createdOn (DateTime), name (string), productId (long), productRef (string),
retailerId (string), status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime)
1{
2"productId":2006047,
3"productRef":"ProductRef_1972",
4"name":"MAV HUNTER DARK USED",
5"status":"ACTIVE",
6"retailerId":"197",
7"updatedOn":null,
8"prices":
9[
10{
11"type":"CURRENT",
12"value":79.95,
13"currency":"AUD"
14}
15],
16"attributes":
17[
18{
19"name":"small",
20"value":"1234",
21"type":"STRING"
22}
23],
24"references":
25[
26{
27"type":"BARCODE",
28"value":"999"
29}
30],
31"categories":
32["234","344"]
33}
Language: json
Name: Product Example response
Description:
Example response JSON
Search Product
Retrieve a list of Products matching the search criteria.
GET: /api/v4.1/product-
Request and response
Request parameters and sample
1productRequest {
2 productRef (string, compulsory),
3 start (integer, optional),
4 count (integer, optional),
5 }
6
7 {
8 "productRef":"ProductRef_1972"
9 "start": 1,
10 "count": 10
11 }
Language: json
Name: Product request and example
Description:
Product request and Example
Response Parameters and sample
1productResponse {
2start (integer),
3count (integer),
4total (integer),
5retailerId (integer),
6results (array),
7attributes (Array[Attribute]),
8
9Attribute {
10 name (string),
11 type (string) = ['STRING', 'INTEGER'],
12 value (string)
13}
14
15categories (array),
16
17categories {
18 categoryId (string)
19}
20
21createdOn (DateTime),
22name (string), prices (array),
23
24prices {
25 currency (string) = 'AUD', 'NZD','USD'
26 type (string) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
27 value (double)
28}
29
30productId (long), productRef (string), references (array),
31
32references {
33 type (string),
34 value (string)
35}
36
37retailerId (string), status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime) }
38
39}
40
Language: json
Name: Product response
Description:
Product Response Parameters of,
Attributes, Categories, Prices, References
1{
2 "start": 1,
3 "count": 10,
4 "total": 105883,
5 "retailerId": null,
6 "results": [
7 {
8 "productId": 1,
9 "productRef": "B0014W44",
10 "name": "BBC SS CLASSIC ARCH",
11 "status": "ACTIVE",
12 "retailerId": "197",
13 "prices": [
14 {
15 "type": "CURRENT",
16 "value": 40,
17 "currency": "AUD"
18 },
19 {
20 "type": "ORIGINAL",
21 "value": 59.99,
22 "currency": "AUD"
23 }
24 ],
25 "attributes": [
26 {
27 "name": "BRAND",
28 "value": "BBC",
29 "type": "STRING"
30 }
31 ],
32 "references": [],
33 "categories": [
34 "1151"
35 ],
36 "updatedOn": "2015-10-08T03:01:09.402+0000",
37 "createdOn": "2015-06-14T11:57:13.000+0000"
38 },...
39 ]
40}
Language: json
Name: Product Example response
Description:
Example response with sample
View Associated SKUs
Retrieve details of all SKUs associated to the Product.
GET: /api/v4.1/product/{productId}/sku
Request and response
Request parameters and sample
1productRequest {
2 productRef (string, compulsory),
3 start (integer, optional),
4 count (integer, optional),
5 }
6
7 {
8 "productRef":"ProductRef_1972"
9 "start": 1,
10 "count": 10
11 }
Language: json
Name: Product request
Description:
Product request and sample
Response Parameters and sample
1productResponse {
2 start (integer),
3 count (integer),
4 total (integer),
5 retailerId (integer),
6 results (array),
7
8 attributes (Array[Attribute]),
9 Attribute {
10 name (string),
11 type (string) = ['STRING', 'INTEGER'],
12 value (string)
13 }
14 categories (array),
15
16 categories {
17 categoryId (long),
18 categoryRef (string),
19 name (string),
20 createdOn (DateTime),
21 updatedOn (DateTime),
22 }
23
24 createdOn (DateTime), name (string), prices (array),
25
26 prices {
27 currency (string) = 'AUD', 'NZD',
28 type (string) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
29 value (double)
30 }
31
32 productId (long), productRef (string), references (array),
33
34 references {
35 type (string),
36 value (string)
37 }
38 retailerId (string), status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime) }
39
40 }
41
42
Language: json
Name: Product response
Description:
Response Parameters and sample
1{
2 "start": 1,
3 "count": 10,
4 "total": 105883,
5 "retailerId": null,
6 "results": [
7 {
8 "productId": 1,
9 "productRef": "B0014W44",
10 "name": "BBC SS CLASSIC ARCH",
11 "status": "ACTIVE",
12 "retailerId": "197",
13 "prices": [
14 {
15 "type": "CURRENT",
16 "value": 40,
17 "currency": "AUD"
18 },
19 {
20 "type": "ORIGINAL",
21 "value": 59.99,
22 "currency": "AUD"
23 }
24 ],
25 "attributes": [
26 {
27 "name": "BRAND",
28 "value": "BBC",
29 "type": "STRING"
30 }
31 ],
32 "references": [],
33 "categories": [
34 "1151"
35 ],
36 "updatedOn": "2015-10-08T03:01:09.402+0000",
37 "createdOn": "2015-06-14T11:57:13.000+0000"
38 },...
39 ]
40}
41
Language: json
Name: Product Example response
Description:
Example response
Update Product Details
Edit the Product information
PUT: /api/v4.1/product/{productId}
Request and response
Request parameters and sample
1productRequest {
2 attributes (Array[Attribute], optional),
3
4 Attribute {
5 name (string, compulsory),
6 type (string, compulsory) = ['STRING', 'INTEGER'],
7 value (string, compulsory)
8 }
9
10 categories (array, optional),
11
12 categories {
13 categoryId (long, compulsory),
14 categoryRef (string, compulsory),
15 name (string, compulsory),
16 createdOn (DateTime, compulsory),
17 updatedOn (DateTime, compulsory),
18 }
19
20 createdOn (DateTime, optional), name (string, optional), prices (array, optional),
21
22 prices {
23 currency (string, compulsory) = 'AUD', 'NZD',
24 type (string, compulsory) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
25 value (double, compulsory)
26 }
27
28 productId (long, optional), productRef (string, compulsory), references (array, optional),
29
30 references {
31 type (string, compulsory),
32 value (string, compulsory)
33 }
34
35 retailerId (string, optional), status (string, optional), = 'ACTIVE', 'INACTIVE', 'UNKNOWN', updatedOn (DateTime, optional)
36
37}
38
Language: json
Name: Product request
Description:
Product Request parameters and sample
1{
2"attributes": [
3{
4"name":"small",
5"value":"1234",
6"type":"STRING"
7}
8],
9"categories": [
10
11],
12"name": "MAV HUNTER DARK USED",
13"prices": [
14{
15"currency": "AUD",
16"value": 89.95,
17"type": "CURRENT"
18}
19],
20"productId": 2006047,
21"productRef": "ProductRef_1972",
22"references": [
23{
24"type":"BARCODE",
25"value":"999"
26}
27],
28"status": "ACTIVE",
29"updatedOn": "2015-08-24T05:43:06.100Z",
30"retailerId":"197"
31}
32
Language: json
Name: Product Example request
Description:
Example request with example
Response Parameters and sample
1SuccessMessageResponse {
2 id (string, optional)
3 }
Language: json
Name: Product Response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
4
5
Language: json
Name: Product Example Response
Description:
[Warning: empty required content area]Response on Failures
NAME | TYPE | DESCRIPTION |
error | Array | Array of errors |
message Code | String String | Additional information on the code Unauthorised | Bad Request | Forbidden | Not Found | Status 500 Error
|