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

Copyright © 2024 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo