Fluent Commerce Logo
Docs
Sign In

Article REST API (Deprecated)

Essential knowledge

Author:

Fluent Commerce

Changed on:

26 Nov 2024

Overview

An Article can be created when a fulfillment is fulfilled, or when a dispatch occurs. The Article represents the physical parcel that contains the customer order items. The Article is the entity received by the customer.

Key points

  • Article Entity Relationship
  • Article Properties
  • What you can do with Article


Description

An Article represents the physical parcel that transports customer order items and can be created when a fulfilment is fulfilled, or when a dispatch occurs.

Entity Relationship

No alt provided

Article Properties

Below are the properties available in the Article object which can be updated and retrieved through the APIs in this document.

1. orderId 

Type: Long

1{"orderId" : ""}

Language: json

Name: OrderId

Description:

[Warning: empty required content area]

Order id of the order

2. orderRef 

Type: String

1{"orderRef" : ""}

Language: json

Name: orderRef

Description:

[Warning: empty required content area]

Retailer order reference of article

3. orderType

Type: String

1{"orderType" : ""}

Language: json

Name: orderType

Description:

[Warning: empty required content area]

Order type of article

4. articleConsignments

Type: Array

1{"articleConsignments" : [Array]}

Language: json

Name: articleConsignments

Description:

[Warning: empty required content area]

An array of articles and their associated consignment details. Details article and consignment explained below.

5. article

Type: Array

1{ "orderId" : 312412313 }
2
3{ "orderType" : "HD" }
4
5{ "customerFirstName" : "Simon" }
6
7{ "customerLastName" : "Smith" }
8
9{ "fulfilmentId" : 3242342 }
10
11{ "fulfilmentRef" : "112333-GF" }
12
13{ "articleId" : 53524121 }
14
15{ "articleRef" : "8347534905" }
16
17{ "storageAreaRef" : "12123" }
18
19{ "status" : "CREATED" }
20
21{ "items" : [array] }

Language: java

Name: article

Description:

[Warning: empty required content area]

Array of articles related to the order will be included here. Each article object has field as explained below.

  • orderId (Long, Compulsory): Order id of the order
  • orderType (String, Optional): Type of the Order. HD | CC
  • customerFirstName (String, Optional): The first name of the customer
  • customerLastName (String, Optional): The last name of the customer
  • fulfilmentId (Long, Optional): The fulfillment id associated to the article
  • fulfilmentRef (String, Optional): The fulfillment reference associated to the article
  • articleId (Long, Compulsory): The article id
  • articleRef (String, Optional): The article reference
  • storageAreaRef (String, Optional): The storage area reference of the article
  • status (String, Optional): The status of the article.
  • items [Array]: The array of order items within the article, as explained below
6. items

Type: Array

1{ "articleItemId" : 53524121 }
2
3{ "articleItemRef" : "8347534905" }
4
5{ "fulfilmentItemId" : 767886878 }
6
7{ "fulfilmentItemRef" : "6356564_CF" }
8
9{ "orderItemId" : 6876886 }
10
11{ "orderItemRef" : "57658768" }
12
13{ "articleFilledQty" : 2 }
14
15{ "skuRef" : "7987986989" }
16
17{ "productRef" : "6687578" }
18
19{ "barcode" : "676888886" }

Language: java

Name: items

Description:

[Warning: empty required content area]

Array of article item objects

  • articleItemId (String, Optional): The article item id
  • articleItemRef (String, Optional): The article item reference if any
  • fulfilmentItemId (Long, Optional): The associated fulfillment item id
  • fulfilmentItemRef (String, Optional): The associated fulfillment item Reference
  • orderItemId (Long, Optional): The associated order item id
  • orderItemRef (String, Optional): The associated order item Reference
  • articleFilledQty (String, Optional): The number of units of this article item within the article
  • skuRef (String, Optional): The associated SKU reference against this article item id
  • productRef (String, Optional): The associated product reference
  • barcode (String, Optional): EAN,UPC,MPN,ISBN for SKU. This field only populated if values exist. Values created based on retailer settings.
7. consignment

Type: Object

Description: The object containing the details of the consignment for this article, referred to as Consignment Response.

