Article REST API (Deprecated)
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

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 |