Fluent Commerce Logo
Docs
Sign In

Product Catalogue Workflow Interface Contracts

Interface Contract

Changed on:

26 Aug 2024

Detailed Description

The below Interface Contracts document the interaction points with the Product Catalogue workflow. These allow you to ensure that any integration made into the workflow will enable the workflow to work correctly.

UPSERT_CATEGORY Event

This event is used to create or update Category within the target Product Catalogue.

Request Payload

CATEGORY

Main Payload

Property

Description

Type

Required?

Length Limit

ref

The unique reference identifier for the category. Uppercase Alphanumeric. 

String

Required

100

name

The name of the category

String

Required

100

type

Type of the category. Normally set to "STANDARD"

String

Required

50

status

Status of the category

String

Optional

50

summary

A short description of the category

String

Optional

255

Event Request Example 

1Endpoint: POST {{fluentApiHost}}/api/v4.1/event/async
2
3Payload:
4
5{
6  "name": "UPSERT_CATEGORY",
7  "retailerId": "1",
8  "entityRef": "DEFAULT:1",
9  "entityType": "PRODUCT_CATALOGUE",
10  "entitySubtype": "DEFAULT",
11  "rootEntityRef": "DEFAULT:1",
12  "rootEntityType": "PRODUCT_CATALOGUE",
13  "attributes": {
14        "ref": "GAMING_CHAIR",
15        "type": "STANDARD",
16        "status": "ACTIVE",
17        "name": "GAMING CHAIR",
18        "summary": "BEST GAMING CHAIR IN THE WORLD"
19  }
20}

Language: json

Name: upsert_category on category

Description:

[Warning: empty required content area]

UPSERT_PRODUCT Event

This event is used to create or update products within the target Product Catalogue.

Request Payload

STANDARD PRODUCT

Main Payload

Property

Description

Type

Required?

Length Limit

ref

The unique reference identifier for the product

String

Required

100

name

The name of the product

String

Required

255

type

Type of the standard product

String

Required

50

status

Status of the standard product

String

Optional

50

gtin

The Global Trade Item Number (GTIN) for the product

String

Required

20

summary

A short description of the product

String

Optional

255

attributes

Array of attributes for the product

[Attribute]

Optional


categoryRefs

A list of references to the category's to which the product relates. Product categories must be a part of the same product catalogue. The category must already exist.

[String]

Optional

100

prices

Array of prices for the product

[prices]

Optional


taxType

Array of taxTypes for the product

[taxType]

Optional


Attribute Type

Property

Description

Type

Required?

Length Limit

attributes.name

Name of standard product attribute

String

Optional


attributes.type

Type of standard product attribute

String

Optional


attributes.value

Value of standard product attribute

String

Optional


Prices Type

Property

Description

Type

Required?

Length Limit

prices.type

Type of product price

String

Optional

100

prices.currency

Currency of product price

String

Optional

255

prices.value

Value of product price

Float

Optional

255

TaxType Type

Property

Description

Type

Required?

Length Limit

taxType.country

Country of the tax type

String

Optional

100

taxType.group

Group of the tax type

String

Optional

100

taxType.tariff

Tariff of the tax type

String

Optional

100

Event Request Example 

1Endpoint: POST {{fluentApiHost}}/api/v4.1/event/async
2
3
4{
5  "name": "UPSERT_PRODUCT",
6  "retailerId": "1",
7  "entityRef": "DEFAULT:1",
8  "entityType": "PRODUCT_CATALOGUE",
9  "entitySubtype": "DEFAULT",
10  "rootEntityRef": "DEFAULT:1",
11  "rootEntityType": "PRODUCT_CATALOGUE",
12  "attributes": {
13    "ref": "STANDARD_PRODUCT_1",
14    "status": "ACTIVE",
15    "type": "STANDARD",
16    "gtin": "SP",
17    "name": "Standard Product 1",
18    "summary": "Summary",
19    "attributes": [
20      {
21        "name": "imageUrl",
22        "type": "STRING",
23        "value": "ImageUrl"
24      }
25    ],
26    "categoryRefs": [
27      "CATEGORY_1"
28    ],
29    "prices": [
30      {
31        "type": "DEFAULT",
32        "currency": "AUD",
33        "value": 100
34      }
35    ],
36    "taxType": {
37      "country": "AU",
38      "group": "Tax Group",
39      "tariff": "Tax Tariff"
40    }
41  }
42}

Language: json

Name: upsert_product on standard product

Description:

[Warning: empty required content area]

VARIANT PRODUCT

Main Payload

Property

Description

Type

Required?

Length Limit

ref

The unique reference identifier for the product

String

Required

100

name

The name of the product

String

Required

255

type

Type of the variant product

String

Required

50

status

Status of the variant product

String

Optional

50

gtin

The Global Trade Item Number (GTIN) for the product

String

Required

20

summary

A short description of the product

String

Optional

255

standardProductRef

Associated base standard product of this variant product

String

Optional

100

attributes

Array of attributes for the product

[Attribute]

Optional


categoryRefs

A list of references to the category's to which the product relates. Product categories must be a part of the same product catalogue. The category must already exist.

[String]

Optional

100

prices

Array of prices for the product

[prices]

Optional


taxType

Array of taxTypes for the product

[taxType]

Optional


Attribute Type

Property

Description

Type

Required?

Length Limit

attributes.name

Name of standard product attribute

String

Optional


attributes.type

Type of standard product attribute

String

Optional


attributes.value

Value of standard product attribute

String

Optional


Prices Type

Property

Description

Type

Required?

Length Limit

prices.type

Type of product price

String

Optional

100

prices.currency

Currency of product price

String

Optional

255

prices.value

Value of product price

Float

Optional

255

TaxType Type

Property

Description

Type

Required?

Length Limit

taxType.country

Country of the tax type

String

Optional

100

taxType.group

Group of the tax type

String

Optional

100

taxType.tariff

Tariff of the tax type

String

Optional

100

Event Request Example

1Endpoint: POST {{fluentApiHost}}/api/v4.1/event/async
2
3{
4  "name": "UPSERT_PRODUCT",
5  "retailerId": "1",
6  "entityRef": "DEFAULT:1",
7  "entityType": "PRODUCT_CATALOGUE",
8  "entitySubtype": "DEFAULT",
9  "rootEntityRef": "DEFAULT:1",
10  "rootEntityType": "PRODUCT_CATALOGUE",
11  "attributes": {
12    "ref": "VARIANT_PRODUCT_1",
13    "status": "ACTIVE",
14    "type": "VARIANT",
15    "gtin": "VP",
16    "name": "Variant Product",
17    "summary": "Summary",
18    "standardProductRef": "STANDARD_PRODUCT_1",
19    "attributes": [
20      {
21        "name": "imageUrl",
22        "type": "STRING",
23        "value": "ImageUrl"
24      }
25    ],
26    "categoryRefs": [
27      "CATEGORY_1"
28    ],
29    "prices": [
30      {
31        "type": "DEFAULT",
32        "currency": "AUD",
33        "value": 100
34      }
35    ],
36    "taxType": {
37      "country": "AU",
38      "group": "Tax Group",
39      "tariff": "Tax Tariff"
40    }
41  }
42}

Language: json

Name: upsert_product on variant product

Description:

[Warning: empty required content area]

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