1{ "carrierId" : 1 }
2
3{ "carrierName" : "Australia Post" }
4
5{ "consignmentId" : 1131231231 }
6
7{ "consignmentRef" : "23423423324" }
8
9{ "status" : "BOOKED" }
10
11{ "labelUrl" : "http://www.labelurl.com/url/2312342" }
12
13{ "reason" : "Consignment booked" }

Language: java

Name: Consignment

Description:

[Warning: empty required content area]

Consignment array will provide the consignments related to order

  • carrierId (String, Optional): The id of the carrier used
  • carrierName (String, Optional): The name of the carrier
  • consignmentId (String, Optional): The consignment id generated by Fluent Commerce
  • consignmentRef (String, Optional): The consignment reference provided by the carrier on booking
  • status (String, Optional): The status of the consignment.
  • labelUrl (String, Optional): The URL of the consignment note saved in Fluent Commerce
  • reason (String, Optional): Consignment reason
8. query

Type: String

1{ "query" : "" }

Language: java

Name: query

Description:

[Warning: empty required content area]

The barcode associated to the article. The user can pass in an order reference, fulfillment id, fulfillment reference, article id or article reference.

9. shippedOn

Type: DateTime

1{ "shippedOn" : "2016-01-21 04:22:07" }

Language: java

Name: shippiedOn

Description:

[Warning: empty required content area]

The time the article was updated.

This field is relevant for displaying the date and time to determine when an article moved from created to awaiting_arrival (i.e. when the article shipped from the DC)

10. locationRef

Type: String

1{ "locationRef" : "3025" }

Language: java

Name: locationRef

Description:

[Warning: empty required content area]

Location external reference of logged in user i.e. Store number.

What you can do with Article

Create a new Article 

Create new article API is used to add retailer created articles to the Fluent Commerce system. This API is heavily used in Ship To Store (STS) solution where the pick & pack process occurs in retailer warehouse using their WMS. Once an article is created in Fluent Commerce system, it can be used to track in store click and collect processes such as arrival and customer collection.

`POST`
:
`/api/v4.1/order/{orderId}/fulfilment/{fulfilmentId}/article`

Request and response

Request Parameters and sample

Article response

1FulfilmentArticleRequest {
2    articleRef (string, optional),
3    attributes (Array[Attribute], optional),
4    consignment (ConsignmentRequest, optional),
5    items (ArticleItemRequest, optional),
6    type (string, optional),
7    attributes (Array[Attribute], optional)
8}
9
10ConsignmentRequest {
11    carrierId (string, optional),
12    carrierName (string, optional),
13    consignmentId (integer, optional),
14    consignmentReason (string, optional),
15    consignmentRef (string, optional),
16    labelUrl (string, optional),
17    orderSummaryUrl (string, optional),
18    retailerId (string, optional),
19    shipmentId (string, optional),
20    status (string, optional)
21}
22
23ArticleItemRequest {
24    skuRef (string, optional),
25    quantity (Integer, optional)
26}
27
28Attribute {
29    name (string, optional),
30    type (string, optional) = ['STRING', 'INTEGER'],
31    value (string, optional)
32}

Language: java

Name: Article Response Example

Description:

[Warning: empty required content area]

Example response

1   {
2     "articleRef": "ARTICLE-001214",
3     "items": [
4       {
5         "quantity": "2",
6         "skuRef": "Test-1001004"
7       }
8     ],
9     "consignment": {
10       "carrierId": "22",
11       "consignmentRef": "TestRef1234567",
12       "labelUrl": "TestURL"
13     }
14    }

Language: json

Name: Example response

Description:

[Warning: empty required content area]

Response parameters and sample

Order response

1{
2 "id": 427323
3}

Language: java

Name: Order Response Example

Description:

[Warning: empty required content area]

View all Fulfilment Articles

Retrieve all Article & Consignment details associated with a Fulfilment Retrieve all Article & Consignment details associated with a Fulfilment

`GET`
`/api/v4.1/order/{orderId}/fulfilment/{fulfilmentId}/article`

Request and response

Request parameters and sample

1/api/v4.1/order/{orderId}/fulfilment/{fulfilmentId}/article

Language: javascript

Name: Request parameters and sample

Description:

[Warning: empty required content area]

Example request

1/api/v4.1/order/198816/fulfilment/81316/article

Language: java

Name: Example request

Description:

[Warning: empty required content area]

Response Parameters and sample

Article Response

1FulfilmentArticleResponse {
2    orderId (string, optional),
3    orderRef (string, optional),
4    orderType (string, optional)
5    articleConsignments (Array[ArticleConsignment], optional),
6}
7ArticleConsignment {
8    article (ArticleResponse, optional),
9    consignment (ConsignmentResponse, optional)
10}
11ArticleResponse {
12    articleId (string, optional),
13    articleRef (string, optional),
14    customerFirstName (string, optional),
15    customerLastName (string, optional),
16    fulfilmentId (string, optional),
17    fulfilmentRef (string, optional),
18    items (Collection«ArticleItemResponse», optional),
19    orderId (string, optional),
20    orderType (string, optional),
21    status (string, optional),
22    storageAreaRef (string, optional),
23    type (string, optional),
24    items (ArticleItemResponse, optional)
25    
26}
27ArticleItemResponse {
28    articleItemId (string, optional),
29    articleItemRef (string, optional),
30    fulfilmentItemId (string, optional),
31    fulfilmentItemRef (string, optional),
32    orderItemId (string, optional),
33    orderItemRef (string, optional),
34    articleFilledQty (string, optional),
35    skuRef (string, optional),
36    productRef (string, optional),
37    barcode (string, optional)
38}
39ConsignmentResponse {
40    carrierId (string, optional),
41    carrierName (string, optional),
42    consignmentId (integer, optional),
43    consignmentRef (string, optional),
44    consignmentTracking (Collection«ConsignmentHistoryResponse», optional),
45    createdOn (string, optional),
46    labelUrl (string, optional),
47    orderSummaryUrl (string, optional),
48    reason (string, optional),
49    retailerId (string, optional),
50    status (string, optional),
51    status (ConsignmentHistoryResponse, optional)
52    
53}
54ConsignmentHistoryResponse {
55    carrierId (string, optional),
56    carrierName (string, optional),
57    consignmentId (integer, optional),
58    consignmentRef (string, optional),
59    status (string, optional),
60    labelUrl (string, optional),
61    reason (string, optional)
62    }

Language: java

Name: Article Response

Description:

[Warning: empty required content area]

Example response

1{
2"orderId": "198816",
3"orderRef": "00000004",
4"orderType": "HD",
5"articleConsignments": [
6{
7"article": {
8"orderId": "198816",
9"orderType": "HD",
10"customerFirstName": "Alex",
11"customerLastName": "A",
12"fulfilmentId": "81316",
13"fulfilmentRef": "81316",
14"articleId": "4244476",
15"articleRef": null,
16"storageAreaRef": null,
17"status": "COLLECTED",
18"items": []
19},
20"consignment": {
21"carrierId": "7",
22"carrierName": "DHL",
23"consignmentId": "1929776",
24"consignmentRef": "81316",
25"status": "ACTIVE_SENT",
26"labelUrl": null,
27"reason": null,
28"consignmentTracking": []
29}
30}
31]
32}

Language: json

Name: Example response

Description:

[Warning: empty required content area]
View all Order Articles 

Retrieve all Article & Consignment details associated with an Order

`GET`
`/api/v4.1/order/{orderId}/article`

Request and response

Request parameters and sample

`/api/v4.1/order/{orderId}/article`

Example request

`/api/v4.1/order/198816/article`

Response Parameters and sample

Article Response

