Fluent Commerce Logo
Docs
Sign In
Essential knowledge

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


Status Code for the above messages 401 | 400 | 403 | 404 | 500