1articleResponse {
2    orderId (string),
3    orderRef (string),
4    orderType (string) = 'HD', 'CC',
5    articleConsignment {
6    article (articleResponse),
7    consignment (consignmentResponse),
8}
9articleResponse {
10    fulfilmentId (string),
11    fulfilmentRef (string),
12    articleId (string),
13    articleRef (string),
14    storageAreaRef (string),
15    status (string) = 'CREATED', 'AWAITING_ARRIVAL', 'AWAITING_COLLECTION', 'COLLECTED', 'CANCELLED',
16    items (articleItemResponse),
17}
18articleItemResponse {
19    articleItemId (string),
20    articleItemRef (string),
21    fulfilmentItemId (string),
22    fulfilmentItemRef (string),
23    orderItemId (string),
24    orderItemRef (string),
25    articleFilledQty (string),
26    skuRef (string),
27    productRef (string),
28    barcode (string) = 'EAN', 'UPC', 'MPN', 'ISBN'
29}
30consignmentResponse {
31    carrierId (string),
32    carrierName (string),
33    consignmentId (integer),
34    consignmentRef (string),
35    status (string) = 'ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT',
36    labelUrl (string),
37    reason (string),
38    consignmentTracking (consignmentHistoryResponse),
39}
40consignmentHistoryResponse {
41    carrierId (string),
42    carrierName (string),
43    consignmentId (integer),
44    consignmentRef (string),
45    status (string) = 'COMPLETE', 'CANCELLED',
46    labelUrl (string),
47    reason (string)
48}

Language: java

Name: Article Response

Description:

[Warning: empty required content area]

Example response

`ADD`

View Article Attributes 

Retrieve article attributes

`GET`
`/api/v4.1/article/{articleId}/attribute`

Request and response

Request parameters and sample

`/api/v4.1/article/{articleId}/attribute`

Example request 

`/api/v4.1/article/765437/attribute`

Response Parameters and sample

Article Response

1ArticleResponse {
2    articleId (long),
3    attributes (articleResponse)
4}
5
6  

Language: java

Name: Article Response

Description:

[Warning: empty required content area]
1name (string),
2value (string)

Language: java

Name: View attributes

Description:

[Warning: empty required content area]

Example response

1{
2"articleId": "16567",
3"attributes": [
4{
5"name": "articlecode_1",
6"value": "123"
7},
8{
9"name": "articlecode_2",
10"value": "124"
11},
12{
13"name": "articlecode_3",
14"value": "125"
15}
16]
17}

Language: json

Name: Example response

Description:

[Warning: empty required content area]
Search Articles

Retrieve a list of Articles matching the search criteria

`GET`
`/api/v4.1/article`

Request and response

Request parameters and sample

Article request

1URL Parameters:
2
3start (integer, optional),
4
5count (integer, optional),
6direction (string, optional) = 'INBOUND', 'OUTBOUND',
7status (string, optional) = 'CREATED', 'AWAITING_ARRIVAL', 'AWAITING_COLLECTION', 'COLLECTED', 'CANCELLED',
8consignmentStatus (string, optional) = 'ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'CANCELLED', 'COMPLETE',
9type (string, optional) = 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC',
10olderThan (string, optional),
11query (string, optional)

Language: java

Name: Article request

Description:

[Warning: empty required content area]


Response Parameters and sample

Article response

1articleResponse {
2    start (integer),
3    count (integer),
4    total (integer),
5    retailerId (string),
6    results (Array[articleSummary])
7}
8articleSummary {
9    orderId (string),
10    orderRef (string),
11    orderType (string) = 'CC', 'HD',
12    articleId (string),
13    articleRef (string),
14    shippedOn (DateTime),
15    storageAreaRef (string),
16    numberOfArticles (string),
17    consignmentStatus (string) = 'ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'CANCELLED', 'COMPLETE',
18    customerFirstName (string),
19    customerLastName (string)
20}

Language: java

Name: Article response

Description:

[Warning: empty required content area]

Example response

1{
2 "start": 1,
3 "count": 2,
4 "total": 49885,
5 "retailerId": "433",
6 "results": [
7 {
8 "orderId": 198836,
9 "orderRef": "SEEDAU00000514",
10 "orderType": "HD",
11 "shippedOn": "2016-01-20 03:53:23",
12 "articleId": 4243999,
13 "articleRef": null,
14 "storageAreaRef": null,
15 "numberOfArticles": 2,
16 "consignmentStatus": "ACTIVE_LODGED",
17 "customerFirstName": "Stephanie",
18 "customerLastName": "Smith"
19 },
20 {
21 "orderId": 198837,
22 "orderRef": "SEEDAU00000515",
23 "orderType": "HD",
24 "shippedOn": "2016-01-21 04:22:07",
25 "articleId": 4244000,
26 "articleRef": null,
27 "storageAreaRef": null,
28 "numberOfArticles": 1,
29 "consignmentStatus": "ACTIVE_LODGED",
30 "customerFirstName": "John",
31 "customerLastName": "Newman"
32 }
33 ]
34}

Language: java

Name: Example response

Description:

[Warning: empty required content area]
Update Article Attributes

Add, update or remove Article attributes.

  • Add - If attribute name does not exist, API will add the new attribute to entity.
  • Update - If attribute name exists, API will update the value of attribute
  • Delete - If only attribute name is passed without value, API will remove the attribute

`PUT`
`/api/v4.1/article/{articleId}/attribute`

Request and response

Article request

1ArticleRequest {
2    attributes (Array[attributeRecord], optional),
3    
4}
5// attributeRecord
6Attribute {
7    name (string, compulsory),
8    value (string, optional)
9}

Language: java

Name: Article request

Description:

[Warning: empty required content area]

Example request

1{
2"attributes": [
3{
4"name": "articlecode_1",
5"value": "123"
6},
7{
8"name": "articlecode_2",
9"value": "124"
10},
11{
12"name": "articlecode_3",
13"value": "125"
14}
15]
16}

Language: java

Name: Example request

Description:

[Warning: empty required content area]

Response parameters and sample

Article response

1attributesResponse{
2    updatedAttributes (Array[attributeRecord]) []
3    failedAttributes (Array[attributeFailureRecord]) []
4}
5// attributeRecord
6Attribute {
7    name (string),
8    value (string)
9}
10// attributeFailureRecord
11Attribute {
12    name (string),
13    value (string),
14    error(string)
15}

Language: java

Name: Article response

Description:

[Warning: empty required content area]

** Example request**

1{
2"updatedattributes": [ {
3"name": "articlecode_1",
4"value": "123"
5},
6{
7"name": "articlecode_2",
8"value": "124"
9}],
10"failedattributes": [
11{
12"name": "articlecode_3",
13"value": "125",
14"error": "attribute not allowed for the user ID : [8977]"
15}
16]
17}

Language: json

Name: Example request

Description:

[Warning: empty required content area]
Update Article Storage Area 

Add Article to storage area location

`PUT`
`/api/v4.1/article/{articleId}/store/{storageAreaRef}`

Request and response

Request parameters and sample

Article request

1/api/v4.1/article/{articleId}/store/{storageAreaRef}
2
3articleRequest {
4
5locationRef (string, optional)
6}

Language: java

Name: Article request

Description:

[Warning: empty required content area]

Example request

1/api/v4.1/article/327658/store/Red01
2
3
4{
5 "locationRef":"3025"
6}

Language: java

Name: Example request

Description:

[Warning: empty required content area]

Response Parameters and sample

Article response

1SuccessMessageResponse {
2
3id (object, optional),
4}

Language: java

Name: Article response

Description:

[Warning: empty required content area]

Example response

1{
2 "id":"327658"
3}

Language: json

Name: Example response

Description:

[Warning: empty required content area]
Remove Article from Storage Area 

Delete Article from storage area location

`DELETE`
`/api/v4.1/article/{articleId}/store/{storageAreaRef}`

Request and response

Request parameters and sample

Article request

1/api/v4.1/article/{articleId}/store/{storageAreaRef}
2
3articleRequest {
4
5locationRef (string, optional)
6}

Language: java

Name: Article request

Description:

[Warning: empty required content area]

Example request

1/api/v4.1/article/327658/store/Red01
2
3
4{
5 "locationRef":"3025"
6}

Language: java

Name: Example request

Description:

[Warning: empty required content area]

Response Parameters and sample

Article response

1SuccessMessageResponse {
2    id (object, optional),
3}
4

Language: java

Name: Article response

Description:

[Warning: empty required content area]

Example response

1{
2 "id":"327658"
3}

Language: json

Name: Example response

Description:

[Warning: empty required content area]

Response on failure

NAME

TYPE

DESCRIPTION

error

Array

Array of errors

message

String

Additional information on the code Unauthorized | Bad Request | Forbidden | Not Found | Status 500 Error

code

String

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



Fluent Commerce

Fluent Commerce