v4.1 Deprecated REST APIs Overview
Author:
Fluent Commerce
Changed on:
11 Feb 2025
Overview
- This section provides documentation for deprecated APIs in maintenance mode.
- These APIs are no longer supported.
- See our GraphQL API for more advanced API access to Domain data!
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 |
Batch API
Author:
Fluent Commerce
Changed on:
10 Dec 2024
Overview
A batch contains a series of records that will have the same operation applied to it. All Batches are run asynchronously so to confirm success or failure the client must request a status update for submitted batches via the GET API at a later stage. Most Batches are limited to 5,000 records.
To create a Batch, the user must first create a Job. A Job is required to store a series of batches. For more information please refer to the Job API.
Key points
- Batch Properties
- Category Batch
- Inventory Batch
- Location Batch
- Response on Failures
Batch Properties
Below are the properties available in the Batch object which can be updated and retrieved through the APIs in this document.
1. id
Type: DateTime
Description: Unique id associated with the created batch.
2. jobId
Type: String
Description: The unique identifier associated to the Job.
`{ "jobId" : "223" }`
3. batchId
Type: String
Description: The unique batch id.
4. start
Type: String
Description: Offset of result
5. count
Type: String
Description: The count of batches shown
6. total
Type: String
Description: Total no of batches
7. action
Type: String
Description: The type of operation that will be applied to all records in the batch.
`{ "action": "UPSERT" }`
Possible values are:
- UPSERT: Insert or update records. If the record already exists then update existing record.
- CREATE: Create new records.
BATCHRECORDSTATUS
- entityId: FluentRetail ID of category entity. This field is only available when category is created successfull.
- entityRef: External reference of category entity.
- responseCode:
- 200 OK: successful
- 404: not found (Dependent record)
- 500: Internal server
- 301: Unauthorised
- message: Descriptive message related to the response code.
8. entityType
Type: String
Description: Entity type. Possible values are 'INVENTORY', 'LOCATION'.
`{ "entityType" : "INVENTORY" }`
9. entities
Type: Array
Description: An array of InventoryPost records
1{ "retailerId" : "197" }
2
3{ "inventoryId" : "56470" }
4
5 { "skuRef" : "29SPM0020X96-1-8" }
6
7 { "locationRef" : "158" }
8
9 { "qty" : "10" }
10
11 { "correctedQty" : "2" }
12
13{ "reservedQty" : "2" }
14
15retailerId (string) : The retailer identifier assigned by Fluent Commerce.
16inventoryId (string) : The unique identifier assigned by Fluent Commerce.
17skuRef (string) : The unique reference or code provided by the retailer.
18locationRef (string) : The location (i.e. store) number.
19qty (integer) : The stock on hand.
20correctedQty (integer) : Correction quantity based on stock updates.
21reservedQty (integer) : Quantity reserved due to unfulfilled orders
Language: java
Name: Example: An array of InventoryPost records
Description:
[Warning: empty required content area]1{ "locationRef" : "DX001" }
2
3{ "alternateId" : "36137249241" }
4
5{ "status" : "ACTIVE" }
6
7{ "name" : "ABC Store" }
8
9{ "email" : "abcstore@mystore.com.au" }
10
11{ "supportPhone" : "0272432243" }
12
13{ "type" : "STORE" }
14
15{ "timeZone" : "+10" }
16
17{ "pickAndPackTimeLimit" : 2 }
18
19{ "ClickAndCollectNetworks" : [”ABC_CC”] }
20
21{ "useInventoryForHomeDelivery" : [”ABC_HD”]}
22
23{ "useInventoryForClickCollect" : [”ABC_CC”]}
24
25{ "StorageAreas" : [”locker_1","locker_2”]}
26
27{ "address" : {
28 "LocationRef":"DX001",
29 "companyName":"ABC Pvt Ltd",
30 "name":"ABC Store",
31 "city":"Sydney",
32 "country":"Australia",
33 "postcode":"2100",
34 "state":"NSW",
35 "street":"48, Kippax St.",
36 "longiltude":"33.8688",
37 "latitude":"150.72893"
38 }}
39
40{ "openingHours" : "{
41
42 "allHours": true,
43 "friEndMin": 0,
44 "friStartMin": 0,
45 "monEndMin": 0,
46 "monStartMin": 0,
47 "satEndMin": 0,
48 "satStartMin": 0,
49 "sunEndMin": 0,
50 "sunStartMin": 0,
51 "thuEndMin": 0,
52 "thuStartMin": 0,
53 "tueEndMin": 0,
54 "tueStartMin": 0,
55 "wedEndMin": 0,
56 "wedStartMin": 0
57 }}
58{ "agentNetworks" : [”network1”] }
59{ "attributes" : [
60
61 {
62 "name" : "Supplier address",
63 "type" : "address",
64 "value" : {"Address 1" : "46, Kipax Street",
65 "Suburb" : "Surry Hills"
66 "Post code" : "2010",
67 "State" : "NSW"
68 }
69 },
70 {
71 "name" : "ECP",
72 "type" : "string",
73 "value" : "XCD123"
74 }
75 ]
76}
77
78
79locationRef (String) Compulsory - The location reference from the retailer.
80alternateId (String) Optional - External ID for location.
81status (String) Compulsory - Status of the location. Allowed values are ACTIVE | INACTIVE.
82name (String) Compulsory - The name of the location.
83email (String) Compulsory - The object of customer information.
84supportPhone (String) Compulsory - The support phone number.
85type (String) Compulsory - Type of the location STORE | WAREHOUSE.
86timeZone (String) Compulsory - Time Zone associated with this location.
87pickAndPackTimeLimit (Int) Optional - Default is 3 HRS for store location. N/A For WAREHOUSE.
88clickAndCollectNetworks (Array[String]) Optional - The list of Click & Collect Network for which this Location can act as a collection point
89useInventoryForHomeDelivery (Array[String]) Optional - The list of HD Networks for which this Location can do fulfilment.
90useInventoryForClickCollect (Array[String]) Optional - The list of CC Networks for which this Location can do fulfilment.
91storageAreas [Array] Optional - List of storage Areas associated with the location.
92address Address Compulsory - The address of the location.
93
94LocationRef (String) Compulsory - The location reference from the retailer.
95companyName (String) Compulsory - Company Name.
96name (String) Optional - The name of the location.
97city (String) Optional - City name.
98country (String) Optional - Country name.
99postcode (String) Optional - Post code of the location.
100state (String) Optional - State name.
101street (String) Optional - Street name.
102latitude (String) Compulsory - Latitude.
103longitude (String) Compulsory - Longitude.
104openingHours OpeningHours Compulsory - The opening hours associated with this location.
105
106mon_start_min (integer) Compulsory - Start Time.
107mon_end_min (integer) Compulsory - End Time.
108tue_start_min (integer) Compulsory - Start Time.
109tue_end_min (integer) Compulsory - End Time.
110wed_start_min (integer) Compulsory - Start Time.
111wed_end_min (integer) Compulsory - End Time.
112thur_start_min (integer) Compulsory - Start Time.
113thur_end_min (integer) Compulsory - End Time.
114fri_start_min (integer) Compulsory - Start Time.
115fri_end_min (integer) Compulsory - End Time.
116sat_start_min (integer) Compulsory - Start Time.
117sat_end_min (integer) Compulsory - End Time.
118sun_start_min (integer) Compulsory - Start Times.
119sun_end_min (integer) Compulsory - End Time.
120allHours (boolean) Optional Indicates whether the store is 24x7
121agentNetworks [Array] Optional List of agent networks this location associated with (String array which represent agent network ids).
122
123attributes [Array] Optional - The array of attributes
124name (String) N attribute name
125type (String) N attribute type
126value (object) N Value
Language: java
Name: Example: An array of LocationPost records
Description:
[Warning: empty required content area]10. status
Type: String
Description: The Status of the batch
1{ "status" : “RUNNING” }
2
3Possible values are: - PENDING - Batch has been entered but is not currently running. - RUNNING - Batch is being processed - COMPLETE - Batch has been processed ( with or without errors )
Language: java
Name: Status
Description:
[Warning: empty required content area]Category Batch
Category Batch Properties
1. categoryRef
- Type: String
- Description: External Category reference to be referenced as the parent category.
Create a Batch
This endpoint can be used to create a new batch
POST:
`/api/v4.1/job/{jobid}/batch`
Request object and example
1batchRequest {
2
3action (string, compulsory) = UPSERT,
4entityType (string, compulsory) = CATEGORY,
5entities (array, compulsory),
6
7 CategoryPost {
8 categoryRef (string, compulsory),
9 name (string, compulsory),
10 parentCategoryRef (string, optional),
11 }
12
13}
Language: java
Name: Request object
Description:
[Warning: empty required content area]1{
2 "action": "UPSERT",
3 "entityType": "CATEGORY",
4 "entities": [
5 {
6 "categoryRef": "CGR-0001",
7 "name": "Category 001",
8 "parentCategoryRef": "CGR-000"
9 },
10 {
11 "categoryRef": "CGR-0002",
12 "name": "Category 002"
13 }
14 ]
15}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response object and example
1SuccessMessageResponse {
2
3id (object, optional),
4message (string, optional),
5status (string, optional)
6}
Language: java
Name: Response object
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]View Details of a Batch Job
This endpoint can be used to view the status of a batch job
GET:
`/api/v4.1/job/{jobid}/batch/{batchId}`
Request example
1/api/v4.1/job/223/batch/299
Language: java
Name: Request sample
Description:
[Warning: empty required content area]Response object and example
1batchResponse {
2
3 batchId (string),
4 entityType (string) = 'CATEGORY',
5 status (string) = 'PENDING', 'RUNNING', 'COMPLETE',
6 start (integer),
7 count (integer),
8 total (integer),
9 results (array[batchRecordStatus]):[
10 {
11 entityId (string),
12 entityRef (string),
13 responseCode (string) = '200', '404', '500', '401'
14 message (string)
15 }
16 ]
17 }
Language: java
Name: Response object
Description:
[Warning: empty required content area]1{
2 "batchId": "1",
3 "entityType": "CATEGORY",
4 "status": "PENDING|RUNNING|COMPLETE",
5 "start": 1,
6 "count": 100,
7 "total": 5000,
8 "results": [
9 {
10 "responseCode": 404,
11 "entityRef": "CGR-0001",
12 "message": "Parent category \"CGR-000\" does not exist"
13 },
14 {
15 "responseCode": 200,
16 "entityId": "2",
17 "entityRef": "CGR-0002",
18 "message": "Category update successfully"
19 }
20 ],
21 "createdOn": "2017-09-20T10:00.000Z"
22}
Language: json
Name: Response Example
Description:
[Warning: empty required content area]Inventory Batch
Create an Inventory Batch
This endpoint can be used to create a new inventory batch.
POST:
`/api/v4.1/job/{jobid}/batch`
Request object and example
1// Request for INVENTORY
2
3batchRequest {
4
5 action (string, compulsory) = UPSERT,
6
7 entityType (string, compulsory) = INVENTORY,
8
9 entities (array, compulsory)
10}
11
12 InventoryPost {
13 retailerId (string, compulsory),
14 skuRef (string, compulsory),
15 locationRef (string, compulsory),
16 qty (integer, compulsory)
17 correctedQty (integer, optional)
18 }
Language: java
Name: Request object
Description:
[Warning: empty required content area]1{
2 "action": "UPSERT",
3 "entityType": "INVENTORY",
4 "entities": [
5{
6 "locationRef": "158",
7 "qty": 10,
8 "correctedQty": 11,
9 "reservedQty" : 12,
10 "skuRef": "29SPM0020X96-1-8",
11 "retailerId": 197
12 }
13 ]
14}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response object and example
1SuccessMessageResponse {
2
3id (object, optional),
4message (string, optional),
5status (string, optional)
6}
Language: java
Name: Response object
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]View an Inventory Batch
With Global Inventory enabled (INVENTORY_BATCH_ENHANCEMENT_ENABLED = TRUE), the status of inventory processing can be verified by retrieving the corresponding events for the job and batch entities. For each inventory batch that is submitted, a "CREATE" event is generated. When the inventory processing is complete and the inventory workflow has been executed, a corresponding "BATCH_COMPLETE" event is generated.
When Global Inventory is not enabled, follow the guides below.
Retrieve details of the Batch.
GET:
`/api/v4.1/job/{jobid}/batch/{batchId}`
Request example
1/api/v4.1/job/223/batch/299
Language: java
Name: Request sample
Description:
[Warning: empty required content area]Response object and example
1batchResponse {
2
3 batchId (string),
4 entityType (string) = 'INVENTORY',
5 status (string) = 'PENDING', 'RUNNING', 'COMPLETE',
6 start (integer),
7 count (integer),
8 total (integer),
9 results (array[batchRecordStatus]):[
10 {
11 entityId (string),
12 entityRef (string),
13 responseCode (string) = '200', '404', '500', '401'
14 message (string)
15 }
16 ]
17 }
Language: java
Name: Response object
Description:
[Warning: empty required content area]1{
2"batchId": "300",
3"entityType": "INVENTORY",
4"status": "COMPLETE",
5"start": 1,
6"count": 10,
7"total": 1,
8"results": [
9{
10"entityId": "1013187",
11"entityRef": null,
12"responseCode": 200,
13"message": "Inventory Created."
14}
15]
16}
Language: json
Name: Response Example
Description:
[Warning: empty required content area]Location Batch
1// Request for LOCATION
2
3batchRequest {
4
5 action (string, compulsory) = UPSERT,
6
7 entityType (string, compulsory) = LOCATION,
8
9 entities (array, compulsory),
10}
11
12
13entities {
14 address (AddressDTO, optional),
15 agentNetworks (Array[string], optional),
16 alternateId (string, optional),
17 attributes (Array[Attribute], optional),
18 clickAndCollectNetworks (Array[string], optional),
19 directions (string, optional),
20 email (string, optional),
21 locationRef (string, optional),
22 name (string, optional),
23 openingHours (AgentOpening,optional),
24 pickAndPackTimeLimit (integer, optional),
25 status (string, optional) = ['ACTIVE','INACTIVE']stringEnum:"ACTIVE", "INACTIVE",
26 storageAreas (Array[string], optional),
27 supportPhone (string, optional),
28 timeZone (string, optional),
29 type (string, optional),
30 useInventoryForClickAndCollect(Array[string], optional),
31 useInventoryForHomeDelivery(Array[string], optional)}
32}
33
34
35AddressDTO {
36
37city (string, optional),
38companyName (string, optional),
39country (string, optional),
40latitude (number, optional),
41locationRef (string, optional),
42longitude (number, optional),
43name (string, optional),
44postcode (string, optional),
45state (string, optional),
46street (string, optional)
47
48}
49
50 Attribute {
51name (string, optional),
52type (string, optional),
53value (object, optional)
54
55}
56
57agentNetworks (Array[string], optional), alternateId (string, optional), attributes (Array[Attribute], optional),
58
59
60AgentOpening {
61allHours (boolean, optional),
62friEndMin (integer, optional),
63friStartMin (integer, optional),
64monEndMin (integer, optional),
65monStartMin (integer, optional),
66satEndMin (integer, optional),
67satStartMin (integer, optional),
68sunEndMin (integer, optional),
69sunStartMin (integer, optional),
70thuEndMin (integer, optional),
71thuStartMin (integer, optional),
72tueEndMin (integer, optional),
73tueStartMin (integer, optional),
74wedEndMin (integer, optional),
75wedStartMin (integer, optional)
76
77}
78
Language: java
Name: Location Request Example
Description:
[Warning: empty required content area]Response on Failures
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 |
Category Batch API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
The Category Batch API is used to create a Category using the Fluent Commerce Batch framework.
Key points
- Category Batch Properties
- What you can do with the Category Batch API
- Respose on Failures
Category Batch API
Overview
The Category Batch API is used to create a Category using the Fluent Commerce Batch framework.
Category Batch Properties
Below are the properties available in the Category Batch object which can be updated/retrieved through the APIs in this document.
1. action
Type: String
Description: The type of operation that will be applied to all records in the batch. Allowed value is UPSERT.
2. entityType
Type: String
Description: Entity type. Allowed values are CATEGORY.
3. entities
Type: Array
Description: An array of category POST records.
4. categoryRef
Type: String
Description: External Category reference to be referenced as parent category.
5. id
Type: DateTime
Description: Unique id associated to the created batch.
6. jobid
Type: String
Description: The unique job id.
7. batchId
Type: String
Description: The unique batch id.
8. start
Type: String
Description: Offset of result.
9. count
Type: DateTime
Description: The count of batches shown.
10. total
Type: String
Description: Total no of batches.
11. status
Type: String
Description: state of the batch:
- PENDING - Batch has been entered but is not currently running
- RUNNING - Batch is being processed
- COMPLETE - Batch has been processed ( with or without errors ) The unique batch id.
12. results
Type: Array Description: Array of Batch Record Status.
13. BATCHRECORDSTATUS
Type: entityId
Description: Fluent Commerce ID of category entity. This field is only available when category is created successfully.
14. Type: entityRef
Type: entityRef
Description: External reference of category entity.
15. Type: responseCode
Type: responseCode
Description:
- 2
- 00 OK - successful,
- 404 - not found ( Dependent record ),
- 500 - Internal Server,
- 401 - Unauthorized.
16. Type: message
Type: message
Description: Descriptive message related to the response code.
What you can do with the Category Batch API
Create a new Batch Job
This endpoint can be used to create a new batch
POST:
`/api/v4.1/job/{jobid}/batch`
Request and response
Request parameters and sample
1batchRequest {
2
3 action (string, compulsory) = UPSERT,
4 entityType (string, compulsory) = CATEGORY,
5 entities (array, compulsory),
6
7
8 CategoryPost {
9 categoryRef (string, compulsory),
10 name (string, compulsory),
11 parentCategoryRef (string, optional),
12 }
13
14}
Language: java
Name: Batch request
Description:
[Warning: empty required content area]1{
2 "action": "UPSERT",
3 "entityType": "CATEGORY",
4 "entities": [
5 {
6 "categoryRef": "CGR-0001",
7 "name": "Category 001",
8 "parentCategoryRef": "CGR-000"
9 },
10 {
11 "categoryRef": "CGR-0002",
12 "name": "Category 002"
13 }
14 ]
15}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1SuccessMessageResponse {
2
3 id (object, optional),
4 message (string, optional),
5 status (string, optional)
6}
Language: java
Name: Batch response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]View details of a batch job
This endpoint can be used to view the status of a batch job
GET:
`//api/v4.1/job/{jobid}/batch/{batchId}`
Request and response
Request parameters and sample
`/api/v4.1/job/223/batch/299`
Response object and sample
Batch response
1batchResponse {
2
3 batchId (string),
4 entityType (string) = 'CATEGORY',
5 status (string) = 'PENDING', 'RUNNING', 'COMPLETE',
6 start (integer),
7 count (integer),
8 total (integer),
9 results (array[batchRecordStatus]):
10 [{
11 entityId (string),
12 entityRef (string),
13 responseCode (string) = '200', '404', '500', '401'
14 message (string)
15 }]
16}
Language: java
Name: Batch Response Example
Description:
[Warning: empty required content area]Example Batch task response of 2 categories
1{
2 "batchId": "1",
3 "entityType": "CATEGORY",
4 "status": "PENDING|RUNNING|COMPLETE",
5 "start": 1,
6 "count": 100,
7 "total": 5000,
8 "results": [
9 {
10 "responseCode": 404,
11 "entityRef": "CGR-0001",
12 "message": "Parent category \"CGR-000\" does not exist"
13 },
14 {
15 "responseCode": 200,
16 "entityId": "2",
17 "entityRef": "CGR-0002",
18 "message": "Category update successfully"
19 }
20 ],
21 "createdOn": "2017-09-20T10:00.000Z"
22}
Language: json
Name: Example Batch task response of 2 categories
Description:
[Warning: empty required content area]Response on Failures
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 |
Comment API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
A Comment provides an additional piece of information to the entity it is related to. An Order and Return can contain multiple comments associated with it.
Key points
- Comment Properties
- What you can do with Comment
- Response on Failures
Comment API
Comment Properties
Below are the properties available in the Comment object which can be updated and retrieved through the APIs in this document.
1. CreatedOn
Type: DateTime
Description:
`{ "createdOn":"2016-07-19T23:36:13.015+0000" }`
Created date and time.
2. createdBy
Type: String
Description:
`{ "createdBy":"John Smith" }`
The user who created the comment.
3. entityType
Type: String
Description:
`{ "entityType":"ORDER" }`
The entity associated with the comment. Allowed values: ORDER | RETURN | CONSIGNMENT
4. entityId
Type: String
Description: { "entityId":"432567" } The unique identifier of the associated entity.
5. body
Type: String
Description:
`{ "body":"Customer called to confirm delivery date" }`
The comment created by the user.
6. retailerId
Type: String
Description:
`{ "retailerId":"197" }`
The unique identifier assigned to the retailer by Fluent Commerce.
7. commentId
Type: String
Description:
`{ "commentId":"32467" }`
The unique identifier is assigned to the comment.
What you can do with the Comment
Create a Comment
Create a Comment in the Fluent Retail system.
POST:
`/api/v4.1/comment`
Request and response
Request parameters and sample.
1commentRequest {
2
3 entityType (string, compulsory) = ['ORDER', 'RETURN', 'CONSIGNMENT'],
4 entityId (string, compulsory),
5 body (string, compulsory),
6 retailerId (string, optional)
7 }
Language: java
Name: Category request
Description:
[Warning: empty required content area]1{
2 "entityType":"ORDER",
3 "entityId":"432567",
4 "body":"Customer called to confirm delivery date",
5 "retailerId":"197"
6 }
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and Sample
1SuccessMessageResponse {
2
3 commentId (string, optional),
4 message (string, optional),
5 status (string, optional)
6 }
Language: java
Name: Category response
Description:
[Warning: empty required content area]1{
2 "commentId": 427323
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]View Category details
Retrieve details of the Category
GET:
`/api/v4.1/order/{orderId}/comment`
Request and response
Request parameters and sample
1commentRequest {
2 start (integer, optional),
3 count (integer, optional)
4 }
Language: java
Name: Comment request
Description:
[Warning: empty required content area]1{
2 "start":"1",
3 "count":"10"
4 }
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and Sample
1SuccessMessageResponse {
2
3 start (integer, optional),
4 count (integer, optional),
5 total (integer, optional),
6 results (integer, optional):
7 [
8 {
9 commentId (string, optional),
10 body (string, optional),
11 createdBy (string, optional),
12 createdOn (Date-time, optional)
13 }
14 ]
15}
Language: java
Name: Comment Response Example
Description:
[Warning: empty required content area]1{
2"start":1,
3"count":10,
4"total":1,
5"results":[
6{
7"commentId":62240,
8"body":"Customer called to confirm delivery date",
9"createdBy":"John Smith",
10"createdOn":"2016-07-19T23:36:13.015+0000"
11}
12]
13}
Language: json
Name: Example Response
Description:
[Warning: empty required content area]Response on Failures
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 |
Consignment API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
The Consignment API is responsible for retrieving and updating the status of fulfilment's managed through the Fluent Retail platform. Users can also add consignment details to articles on fulfilment's booked outside of the platform through the Consignment API.
Key points
- Consignment Properties
- What you can do with Consignment
- Response on Failures
Consignment API
Consignment Properties
Below are the properties available in the Comment object which can be updated and retrieved through the APIs in this document.
1. consignmentId
Type: Long
1{ "consignmentId" : "1808656" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique identifier assigned by Fluent Commerce.
2. carrierId
Type: String
1{ "carrierId" : "21" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique identifier assigned to the carrier.
3. carrierName
Type: String
1{ "carrierName" : "Temando" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The carrier name
4. consignmentRef
Type: String
1{ "consignmentRef" : "25018856" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The external consignment reference assigned by the carrier.
5. labelUrl
Type: String
1{ "labelUrl" : "de6cb885-81d3-40ad-8ade-0177a8c58b8d.pdf" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique identifier assigned by Fluent Commerce.
6. status
Type: Enum
1{ "status" : "ACTIVE_SENT" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The status of the consignment
Valid values are:
- ASSIGNED - A courier booking has been initiated. An API call has been made to the courier.
- ACTIVE_LODGED - A consignment has been created with a courier. The booking has been confirmed.
- ACTIVE_SENT - The consignment has been picked up by the courier.
- COMPLETE - The shipment has been delivered.
- FAILED - The courier booking has failed. The store associate will be required to follow in-store procedures to book the courier. Our system will not be updated once the booking has been made.
7. retailerId
Type: String
1{ "retailerId" : "197" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The retailer identifier assigned by Fluent Commerce.
8. orderSummaryUrl
Type: String
1{ "orderSummaryUrl" : NULL }
Language: json
Name: Description
Description:
[Warning: empty required content area]Manifest url for consignment.
9. createdOn
Type: DateTime
1{ "createdOn" : "2016-11-06T23:41:12.242Z" }
Language: json
Name: Description
Description:
[Warning: empty required content area]Date/time when the Consignment was created.
10. shipmentId
Type: String
1{ "shipmentId" : "765403" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique identifier assigned to the shipment.
11. consignmentReason
Type: String
1{ "consignmentReason" : "Priority delivery" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The consignment reason property. Provided reason from 3rd party courier.
What you can do with Consignment
View Consignment Details
Retrieve details of the Consignment.
GET:
`/api/v4.1/consignment/{consignmentId}`
Request and response
Request parameters and sample.
Consignment request
`/api/v4.1/consignment/{consignmentId}`
1/api/v4.1/consignment/1808656
Language: java
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
Consignment response
1ConsignmentResponse {
2
3 carrierId (string),
4 carrierName (string),
5 consignmentId (string),
6 consignmentRef (string),
7 labelUrl (string),
8 status = ['ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'] (string),
9 retailerId (string),
10 orderSummaryUrl (string),
11 createdOn (string)
12 }
Language: java
Name: Consignment Response Example
Description:
[Warning: empty required content area]1{
2 "carrierId":"21",
3 "carrierName":"temando",
4 "consignmentId":"1808656",
5 "consignmentRef":"25018856",
6 "labelUrl":"de6cb885-81d3-40ad-8ade-0177a8c58b8d.pdf",
7 "status":"ACTIVE_SENT",
8 "retailerId":"197",
9 "orderSummaryUrl":"null",
10 "createdOn":"2015-06-23T07:58:58.000+0000"
11}
Language: java
Name: Example Response
Description:
[Warning: empty required content area]Update Consignment Details
Edit the Consignment information.
PUT:
`/api/v4.1/consignment`
Request and response
Request parameters and sample
Consignment request
1ConsignmentResponse {
2 consignmentId (long, compulsory),
3 carrierId (string, optional),
4 carrierName (string, optional),
5 consignmentRef (string, optional),
6 labelUrl (string, optional),
7 shipmentId (string, optional),
8 consignmentReason (string, optional),
9 status = ['ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'] (string, optional),
10 retailerId (string, compulsory),
11 orderSummaryUrl (string, optional),
12 }
Language: java
Name: Consignment Request Example
Description:
[Warning: empty required content area]1{
2 "consignmentId":"1808656",
3 "carrierId":"21",
4 "carrierName":"temando",
5 "consignmentRef":"25018856",
6 "labelUrl":"de6cb885-81d3-40ad-8ade-0177a8c58b8d.pdf",
7 "shipmentId":"765403",
8 "consignmentReason":"",
9 "status":"ACTIVE_SENT",
10 "retailerId":"197",
11 "orderSummaryUrl":"null",
12}
Language: java
Name: Example Request
Description:
[Warning: empty required content area]Response Parameters and Sample
1SuccessMessageResponse {
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5 }
Language: java
Name: Consignment response
Description:
[Warning: empty required content area]1{
2 "id":"1808656"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Fulfilment API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
A fulfilment represents one or more items in an order that need to be picked & packed for the customer. A fulfilment is assigned to a location based on the retailer's fulfilment rules and available inventory. A fulfilment will have an origin (from) and destination (to) associated with it.
Key points
- Fulfilment Properties
- What you can do with Fulfilment
- Response on Failures
Fulfilment API
Fulfilment Properties
Below are the properties available in the Fulfilment object which can be updated and retrieved through the APIs in this document.
1. fulfilmentType
Type: String
1{ "CC_PFS" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Fulfilment type confirms how the customer will receive the order - in-store collection (CC) or delivery (HD) - and is used to determine the location(s) that can be used to pick and pack the order.
Possible values:
- CC_PFS : Click & Collect - Pick from Store
- CC_PFDC : Click & Collect - Pick from DC
- HD_PFS : Home Delivery - Pick from Store
- HD_PFDC : Home Delivery - Pick from DC
2. fulfilmentId
Type: Long
1{ 4161 }
Language: java
Name: Description
Description:
[Warning: empty required content area]The unique fulfilment identifier assigned by Fluent Commerce.
3. fulfilmentRef
Type: String
1{ "1442901695" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The unique fulfilment reference provided by the retailer.
4. orderId
Type: String
1{ "16425" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The external consignment reference assigned by the carrier.
5. eta
Type: String
1{ "2D" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The estimated time of completing the fulfilment. The ETA is configurable per retailer and can be hours e.g "3HR" or days e.g. "2D”.
6. expiryTime
Type: DateTime
1{ "2015-09-16T00:50:56.959Z" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The Fulfilment expiry time.
7. deliveryType
Type: String
1{ "deliveryType" : "EXPRESS" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The fulfilment delivery type. Based on retailers shipping options. Retailer fulfilment rules will determine how order is handled.
Possible values include: STANDARD | EXPRESS | OVERNIGHT | 3HOURS
8. fromAddress
Type: Object
1{ "locationRef" : "1013" }
2
3{ "companyName" : "null" }
4
5{ "name" : "John Smith" }
6
7{ "street" : "25 James Drive" }
8
9{ "city" : "Sydney" }
10
11{ "postcode" : "2000" }
12
13{ "state" : "NSW" }
14
15{ "country" : "AU" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The location where the Fulfilment is being actioned
- locationRef (String) : The location (i.e. store) number provided by the retailer. Required if address details not provided.
- companyName (String) : The company name if delivering to a business location. Optional.
- name (String) : The contact name provided with the order
- street (String) : Street address. Required if locationRef not provided.
- city (String) : City. Required if locationRef not provided.
- postcode (String) : Postcode. Required if locationRef not provided.
- state (String) : State. Required if locationRef not provided.
- country (String, Optional) : Country. Required if locationRef not provided.
9. toAddress
Type: Object
Description: The location where the Article will be sent - either a store location for in-store collections (CC) or customer address (HD).
See examples and definitions above.
10. items
Type: Array
1{ "fulfilmentItemId" : "46787" }
2
3{ "fulfilmentItemRef" : "483" }
4
5{ "orderItemId" : "10" }
6
7{ "orderItemRef" : "AR1-4001-WH-1-2" }
8
9{ "skuRef" : "FX141123TPRT-1-2" }
10
11{ "requestedQty" : "1" }
12
13{ "availableQty" : "1" }
14
15{ "filledQty" : "1" }
16
17
18{ "rejectedQty" : "0" }
19
20
21{ "status" : "CREATED" }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of order item(s) assigned to the fulfilment
- fulfilmentItemId (String) : The unique identifier assigned to the Fulfilment Item by Fluent Commerce
- fulfilmentItemRef (String) : The Fulfilment Item reference provided by the Retailer
- orderItemId (String) : The unique identifier assigned to the Order Item by Fluent Commerce
- orderItemRef (String) : The Order Item reference provided by the Retailer
- skuRef (String) : The unique reference or code provided by the retailer
- requestedQty (Integer) : The total quantity assigned to the fulfilment
- availableQty (Integer) : The quantity available at the fulfilment location
- filledQty (Integer) : The quality confirmed by the fulfilment location
- rejectedQty (Integer) : The quality rejected by the fulfilment location
- status (String) : The status of the fulfilment item. Possible values are CREATED.
11. consignment
Type: Object
1{ "carrierId" : "21" }
2
3{ "consignmentRef" : "25018856" }
4
5{ "labelUrl" : "de6cb885-81d3-40ad-8ade-0177a8c58b8d.pdf" }
6
7{ "status" : "ACTIVE_SENT" }
8
9{ "retailerId" : "197" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The consignment details
- carrierId (string) : The unique identifier assigned to the carrier
- carrierName (string) : The carrier name
- consignmentRef (string) : The external consignment reference assigned by the carrier
- labelUrl (string) : The URL used to retrieve the shipping label
- status (string) : The status of the consignment Possible values are:
- ASSIGNED - A courier booking has been initiated. An API call has been made to the courier.
- ACTIVE_LODGED - A consignment has been created with a courier. The booking has been confirmed.
- ACTIVE_SENT - The consignment has been picked up by the courier.
- COMPLETE - The shipment has been delivered.
- FAILED - The courier booking has failed. The store associate will be required to follow in-store procedures to book the courier. Our system will not be updated once the booking has been made.
- retailerId (string) : The retailer identifier assigned by Fluent Commerce.
12. attributes
Type: Array
Description:
1"attributes": [
2
3{
4
5"name" : "Supplier Address",
6
7"type" : "address",
8
9"value" : {
10
11 "value" : "46, Kippax Street",
12
13 "Suburb" : "Surry Hills",
14
15 "Post Code" : "2010",
16
17 "State" : "NSW,
18
19 "State" : "AU"
20
21 }
22
23},
24
25{
26
27"name" : "ECP",
28
29"type" : "string",
30
31"value" : "XSD987"
32
33}
34
35]
Language: java
Name: Attributes Description Example
Description:
[Warning: empty required content area]Array of attributes. Attributes are used to provide additional information about the order. Standard attribute types like string, integer and complex types like address which has more than one value are supported as well.
- name (String, Optional) : Name of attributes
- type (String, Optional) : Type of value provided (String, Integer, Address etc)
- value (String, Optional) : attribute value
13. status
Type: String
1{ "status" : "FULFILLED" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The status of the fulfilment
Valid values are:
- CREATED - The fulfilment has been allocated to a location based on the fulfilment rules.
- ASSIGNED - The fulfilment has been assigned to a wave by the store associate using ServicePoint.
- CANCELLED - (a) The order, and all associated fulfilments, have been cancelled via Admin Console (b) The allocated location was unable to fulfill within the pick & pack time limit.
- FULFILLED - All order items have been confirmed. An article will be created. A consignment will also be created for Home Delivery orders.
- PARTIALLY FULFILLED - Only some of the items in the fulfilment were available at the location. For home delivery orders, the rejected items will be allocated to another location (a new fulfilment) if the split limit has not been exceeded. For Click & Collect orders, any rejected items will be allocated to the Distribution Center. An article will be created for the fulfilled items. A consignment will also be created for Home Delivery orders.
- REJECTED - All order items are unavailable at the location.
14. createdOn
Type: DateTime
1{ "createdOn" : "2016-05-06T23:41:12.242Z" }
Language: json
Name: Description
Description:
[Warning: empty required content area]Date/time when the fulfilment was created.
15. updatedOn
Type: DateTime
1{ "2015-09-16T00:50:56.959Z" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Date/time when the fulfilment was last updated.
What you can do with Fulfilment
Create a Fulfilment
Create a Fulfilment in the Fluent Commerce system.
POST:
`/api/v4.1/order/{orderId}/fulfilment`
Request and response
Request parameters and sample
Fulfilment request
1FulfilmentRequest {
2 fulfilmentType (string, compulsory) = 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC'
3 eta (string, optional),
4 expiryTime (DateTime, optional),
5 deliveryType (string, optional) = 'STANDARD', 'EXPRESS', 'OVERNIGHT',
6 fulfilmentRef (string, optional),
7 fromAddress (object, optional),
8 toAddress (object, compulsory),
9 items (array, optional),
10 consignment (object, compulsory),
11 attributes (Array[Attribute], optional)
12}
13
14fromAddress {
15 locationRef (string, conditional),
16 companyName (string, optional),
17 name (string, optional),
18 street (string, conditional),
19 city (string, conditional),
20 postcode (string, conditional),
21 state (string, conditional),
22 country (string, conditional)
23}
24
25toAddress {
26 locationRef (string, conditional),
27 companyName (string, optional),
28 name (string, optional),
29 street (string, conditional),
30 city (string, conditional),
31 postcode (string, conditional),
32 state (string, conditional),
33 country (string, conditional)
34}
35
36items {
37 fulfilmentItemRef (string, optional),
38 orderItemId (string, optional),
39 orderItemRef (string, optional),
40 skuRef (string, optional),
41 requestedQty (integer, optional)
42}
43
44consignment {
45 carrierId (string, compulsory),
46 consignmentRef (string, optional),
47 labelUrl (string, optional),
48 status (string, optional) = ['ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'],
49 retailerId (string, optional)
50}
51
52Attribute {
53 name (string, optional),
54 type (string, optional) = ['STRING', 'INTEGER'],
55 value (string, optional)
56}
57
Language: java
Name: Fulfilment Request Example
Description:
[Warning: empty required content area]1{
2"deliveryType": "EXPRESS",
3"eta": "2D",
4"expiryTime": "2015-09-16T00:50:56.959Z",
5"fromAddress": {
6"locationRef": "080",
7"companyName": "testName",
8"name": "testName",
9"street": "1 Anderson Street",
10"city": "Chatswood",
11"postcode": "2067",
12"state": "NSW",
13"country": "Australia"
14},
15"fulfilmentRef": "1442901695",
16"fulfilmentType": "CC_PFS",
17"toAddress": {
18"companyName": "testName",
19"name": "testName",
20"street": "1 Anderson Street",
21"city": "Chatswood",
22"postcode": "2067",
23"state": "NSW",
24"country": "Australia"
25},
26"items": [
27{
28"orderItemId": "10",
29"orderItemRef": "AR1-4001-WH-1-2",
30"requestedQty": 1,
31"skuRef": "7066028-796-S"
32}
33],
34"consignment": {
35"carrierId": "1",
36"status": "ASSIGNED",
37"labelUrl": "labelUrl1",
38"consignmentRef": "1442901695",
39"retailerId": "211"
40}
41}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Request parameters and sample
1SuccessMessageResponse {
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5}
Language: java
Name: Fulfilment response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Unique Constraints and Duplicate Handling
The platform prevents the creation of duplicate fulfilments by using a unique constraint on the following combination fields:
- Order ID
- From Location ID
- To Location Address fields
- Street
- City
- Post Code
- Shipment Type (which is the Fulfilment Type - e.g: CC_PFS, CC_PFDC, etc.)
- Delivery Type
- Fulfilment Item fields (sorted by Order Item ID ascending):
- Order Items ID
- Requested Quantity
The API will return an error in the case that a duplicate fulfilment is trying to be created:
1{
2 "errors": [
3 {
4 "code": "400",
5 "message": "Fulfilment constraint violation error"
6 }
7 ]
8}
Language: json
Name: Rest API error:
Description:
[Warning: empty required content area]ENABLE DUPLICATE FULFILMENT ATTRIBUTE
There are certain circumstances where a duplicate fulfilment may be intended for a use case. For example, if the fulfilment has expired (or been rejected) at a specific location, but the intention is still to fulfill from that location. In this case, a special attribute can be added to the Fulfilment to allow the duplicate fulfilment to be created and assigned to the same location as the first.
To enable a duplicate fulfilment creation, first enable the feature in Account Settings (
`fc.api.fulfilment.uniqueness`
1{
2 "name": "ENABLE_DUPLICATE_ENTITY",
3 "type": "BOOLEAN",
4 "value": true
5}
Language: json
Name: ENABLE_DUPLICATE_ENTITY
Description:
[Warning: empty required content area]View Fulfilment Details
Retrieve details of the Fulfilment.
GET:
`/api/v4.1/fulfilment/{fulfilmentId}`
Request and response
Request parameters and sample
Fulfilment request
`/api/v4.1/fulfilment/{fulfilmentId}`
Example request
`/api/v4.1/fulfilment/41241412412`
Response Parameters and sample
Fulfilment response
1fulfilmentResponse {
2 fulfilmentId (long)
3 status (string) = 'CREATED', 'ASSIGNED', 'PARTIALLY_FULFILLED', 'FULFILLED', 'CANCELLED', 'COMPLETE', 'REJECTED',
4 fulfilmentType (string) = 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC'
5 eta (string),
6 expiryTime (DateTime),
7 deliveryType (string) = 'STANDARD', 'EXPRESS', 'OVERNIGHT',
8 fulfilmentRef (string),
9 createdOn (string),
10 updatedOn (string),
11 fromAddress (object),
12 toAddress (object),
13 items (array),
14 consignment (object)
15}
16
17fromAddress {
18 locationRef (string),
19 companyName (string),
20 name (string),
21 street (string),
22 city (string),
23 postcode (string),
24 state (string),
25 country (string)
26 }
27
28toAddress {
29 locationRef (string),
30 companyName (string),
31 name (string),
32 street (string),
33 city (string),
34 postcode (string),
35 state (string),
36 country (string)
37 }
38
39items {
40 fulfilmentItemId (string),
41 fulfilmentItemRef (string),
42 orderItemId (string),
43 orderItemRef (string),
44 skuRef (string),
45 requestedQty (integer),
46 filledQty (integer),
47 rejectedQty (integer),
48 status (string) = CREATED
49 }
50
51consignment {
52 carrierId (string),
53 carrierName (string),
54 consignmentId (string),
55 consignmentRef (string),
56 labelUrl (string),
57 status (string) = ['ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'],
58 retailerId (string)
59 }
Language: java
Name: Fulfilment Response Example
Description:
[Warning: empty required content area]Example response
1{
2"fulfilmentId": 4161,
3"deliveryType": "EXPRESS",
4"eta": "2D",
5"expiryTime": "2015-09-16T00:50:57.000+0000",
6"fromAddress": {
7"locationRef": "080",
8"street": "1 Anderson Street",
9"city": "Chatswood",
10"postcode": "2067",
11"state": "NSW",
12"country": "Australia"
13},
14"fulfilmentRef": "1442901695",
15"fulfilmentType": "CC_PFS",
16"items": [
17{
18"fulfilmentItemId": 11876,
19"fulfilmentItemRef": null,
20"orderItemId": 10,
21"orderItemRef": "AR1-4001-WH-1-2",
22"requestedQty": 1,
23"skuRef": "7066028-796-S"
24}
25],
26"toAddress": {
27"name": "testName",
28"street": "1 Anderson Street",
29"city": "Chatswood",
30"postcode": "2067",
31"state": "NSW",
32"country": "Australia"
33},
34"consignment": {
35"consignmentId": 1739911,
36"carrierId": "1",
37"consignmentRef": "1442901695",
38"labelUrl": "labelUrl1",
39"status": "ASSIGNED",
40"retailerId": "211"
41}
42}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Update Fulfilment Status
Update the Fulfilment status.
PUT:
`/api/v4.1/fulfilment/{fulfilmentId}/transition/{status}`
Request and response
Request parameters and sample
Fulfilment request
`/api/v4.1/fulfilment/{fulfilmentId}/transition/{status}`
Example request
`/api/v4.1/fulfilment/34254/transition/FULFILLED`
Response Parameters and sample
1SuccessMessageResponse {
2 id (UUID),
3}
Language: java
Name: Fulfilment response
Description:
[Warning: empty required content area]1{
2 "id":"34254"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]View all Fulfilments associated with an Order
Retrieve details of all Fulfilments within an order.
GET:
`/api/v4.1/order/{orderId}/fulfilment`
Request and response
Request parameters and sample
Fulfilment request
`/api/v4.1/order/{orderId}/fulfilment`
Example request
`/api/v4.1/order/16425/fulfilment`
Response Parameters and sample
Fulfilment response
1response {
2 orderId (string),
3 fulfilments (enum[Fulfilments]) [
4 {
5 fulfilmentId (long)
6 status (string) = 'CREATED', 'ASSIGNED', 'PARTIALLY_FULFILLED', 'FULFILLED', 'CANCELLED', 'COMPLETE', 'REJECTED',
7 fulfilmentType (string) = 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC'
8 eta (string),
9 expiryTime (DateTime),
10 deliveryType (string) = 'STANDARD', 'EXPRESS', 'OVERNIGHT',
11 fulfilmentRef (string),
12 createdOn (string),
13 updatedOn (string),
14 fromAddress (object),
15 toAddress (object),
16 items (array),
17 consignment (object),
18 }]
19}
20
21 fromAddress {
22 locationRef (string),
23 companyName (string),
24 name (string),
25 street (string),
26 city (string),
27 postcode (string),
28 state (string),
29 country (string)
30}
31
32 toAddress {
33 locationRef (string),
34 companyName (string),
35 name (string),
36 street (string),
37 city (string),
38 postcode (string),
39 state (string),
40 country (string)
41}
42
43items {
44 fulfilmentItemId (string),
45 fulfilmentItemRef (string),
46 orderItemId (string),
47 orderItemRef (string),
48 skuRef (string),
49 requestedQty (integer),
50 filledQty (integer),
51 rejectedQty (integer),
52 status (string) = CREATED
53}
54
55consignment {
56 carrierId (string),
57 carrierName (string),
58 consignmentId (string),
59 consignmentRef (string),
60 labelUrl (string),
61 status (string) = ('ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'),
62 retailerId (string)
63}
64
Language: java
Name: Fulfilment Response Example
Description:
[Warning: empty required content area]1{
2 "orderId": "122352",
3 "fulfilments": [
4 {
5 "fulfilmentId": 1000913,
6 "deliveryType": "STANDARD",
7 "eta": "1D",
8 "createdOn": "2015-11-16T04:07:24.000+0000",
9 "updatedOn": "2015-11-16T04:07:24.000+0000",
10 "expiryTime": "2015-11-21T00:00:00.000+0000",
11 "status": "CREATED",
12 "fulfilmentRef": null,
13 "fulfilmentType": "HD_PFDC",
14 "items": [
15 {
16 "fulfilmentItemId": 122724,
17 "fulfilmentItemRef": "1082088-1-12-se",
18 "orderItemId": 136443,
19 "orderItemRef": "1082088-1-12-se",
20 "requestedQty": 1,
21 "confirmedQty": 0,
22 "filledQty": 0,
23 "rejectedQty": 0,
24 "skuRef": "1082088-1-12-se"
25 }
26 ],
27 "fromAddress": {
28 "locationRef": "SHA067",
29 "companyName": "Seed Heritage Warehouse",
30 "name": null,
31 "street": "6 ARDENA CRT ",
32 "city": "BENTLEIGH EAST",
33 "postcode": "3165",
34 "state": "VIC",
35 "country": "Australia"
36 },
37 "toAddress": {
38 "companyName": "",
39 "name": "John Smith",
40 "street": "Store 65-77 Market Street",
41 "city": "Sydney",
42 "postcode": "2000",
43 "state": "NSW",
44 "country": "AU"
45 },
46 "consignment": null
47 },
48 {
49 "fulfilmentId": 1000914,
50 "deliveryType": "STANDARD",
51 "eta": "1D",
52 "createdOn": "2015-11-16T04:07:24.000+0000",
53 "updatedOn": "2015-11-17T03:09:36.000+0000",
54 "expiryTime": "2015-11-21T00:00:00.000+0000",
55 "status": "CANCELLED",
56 "fulfilmentRef": null,
57 "fulfilmentType": "HD_PFS",
58 "items": [
59 {
60 "fulfilmentItemId": 122725,
61 "fulfilmentItemRef": "1082102-1281-10-se",
62 "orderItemId": 136444,
63 "orderItemRef": "1082102-1281-10-se",
64 "requestedQty": 1,
65 "confirmedQty": 0,
66 "filledQty": 0,
67 "rejectedQty": 0,
68 "skuRef": "1082102-1281-10-se"
69 }
70 ],
71 "fromAddress": {
72 "locationRef": "SHA081",
73 "companyName": "Seed Heritage Oxford Street",
74 "name": null,
75 "street": "280 Oxford Street",
76 "city": "Paddington",
77 "postcode": "2021",
78 "state": "NSW",
79 "country": "Australia"
80 },
81 "toAddress": {
82 "companyName": "",
83 "name": "John Smith",
84 "street": "Store 65-77 Market Street",
85 "city": "Sydney",
86 "postcode": "2000",
87 "state": "NSW",
88 "country": "AU"
89 },
90 "consignment": null
91 },
92 {
93 "fulfilmentId": 1001072,
94 "deliveryType": "STANDARD",
95 "eta": "1D",
96 "createdOn": "2015-11-17T03:09:36.000+0000",
97 "updatedOn": "2015-11-18T02:39:38.000+0000",
98 "expiryTime": "2015-11-21T00:00:00.000+0000",
99 "status": "CANCELLED",
100 "fulfilmentRef": null,
101 "fulfilmentType": "HD_PFS",
102 "items": [
103 {
104 "fulfilmentItemId": 122915,
105 "fulfilmentItemRef": "1082102-1281-10-se",
106 "orderItemId": 136444,
107 "orderItemRef": "1082102-1281-10-se",
108 "requestedQty": 1,
109 "confirmedQty": 0,
110 "filledQty": 0,
111 "rejectedQty": 0,
112 "skuRef": "1082102-1281-10-se"
113 }
114 ],
115 "fromAddress": {
116 "locationRef": "SHA090",
117 "companyName": "Seed Heritage Mosman",
118 "name": null,
119 "street": "SHOP 1 778-782 MILITARY RD",
120 "city": "MOSMAN",
121 "postcode": "2088",
122 "state": "NSW",
123 "country": "Australia"
124 },
125 "toAddress": {
126 "companyName": "",
127 "name": "John Smith",
128 "street": "Store 65-77 Market Street",
129 "city": "Sydney",
130 "postcode": "2000",
131 "state": "NSW",
132 "country": "AU"
133 },
134 "consignment": null
135 },
136 {
137 "fulfilmentId": 1001192,
138 "deliveryType": "STANDARD",
139 "eta": "1D",
140 "createdOn": "2015-11-18T02:39:38.000+0000",
141 "updatedOn": "2015-11-18T02:39:38.000+0000",
142 "expiryTime": "2015-11-21T00:00:00.000+0000",
143 "status": "REJECTED",
144 "fulfilmentRef": null,
145 "fulfilmentType": "HD_PFDC",
146 "items": [
147 {
148 "fulfilmentItemId": 123058,
149 "fulfilmentItemRef": "1082102-1281-10-se",
150 "orderItemId": 136444,
151 "orderItemRef": "1082102-1281-10-se",
152 "requestedQty": 1,
153 "confirmedQty": 0,
154 "filledQty": 0,
155 "rejectedQty": 1,
156 "skuRef": "1082102-1281-10-se"
157 }
158 ],
159 "fromAddress": {
160 "locationRef": "SHA067",
161 "companyName": "Seed Heritage Warehouse",
162 "name": null,
163 "street": "6 ARDENA CRT ",
164 "city": "BENTLEIGH EAST",
165 "postcode": "3165",
166 "state": "VIC",
167 "country": "Australia"
168 },
169 "toAddress": null,
170 "consignment": null
171 }
172 ]
173}
Language: json
Name: Example Response
Description:
[Warning: empty required content area]View Fulfilment Attributes
Retrieve Fulfilment details.
GET:
`/api/v4.1/fulfilment/{fulfilmentId}/attribute`
Request and response
Request parameters and sample
Fulfilment request
`/api/v4.1/fulfilment/{fulfilmentId}/attribute`
Example request
`/api/v4.1/fulfilment/1231/attribute`
Response Parameters and sample
Fulfilment response
1fulfilmentResponse {
2 fulfilmentId (long),
3 attributes (array)
4}
5
6// View Attributes
7 attributes {
8 name (string),
9 type (string),
10 value (string)
11 }
Language: java
Name: Fulfilment Response Example
Description:
[Warning: empty required content area]1{
2"fulfilmentId": "1231",
3"attributes": [
4
5{
6"name": "Address",
7"type" : "address",
8"value" : {
9"Address 1" : "46, Kipax Street",
10"Suburb" : "Surry Hills",
11"Post code" : "2010",
12"State" : "NSW"
13}
14}
15]
16}
Language: json
Name: Example Response
Description:
[Warning: empty required content area]Update Fulfilment Details
Edit the Fulfilment information.
PUT:
`/api/v4.1/order/{orderId}/fulfilment/{fulfilmentId}`
Request and response
Request and response
Request parameters and sample
Fulfilment request
1FulfilmentRequest {
2 fulfilmentType (string, optional) = 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC'
3 eta (string, optional),
4 expiryTime (DateTime, optional),
5 deliveryType (string, optional) = 'STANDARD', 'EXPRESS', 'OVERNIGHT',
6 fulfilmentRef (string, optional),
7 fromAddress (object, optional),
8 toAddress (object, optional),
9 items (array, optional),
10 consignment (object, optional),
11 attributes (Array[Attribute], optional)
12}
13
14fromAddress {
15
16 locationRef (string, optional),
17 companyName (string, optional),
18 name (string, optional),
19 street (string, optional),
20 city (string, optional),
21 postcode (string, optional),
22 state (string, optional),
23 country (string, optional)
24 }
25
26toAddress {
27
28 locationRef (string, optional),
29 companyName (string, optional),
30 name (string, optional),
31 street (string, optional),
32 city (string, optional),
33 postcode (string, optional),
34 state (string, optional),
35 country (string, optional)
36 }
37
38items {
39
40 fulfilmentItemRef (string, optional),
41 orderItemId (string, optional),
42 orderItemRef (string, optional),
43 skuRef (string, optional),
44 requestedQty (integer, optional)
45 availableQty (integer, optional)
46 }
47
48consignment {
49
50 carrierId (string, compulsory),
51 consignmentRef (string, optional),
52 labelUrl (string, optional),
53 status (string, optional) = ['ASSIGNED', 'ACTIVE_LODGED', 'ACTIVE_SENT', 'COMPLETE', 'FAILED'],
54 retailerId (string, compulsory)
55 }
56
57Attribute {
58
59 name (string, optional),
60 type (string, optional) = ['STRING', 'INTEGER'],
61 value (string, optional)
62 }
Language: java
Name: Fulfilment Request Example
Description:
[Warning: empty required content area]Example request
1{
2"deliveryType": "EXPRESS",
3"eta": "2D",
4"expiryTime": "2015-09-16T00:50:56.959Z",
5"fromAddress": {
6"locationRef": "080",
7"companyName": "testName",
8"name": "testName",
9"street": "update 1 Anderson Street",
10"city": "Chatswood",
11"postcode": "2067",
12"state": "NSW",
13"country": "Australia"
14},
15"fulfilmentRef": "TestFul_4496",
16"fulfilmentType": "CC_PFS",
17"toAddress": {
18"companyName": "UpdatetestName",
19"name": "testName",
20"street": "1 Anderson Street",
21"city": "Chatswood",
22"postcode": "2067",
23"state": "NSW",
24"country": "Australia"
25},
26"items": [
27{
28
29"orderItemId": "10",
30"orderItemRef": "AR1-4001-WH-1-2",
31"requestedQty": 1,
32"skuRef": "7066028-796-S"
33}
34],
35"consignment": {
36"carrierId": "1",
37"status": "ASSIGNED",
38"labelUrl": "labelUrl1",
39"consignmentRef": "CPANRMZ0000982",
40"retailerId": "211"
41}
42}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1SuccessMessageResponse {
2
3 id (object, optional),
4 message (string, optional),
5 status (string, optional)
6 }
Language: java
Name: Fulfilment response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Update Fulfilment Attributes
Edit Fulfilment details.
PUT:
`/api/v4.1/fulfilment/{fulfilmentId}/attribute`
Request and response
Request parameters and sample
Fulfilment request
1fulfilmentRequest {
2
3 attributes (Array[Attribute], optional)
4}
5
6Attribute {
7
8 name (string, compulsory),
9 type (string, optional) = ['STRING', 'INTEGER'],
10 value (string, optional)
11 }
Language: java
Name: Fulfilment Request Example
Description:
[Warning: empty required content area]Example request
1{
2"attributes": [
3
4{
5"name": "Address",
6"type" : "address",
7"value" : {
8"Address 1" : "46, Kipax Street",
9"Suburb" : "Surry Hills",
10"Post code" : "2010",
11"State" : "NSW"
12}
13}
14]
15}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1SuccessMessageResponse {
2
3 id (object, optional),
4 message (string, optional),
5 status (string, optional)
6}
Language: java
Name: Fulfilment response
Description:
[Warning: empty required content area]1{
2 "id":""
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Fulfillment Options API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
The Fulfillment Options API retrieves the proposed Fulfillment Options for the customer order.
Key points
- Fulfillment Options Properties
- What you can do with Fulfillment Options
- FulfilmentOptions.FulfilmentOptionsAddress
- InventoryPosition.ProposedFulfilment.Item
- Attribute
- FulfilmentOptions.UnfulfilledItem
- FulfilmemntPlan
- FulfilmentPlan.Fulfilment
- FulfilmentPlan.Fulfilment.FulfilmentItem
- Exception
- Response on Failures
Fulfillment Options Properties
Below are the properties available in the Fulfillment options object which can be updated and retrieved through the APIs in this document.
1. id
Type: String
1{ "id" : "442755c4-28ee-4404-9e21-abe29bb3a1e5" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Unique ID of the Fulfillment Option.
2. status
Type: String
1{ "status" : "OPTIONS_PROVIDED" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Status of the Fulfillment Option.
3. limit
Type: Integer
1{ "limit" : 10 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Limit the number of Fulfillment Plans to be returned.
4. count
Type: Integer
1{ "count" : 1 }
Language: json
Name: Description
Description:
[Warning: empty required content area]The number of Fulfillment Plans returned in this response.
5. total
Type: String
1{ "total" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]The total number Fulfillment Plans generated.
6. orderType
Type: String
1{ "orderType" : "HD" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Type of order - eg. click & collect (CC) or home delivery (HD).
7. locationRef
Type: String
1{ "locationRef" : "LO1013" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique reference of the location.
8. trackingId
Type: Integer
1{ "trackingId" : "41123TP" }
Language: java
Name: Description
Description:
[Warning: empty required content area]A unique identifier for the end user to link related Fulfillment Options.
9. retailerId
Type: Long
1{ "retailerID" : 1 }
Language: json
Name: Description
Description:
[Warning: empty required content area]Unique ID of the retailer
10. address
Type: FulfilmentOptions.FulfilmentOptionsAddress
Description: For orderType=HD. The delivery address of the order.
11. items
Type: List
Description: List of InventoryPosition.ProposedFulfilment.Item to be fulfillled.
12. attributes
Type: List
Description:
- List of Attribute
- Attributes are used to provide additional information about the fulfillment options.
- Standard attribute types like string, integer and complex types like address are supported as well.
13. unfulfilledItems
Type: List
Description: List of FulfilmentOptions.UnfulfilledItem that were unavailable to be filled by any FulfilmentPlans.
14. plans
Type: List
Description: List of FulfilmentPlan.
15. flexType
Type: String
1{ "flexType" : "FULFILMENT_OPTIONS::DEFAULT" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Type of workflow.
16. flexVersion
Type: Integer
1{ "flexVersion" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Version of the flexType workflow
FulfilmentOptions.FulfilmentOptionsAddress
1. address1
Type: String
1{ "address1" : "46 Kippax Street" }
Language: java
Name: Description
Description:
[Warning: empty required content area]2. address2
Type: String
1{ "address2" : "ABC Pvt Ltd" }
Language: java
Name: Description
Description:
[Warning: empty required content area]3. city
Type: String
1{ "city" : "Surry Hills" }
Language: java
Name: Description
Description:
[Warning: empty required content area]4. country
Type: String
1{ "country" : "AU" }
Language: json
Name: Description
Description:
[Warning: empty required content area]5. postcode
Type: String
1{ "postcode" : "2000" }
Language: java
Name: Description
Description:
[Warning: empty required content area]6. state
Type: String
1{ "state" : "NSW" }
Language: java
Name: Description
Description:
[Warning: empty required content area]7. latitude
Type: Double
1{ "latitude" : "-27.469712" }
Language: json
Name: Description
Description:
[Warning: empty required content area]8. longitude
Type: Double
1{ "longitude" : "153.02568" }
Language: java
Name: Description
Description:
[Warning: empty required content area]InventoryPosition.ProposedFulfilment.Item
1. skuRef
Type: String
1{ "skuRef" : "FX141123TPRT-1-2" }
Language: java
Name: Description
Description:
[Warning: empty required content area]SKU Reference of the requested item
2. requestedQuantity
Type: Integer
1{ "requestedQuantity" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Requested Quantity of the item
3. availableQuantity
Type: Integer
1{ "availableQuantity" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Available Quantity of the item
Attribute
1. name
Type: String
1{ "name" : "Supplier Address" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Name of the attribute.
2. type
Type: String
1{ "type" : "ADDRESS" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Type of the value provided. Possible Values are:
- 'STRING',
- 'TEXT',
- 'INTEGER',
- 'BOOLEAN',
- 'ADDRESS',
- 'OBJECT',
- 'CUSTOM'
3. value
Type: Object
1{
2
3"value" : {
4
5"address1" : "46 Kippax Street",
6"address2" : "Surry Hills",
7"postcode" : "2010",
8"state" : "NSW,
9"country" : "AU"
10
11}
12
13
14
15}
Language: java
Name: Description
Description:
[Warning: empty required content area]Value of the attribute.
FulfilmentOptions.UnfulfilledItem
1. skuRef
Type: String
1{ "skuRef" : "DMI111" }
Language: java
Name: Description
Description:
[Warning: empty required content area]The SKU that was unfulfilled.
2. unavailableQty
Type: Integer
1{ "unavailableQty" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Quantity of this SKU that was unfulfilled.
3. reasonCode
Type: String
1{ "reasonCode" : "123C" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Reason Code for the item being unfulfilled.
4. reason
Type: String
1{ "reason" : "Too Heavy" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Reason Code for the item being unfulfilled.
FulfilmentPlan
1. id
Type: String
1{ "id" : "d8d46b57-a2d8-472d-a632-c47916a6a0da" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Unique ID of the Fulfillment Plan.
2. retailerId
Type: String
1{ "retailerID" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Unique ID of the retailer.
3. planId
Type: String
1{ "planId" : "d8d46b57-a2d8-472d-a632-c47916a6a0da" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Unique ID of the Fulfillment Plan (same as id).
4. planType
Type: String
1{ "planType" : "HD" }
Language: json
Name: Description
Description:
[Warning: empty required content area]Type of the Fulfillment Plan.
5. eta
Type: String
1{ "eta" : "20H" }
Language: java
Name: Description
Description:
[Warning: empty required content area]ETA of the FulfillmentPlan as configured in the workflows.
Accepted formats are either a numeric string, a numeric string suffixed with either an hour "H" or day "D" character, or null.
1{ "eta" : "8H" } # 8 hours
2
3{ "eta" : "8" } # Converts to "8H" (8 hours)
4
5{ "eta" : "1D" } # 1 day
6
7{ "eta" : "24" } # Converts to "1D" (1 day)
8
9{ "eta" : "48" } # Converts to "2D" (2 days)
10
11{ "eta" : "25" } # Also converts to "2D" (2 days) because it's greater than 1 day/24 hours
Language: java
Name: Example values
Description:
[Warning: empty required content area]A null value for eta converts to "1D" (1 day).
6. splits
Type: Integer
1{ "splits" : 0 }
Language: java
Name: Description
Description:
[Warning: empty required content area]The number of times this order was split.
7. fulfilments
Type: List
Description: List of FulfilmentPlan.Fulfilment.
8. exceptions
Type: List
Description: List of Exception.
9. fulfilmentOptionsId
Type: String
1{ "fulfilmentOptionsId" : "442755c4-28ee-4404-9e21-abe29bb3a1e5" }
Language: json
Name: Description
Description:
[Warning: empty required content area]ID of the Fulfillment Option that created this plan.
10. attributes
Type: List
Description: List of Attributes.
11. status
Type: String
1{ "status" : "COMPLETE" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Status of the Fulfillment Plan.
12. flexType
Type: String
1{ "flexType" : "FULFILMENT_PLAN::DEFAULT" }
Language: json
Name: Description
Description:
[Warning: empty required content area]Unique ID of the retailer
13. flexVersion
Type: Integer
1{ "flexVersion" : 1 }
Language: json
Name: Description
Description:
[Warning: empty required content area]Unique ID of the retailer
FulfilmentPlan.Fulfilment
1. fulfilmentType
Type: String
1{ "fulfilmentType" : "HD" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Type of the Fulfillment.
2. locationRef
Type: String
1{ "locationRef" : "LOC123" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Location of the Fulfillment.
3. ETA
Type: String
1{ "eta" : "20H" }
Language: java
Name: Description
Description:
[Warning: empty required content area]ETA of the Fulfillment Plan as configured in the workflow.
4. items
Type: String
Description: List of FulfilmentPlan.Fulfilment.FulfilmentItem.
FulfilmentPlan.Fulfilment.FulfilmentItem
1. skuRef
Type: String
1{ "skuRef" : "DM12345" }
Language: java
Name: Description
Description:
[Warning: empty required content area]SKU Reference of the Fulfillment Item.
2. availableQty
Type: Integer
1{ "availableQty" : 1 }
Language: java
Name: Description
Description:
[Warning: empty required content area]Available Quantity of the Fulfillment Item.
Exception
1. code
Type: String
1{ "code" : "1" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Error Code.
2. message
Type: String
1{ "message" : "WARNING" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Error Message.
3. attributes
Type: List
Description: List of Attributes
What you can do with Fulfillment Options
Create a Fulfillment Option
With this endpoint you can create a fulfillment options entity.
POST:
`/api/v4.1/fulfilmentOptions`
Request and response
Request parameters and sample
Fulfillment Option request
1FulfilmentOptions Request {
2
3limit (integer)
4orderType (string)
5locationRef (string)
6trackingId (string)
7retailerId (long)
8status (string)
9address (FulfilmentOptions.FulfilmentOptionsAddress)
10items (list of Item)
11attributes (list of Attribute)
12}
13
14
15FulfilmentOptionsAddress {
16 address1 (string)
17 address2 (string)
18 city (string)
19 postcode (string)
20 state (string)
21 country (string)
22 latitude (double)
23 longitude (double)
24}
25
26Item {
27skuRef (string)
28requestedQuantity (integer)
29availableQuantity (integer)
30},
31
32Attribute {
33 name (string),
34 type (string) = ['STRING', 'TEXT', 'INTEGER', 'BOOLEAN', 'ADDRESS', 'OBJECT', 'CUSTOM'],
35 value (object)
36}
Language: java
Name: Fulfillment Option request Example
Description:
[Warning: empty required content area]1{
2 "limit": 10,
3 "orderType": "HD",
4 "locationRef": "DR001",
5 "trackingId": "track",
6 "address": {
7 "address1": "46 Kippax Street",
8 "city": "Surry Hills",
9 "postcode": "2010",
10 "state": "NSW",
11 "country": "Australia"
12 },
13 "items": [
14 {
15 "skuRef": "DM12345",
16 "requestedQuantity": 1
17 }
18 ],
19 "attributes": [
20 {
21 "name": "type",
22 "value": "special",
23 "type": "STRING"
24 }
25 ],
26 "retailerId": 1
27}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1entityType (string)
2type (string)
3id (string)
4count (integer)
5total (integer)
6limit (integer)
7orderType (string)
8locationRef (string)
9trackingId (string)
10retailerId (long)
11status (string)
12createdOn (string)
13ref (string)
14address (FulfilmentOptions.FulfilmentOptionsAddress)
15items (list of Item)
16attributes (list of Attribute)
17plans (list of FulfilmentPlan)
18unfulfilledItems (list of UnfulfilledItem)
19}
20
21FulfilmentOptionsAddress {
22 address1 (string)
23 address2 (string)
24 city (string)
25 postcode (string)
26 state (string)
27 country (string)
28 latitude (double)
29 longitude (double)
30 }
31
32Item {
33 skuRef (string)
34 requestedQuantity (integer)
35 availableQuantity (integer)
36 }
37
38Attribute {
39 name (string),
40 type (string) = ['STRING', 'TEXT', 'INTEGER', 'BOOLEAN', 'ADDRESS', 'OBJECT', 'CUSTOM'],
41 value (object)
42 }
43
44UnfulfilledItem {
45 skuRef (string)
46 unavailableQty (integer)
47 reasonCode (string)
48 reason (string)
49 }
50
51FufilmentPlan {
52 id (string)
53 retailerId (string)
54 planId (string)
55 planType (string)
56 eta (string)
57 splits (integer)
58 fulfilments (list of FulfilmentPlan.Fulfilment)
59 exceptions (list of Exception)
60 fulfilmentOptionsId (string)
61 attributes (list of Attribute)
62 status (string)
63 entityType (string)
64 flexType (string)
65 flexVersion (integer)
66 createdOn (string)
67 type (string)
68 ref (string)
69 }
70
71 Exception {
72 code (string)
73 message (integer)
74 attributes (list of Attribute)
75 }
76
77 FufilmentPlan.Fulfilment {
78 fulfilmentType (string)
79 locationRef (string)
80 eta (string)
81 items (list of FulfilmentPlan.Fulfilment.FulfilmentItem)
82 }
83
84FufilmentPlan.Fulfilment.FulfilmentItem {
85 skuRef (string)
86 availableQty (integer)
Language: java
Name: Fulfillment Response Example
Description:
[Warning: empty required content area]1{
2 "id": "442755c4-28ee-4404-9e21-abe29bb3a1e5",
3 "limit": 10,
4 "count": 1,
5 "orderType": "HD",
6 "locationRef": "DR001",
7 "trackingId": "track",
8 "address": {
9 "address1": "46 Kippax Street",
10 "city": "Surry Hills",
11 "postcode": "2010",
12 "state": "NSW",
13 "country": "Australia"
14 },
15 "items": [
16 {
17 "skuRef": "DM12345",
18 "requestedQuantity": 1,
19 "availableQuantity": null
20 }
21 ],
22 "attributes": [
23 {
24 "name": "type",
25 "value": "special",
26 "type": "STRING"
27 }
28 ],
29 "status": "OPTIONS_PROVIDED",
30 "plans": [
31 {
32 "id": "d8d46b57-a2d8-472d-a632-c47916a6a0da",
33 "planId": "d8d46b57-a2d8-472d-a632-c47916a6a0da",
34 "eta": "20H",
35 "planType": "HD",
36 "splits": 0,
37 "flexType" : "FULFILMENT_PLAN::DEFAULT",
38 "flexVersion": 1,
39 "fulfilmentOptionsId": "442755c4-28ee-4404-9e21-abe29bb3a1e5",
40 "fulfilments": [
41 {
42 "fulfilmentType": "HD",
43 "locationRef": "123",
44 "eta": "20H",
45 "items": [
46 {
47 "skuRef": "DM12345",
48 "availableQty": 1
49 }
50 ]
51 }
52 ],
53 "attributes": [
54 {
55 "name": "type",
56 "value": "special",
57 "type": "STRING"
58 }
59 ],
60 "status": "COMPLETE",
61 "exceptions": [
62 {
63 "code": "1",
64 "message": "warning",
65 "attributes": [
66 {
67 "name": "type",
68 "value": "special",
69 "type": "STRING"
70 }
71 ]
72 }
73 ],
74 "retailerId": 1
75 }
76 ],
77 "unfulfilledItems": [
78 {
79 "skuRef": "DMI111",
80 "unavailableQty": 1,
81 "reasonCode": "123",
82 "reason": "Too Heavy"
83 }
84 ],
85 "retailerId": 1,
86 "flexType" : "FULFILMENT_OPTIONS::DEFAULT",
87 "flexVersion": 1
88}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View a Fulfillment Option
With this endpoint you can get details about a single Fulfillment Option.
GET:
`/api/v4.1/fulfilmentOptions/{id}`
Request and response
Request parameters and sample
Fulfillment Option Request
`/api/v4.1/fulfilmentOptions/{id}`
** Example request**
`/api/v4.1/fulfilmentOptions/{id}`
Response Parameters and sample
Fulfillment Options Response
1{
2 entityType (string)
3 type (string)
4 id (string)
5 count (integer)
6 total (integer)
7 limit (integer)
8 orderType (string)
9 locationRef (string)
10 trackingId (string)
11 retailerId (long)
12 status (string)
13 createdOn (string)
14 ref (string)
15 address (FulfilmentOptions.FulfilmentOptionsAddress)
16 items (list of Item)
17 attributes (list of Attribute)
18 plans (list of FulfilmentPlan)
19 unfulfilledItems (list of UnfulfilledItem)
20
21
22 FulfilmentOptionsAddress {
23 address1 (string)
24 address2 (string)
25 city (string)
26 postcode (string)
27 state (string)
28 country (string)
29 latitude (double)
30 longitude (double)
31 }
32
33
34 Item {
35 skuRef (string)
36 requestedQuantity (integer)
37 availableQuantity (integer)
38 }
39
40 Attribute {
41 name (string),
42 type (string) = ['STRING', 'TEXT', 'INTEGER', 'BOOLEAN', 'ADDRESS', 'OBJECT', 'CUSTOM'],
43 value (object)
44 }
45
46 UnfulfilledItem {
47 skuRef (string)
48 unavailableQty (integer)
49 reasonCode (string)
50 reason (string)
51 }
52
53 FufilmentPlan {
54 id (string)
55 retailerId (string)
56 planId (string)
57 planType (string)
58 eta (string)
59 splits (integer)
60 fulfilments (list of FulfilmentPlan.Fulfilment)
61 exceptions (list of Exception)
62 fulfilmentOptionsId (string)
63 attributes (list of Attribute)
64 status (string)
65 entityType (string)
66 flexType (string)
67 flexVersion (integer)
68 createdOn (string)
69 type (string)
70 ref (string)
71 }
72
73 Exception {
74 code (string)
75 message (integer)
76 attributes (list of Attribute)
77 }
78
79 FufilmentPlan.Fulfilment {
80 fulfilmentType (string)
81 locationRef (string)
82 eta (string)
83 items (list of FulfilmentPlan.Fulfilment.FulfilmentItem)
84 }
85}
Language: java
Name: Fulfillment Options Response Example
Description:
[Warning: empty required content area]Example response
1{
2 "id": "442755c4-28ee-4404-9e21-abe29bb3a1e5",
3 "limit": 10,
4 "count": 1,
5 "orderType": "HD",
6 "locationRef": "DR001",
7 "trackingId": "track",
8 "address": {
9 "address1": "46 Kippax Street",
10 "city": "Surry Hills",
11 "postcode": "2010",
12 "state": "NSW",
13 "country": "Australia"
14 },
15 "items": [
16 {
17 "skuRef": "DM12345",
18 "requestedQuantity": 1,
19 "availableQuantity": null
20 }
21 ],
22 "attributes": [
23 {
24 "name": "type",
25 "value": "special",
26 "type": "STRING"
27 }
28 ],
29 "status": "OPTIONS_PROVIDED",
30 "plans": [
31 {
32 "id": "d8d46b57-a2d8-472d-a632-c47916a6a0da",
33 "planId": "d8d46b57-a2d8-472d-a632-c47916a6a0da",
34 "eta": "20H",
35 "planType": "HD",
36 "splits": 0,
37 "flexType" : "FULFILMENT_PLAN::DEFAULT",
38 "flexVersion": 1,
39 "fulfilmentOptionsId": "442755c4-28ee-4404-9e21-abe29bb3a1e5",
40 "fulfilments": [
41 {
42 "fulfilmentType": "HD",
43 "locationRef": "123",
44 "eta": "20H",
45 "items": [
46 {
47 "skuRef": "DM12345",
48 "availableQty": 1
49 }
50 ]
51 }
52 ],
53 "attributes": [
54 {
55 "name": "type",
56 "value": "special",
57 "type": "STRING"
58 }
59 ],
60 "status": "COMPLETE",
61 "exceptions": [
62 {
63 "code": "1",
64 "message": "warning",
65 "attributes": [
66 {
67 "name": "type",
68 "value": "special",
69 "type": "STRING"
70 }
71 ]
72 }
73 ],
74 "retailerId": 1
75 }
76 ],
77 "unfulfilledItems": [
78 {
79 "skuRef": "DMI111",
80 "unavailableQty": 1,
81 "reasonCode": "123",
82 "reason": "Too Heavy"
83 }
84 ],
85 "retailerId": 1,
86 "flexType" : "FULFILMENT_OPTIONS::DEFAULT",
87 "flexVersion": 1
88}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Update Fulfillment Option Status
This endpoint changes the state of the Fulfillment Option entity.
PUT:
`/api/v4.1/fulfilmentOptions/state/{stateName}`
1{
2"id": "442755c4-28ee-4404-9e21-abe29bb3a1e5"
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Inventory Batch API
Author:
Fluent Commerce
Changed on:
23 Jan 2025
Overview
A batch contains a series of records that will have the same operation applied to it. All batches are run asynchronously as such the client will be required to request a status update for entered batches. A batch can include a maximum of 5000 records.
To create a Batch, the user must first create a Job. A job is required to store a series of batches. For more information please refer to the Job API.
Key points
- Overview
- Inventory Batch Properties
- What you can do with Inventory Batch
- Response on Failures
Inventory Batch API
Inventory Batch Properties
Below are the properties available in the Inventory Batch object which can be updated and retrieved through the APIs in this document.
1. jobId
Type: String
1{ "jobId" : "223" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The unique identifier associated with the Job.
2. action
Type: String
1{ "action": "UPSERT" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The type of operation that will be applied to all records in the batch. Possible values are UPSERT.
- UPSERT: Insert the record. If the record already exists then update existing record.
3. entityType
Type: String
1{ "entityType" : "INVENTORY" }
Language: json
Name: Description
Description:
[Warning: empty required content area]Entity type. Possible values are INVENTORY.
4. entities
Type: Array
1{ "retailerId" : "197" }
2
3{ "inventoryId" : "56470" }
4
5{ "skuRef" : "29SPM0020X96-1-8" }
6
7{ "locationRef" : "158" }
8
9{ "qty" : "10" }
10
11{ "correctedQty" : "2" }
12
13{ "reservedQty" : "2" }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of InventoryPost records
- retailerId(string) : The retailer identifier assigned by Fluent Commerce.
- inventoryId (string) : The unique identifier assigned by Fluent Commerce.
- skuRef (string) : The unique reference or code provided by the retailer.
- locationRef (string) : The location (i.e. store) number.
- qty (integer) : The stock on hand.
- correctedQty (integer) : Correction quantity based on stock updates.
- reservedQty (integer) : Quantity reserved due to unfulfilled orders.
5. status
Type: String
1{ "status" : "RUNNING" }
Language: json
Name: Description
Description:
[Warning: empty required content area]The state of the batch:
- PENDING - Batch has been entered but is not currently running
- RUNNING - Batch is being processed
- COMPLETE - Batch has been processed ( with or without errors )
6. responseCode
Type: -
Description: HTTP response code.
What you can do with Inventory Batch
Create a Batch
Create a Batch in the Fluent Retail System
POST:
`/api/v4.1/job/{jobid}/batch`
Request and response
Request parameters and sample
1batchRequest {
2 action (string, compulsory) = UPSERT,
3 entityType (string, compulsory) = INVENTORY,
4 entities (array, compulsory)
5}
Language: java
Name: Example request
Description:
[Warning: empty required content area]1 InventoryPost {
2 retailerId (string, compulsory),
3 inventoryId (string, optional),
4 skuRef (string, compulsory),
5 locationRef (string, compulsory),
6 qty (integer, compulsory)
7 correctedQty (integer, optional)
8 reservedQty (integer, optional)
9 }
Language: java
Name: entities
Description:
[Warning: empty required content area]1{
2"action": "UPSERT",
3"entityType": "INVENTORY",
4"entities": [
5{
6"locationRef": "158",
7"qty": 10,
8"correctedQty": 11,
9"reservedQty" : 12,
10"skuRef": "29SPM0020X96-1-8",
11"retailerId": 197
12}
13]
14}
Language: java
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1SuccessMessageResponse {
2
3 id (object, optional),
4 message (string, optional),
5 status (string, optional)
6}
Language: java
Name: Batch response
Description:
[Warning: empty required content area]1{
2 "id":"427323"
3}
Language: javascript
Name: Example response
Description:
[Warning: empty required content area]View a Batch
Retrieve details of the Batch.
GET:
`/api/v4.1/job/{jobid}/batch/{batchId}`
Request and response
Request parameters and sample
Batch request
`/api/v4.1/job/{jobid}/batch/{batchId}`
Example request
`/api/v4.1/job/223/batch/299`
Response Parameters and sample
1batchResponse {
2 batchId (string),
3 entityType (string) = 'INVENTORY',
4 status (string) = 'PENDING', 'RUNNING', 'COMPLETE',
5 start (integer),
6 count (integer),
7 total (integer),
8 results (array[batchRecordStatus]):[
9 {
10 entityId (string),
11 entityRef (string),
12 responseCode (string) = '200', '404', '500', '401'
13 message (string)
14 }
15 ]
16}
Language: java
Name: Batch response
Description:
[Warning: empty required content area]1{
2"batchId": "300",
3"entityType": "INVENTORY",
4"status": "COMPLETE",
5"start": 1,
6"count": 10,
7"total": 1,
8"results": [
9{
10"entityId": "1013187",
11"entityRef": null,
12"responseCode": 200,
13"message": "Inventory Created."
14}
15]
16}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
NAME | TYPE | DESCRIPTION |
error | Array | Array of errors |
message | String | Additional information on the code Unauthorised | Bad Request | Forbidden | Not Found | Status 500 Error |
code | String | Status Code for the above messages 401 | 400 | 403 | 404 | 500 |
Location API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
A Location is any place where an order can be fulfilled and/or collected by the customer. Locations can include a store, warehouse, drop-ship vendor, lockers, or a third-party logistics or collection point.
Key points
- Overview
- Operations
- Models
Location API
Overview
Property | Value |
URL |
|
Methods |
|
Scheme |
|
Auth |
|
Permissions |
|
Content-Type |
|
Operations
[GET] /location Finds all Locations for the given criteria
Returns a page of Locations filtered by the given combination of parameters. If no parameters are provided, the default page size and sort order will be applied, and the Locations for which your authenticated user is authorized will be returned.
Authentication
Required
Permissions
LOCATION_VIEW permission required.
Parameters
Name | Default Value | Multiple? | Description |
retailerId | ❌ | The
| |
agentNetwork | ✅ | The
| |
agentNetworkTypes | ✅ | The
| |
agentStatuses | ✅ | The
| |
northEastLat | ❌ | Used to signify the most north east latitude (top right) corner of a map area to include in the location search | |
northEastLon | ❌ | Used to signify the most north east longitude (top right) corner of a map area to include in the location search | |
southWestLat | ❌ | Used to signify the most south west latitude (bottom left) corner of a map area to include in the location search | |
southWestLon | ❌ | Used to signify the most south west longitude (bottom left) corner of a map area to include in the location search | |
query | ❌ | A free text query search parameter | |
start | 0 | ❌ | The index of the first record of a page to be returned. |
count | 100 | ❌ | The number of results to be returned per page. Max 10000. |
Responses
Response Content-Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example
1 {
2 "start": 1,
3 "count": 100,
4 "hasMore": false,
5 "results": [
6 {
7 "locationId": "71",
8 "locationRef": "F_GFD",
9 "alternateId": null,
10 "name": "FC Fashion Imperial Centre Gosford",
11 "city": "Gosford",
12 "state": "NSW",
13 "country": "Australia",
14 "street": "171 Mann St",
15 "postcode": "2250",
16 "status": "ACTIVE",
17 "type": "STORE",
18 "createdOn": "2021-04-09",
19 "latitude": -33.41933105522871,
20 "longitude": 151.34394556084268,
21 "homeDeliverySafetyStock": null,
22 "clickAndCollectSafetyStock": null,
23 "distance": null,
24 "phoneNumber": null,
25 "openingHours": {
26 "mon": {
27 "start": 0,
28 "end": 0
29 },
30 "tue": {
31 "start": 0,
32 "end": 0
33 },
34 "wed": {
35 "start": 0,
36 "end": 0
37 },
38 "thu": {
39 "start": 0,
40 "end": 0
41 },
42 "fri": {
43 "start": 0,
44 "end": 0
45 },
46 "sat": {
47 "start": 0,
48 "end": 0
49 },
50 "sun": {
51 "start": 0,
52 "end": 0
53 }
54 },
55 "networkName": [
56 "F_CC"
57 ],
58 "directions": null
59 },
60 {
61 "locationId": "5",
62 "locationRef": "F_MEL",
63 "alternateId": null,
64 "name": "FC Fashion Melbourne",
65 "city": "Clayton",
66 "state": "VIC",
67 "country": "Australia",
68 "street": "Clayton Street",
69 "postcode": "3168",
70 "status": "ACTIVE",
71 "type": "STORE",
72 "createdOn": "2021-02-02",
73 "latitude": -37.8136,
74 "longitude": 144.9631,
75 "homeDeliverySafetyStock": null,
76 "clickAndCollectSafetyStock": null,
77 "distance": null,
78 "phoneNumber": null,
79 "openingHours": {
80 "mon": {
81 "start": 0,
82 "end": 0
83 },
84 "tue": {
85 "start": 0,
86 "end": 0
87 },
88 "wed": {
89 "start": 0,
90 "end": 0
91 },
92 "thu": {
93 "start": 0,
94 "end": 0
95 },
96 "fri": {
97 "start": 0,
98 "end": 0
99 },
100 "sat": {
101 "start": 0,
102 "end": 0
103 },
104 "sun": {
105 "start": 0,
106 "end": 0
107 }
108 },
109 "networkName": [
110 "FC_Group",
111 "F_VIC",
112 "F_CC"
113 ],
114 "directions": null
115 }
116 ]
117 }
Language: json
Name: Response
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][GET] /location/{locationId} Finds a location by location ID
Returns the details of the Location filtered by the given location ID provided on the API.
Authentication
Required
Permissions
LOCATION_VIEW permission required.
Parameters
Name | Default Value | Multiple? | Description |
locationId | ❌ | The unique location identifier assigned by Fluent Commerce |
Responses
Response Content Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example
1 {
2 "locationRef": "SHA108",
3 "status": "ACTIVE",
4 "name": "Seed Heritage Wintergarden",
5 "email": "customercare@seedheritage.com",
6 "supportPhone": "07 3012 7749",
7 "type": "STORE",
8 "timeZone": "Australia/Queensland",
9 "pickAndPackTimeLimit": 15,
10 "homeDeliverySafetyStock": 2,
11 "clickAndCollectSafetyStock": 0,
12 "clickAndCollectNetworks": [],
13 "useInventoryForHomeDelivery": [
14 "433"
15 ],
16 "useInventoryForClickAndCollect": [
17 "437"
18 ],
19 "address": {
20 "city": "Brisbane",
21 "country": "Australia",
22 "postcode": "4000",
23 "state": "QLD",
24 "street": "TENANCY QSM 101A QUEENS ST MALL",
25 "latitude": "-27.469712",
26 "longitude": "153.02568"
27 },
28 "openingHours": {
29 "monStartMin": "900",
30 "monEndMin": "1000",
31 "tueStartMin": "900",
32 "tueEndMin": "1000",
33 "wedStartMin": "900",
34 "wedEndMin": "1000",
35 "thuStartMin": "900",
36 "thuEndMin": "1000",
37 "friStartMin": "900",
38 "friEndMin": "1000",
39 "satStartMin": "900",
40 "satEndMin": "1000",
41 "sunStartMin": "900",
42 "sunEndMin": "1000"
43 },
44 "storageAreas": []
45 }
Language: json
Name: Response
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][GET] /location/{locationId}/attribute Retrieves Location Attributes
Returns all the attributes of a Location filtered by the Location Id provided on the API.
Authentication
Required
Permissions
LOCATION_VIEW permission required.
Parameters
Name | Default Value | Multiple? | Description |
locationId | ❌ | The unique location identifier assigned by Fluent Commerce |
Responses
Response Content-Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example
1 {
2 "locationId": "16567",
3 "attributes": [
4 {
5 "name": "Safety instructions",
6 "type" : "string",
7 "value": "Wear safety grear"
8 },
9 {
10 "name": "Order code 2",
11 "type" : "string",
12 "value": "124"
13 },
14 {
15 "name": "Address",
16 "type" : "address",
17 "value" : {
18 "Address 1" : "46, Kipax Street",
19 "Suburb" : "Surry Hills",
20 "Post code" : "2010",
21 "State" : "NSW"
22 }
23 }
24 ]
25 }
Language: json
Name: Response
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][GET] /location/{locationId}/storageArea/{storageAreaRef} Retrieves details of a Location's Storage Area
Returns the details of the Location's Storage Area filtered by the Location Id and the associated
`storageAreaRef`
Authentication
Required
Permissions
LOCATION_VIEW permission required.
Parameters
Name | Default Value | Multiple? | Description |
locationId | ❌ | The unique location identifier assigned by Fluent Commerce | |
storageAreaRef | ❌ | The
|
Responses
Response Content-Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example
1 {
2 "externalId": "12345",
3 "status": "ENABLED",
4 "type": "SERVICE_COUNTER",
5 "attributes": [{"name": "toTime", "type": null, "value": "2016-11-28 16:30:22"}]
6 }
Language: json
Name: Response
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][POST] /location Creates a new Location in the Fluent Platform
Create a new Location within the Fluent Platform.
Authentication
Required
Permissions
LOCATION_VIEW, LOCATION_CREATE and LOCATION_EDIT permissions are required.
Parameters
Name | Description |
body *required | The Location object that needs to be created |
Responses
Response Content-Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example:
1 {
2 "locationRef": "Tes92909",
3 "status": "ACTIVE",
4 "name": "Test User",
5 "email": "test@parcelpoint.com.au",
6 "supportPhone": "123-567",
7 "type": "STORE",
8 "timeZone": "Australia/Sydney",
9 "homeDeliverySafetyStock": null,
10 "clickAndCollectSafetyStock": null,
11 "directions": "directions to a location",
12 "address" : {
13 "city": "Sydney",
14 "country": "Australia",
15 "postcode": "2000",
16 "state": "NSW",
17 "street": "46 kippax street"
18 },
19 "openingHours" : {
20 "monStartMin": "0900",
21 "monEndMin": "1800",
22 "tueStartMin": "0900",
23 "tueEndMin": "1800",
24 "wedStartMin": "0900",
25 "wedEndMin": "1800",
26 "thuStartMin": "0900",
27 "thuEndMin": "1800",
28 "friStartMin": "0900",
29 "friEndMin": "1800",
30 "satStartMin": "0900",
31 "satEndMin": "1800",
32 "sunStartMin": "0900",
33 "sunEndMin": "1800"
34 },
35 "storageAreas": [
36 "AAA" ,
37 "BBB"
38 ],
39 "agentNetworks": [
40 "1221",
41 "4234"
42 ]
43 }
Language: json
Name: Request body
Description:
[Warning: empty required content area]1 {
2 "id": "65789"
3 }
Language: json
Name: Example Success Response:
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][PUT] /location/{locationId} Update an existing Location in the Fluent Platform
Update an existing Location within the Fluent Platform.
Authentication
Required
Permissions
LOCATION_VIEW and LOCATION_EDIT permissions are required.
Parameters
Name | Default Value | Multiple? | Description |
locationId | ❌ | The unique location identifier assigned by Fluent Commerce | |
body *required | ❌ | The Updated Location object |
Responses
Response Content-Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example
1 {
2 "locationRef": "Tes92909",
3 "status": "ACTIVE",
4 "name": "Test User",
5 "email": "test@parcelpoint.com.au",
6 "supportPhone": "123-567",
7 "type": "STORE",
8 "timeZone": "Australia/Sydney",
9 "address" : {
10 "city": "Sydney",
11 "country": "Australia",
12 "postcode": "2000",
13 "state": "NSW",
14 "street": "46 kippax street"
15 },
16 "openingHours" : {
17 "monStartMin": "0900",
18 "monEndMin": "1800",
19 "tueStartMin": "0900",
20 "tueEndMin": "1800",
21 "wedStartMin": "0900",
22 "wedEndMin": "1800",
23 "thuStartMin": "0900",
24 "thuEndMin": "1800",
25 "friStartMin": "0900",
26 "friEndMin": "1800",
27 "satStartMin": "0900",
28 "satEndMin": "1800",
29 "sunStartMin": "0900",
30 "sunEndMin": "1800"
31 },
32 "storageAreas": [
33 "G1",
34 "G2"
35 ],
36 "attributes": [
37 {
38 "name": "Location code 1",
39 "type" : "string",
40 "value": "G334"
41 }
42 ]
43 }
Language: json
Name: Request body
Description:
[Warning: empty required content area]1 {
2 "id": "65789"
3 }
Language: json
Name: Example Success Response:
Description:
[Warning: empty required content area]1 {
2 "errors": [
3 {
4 "code": "401",
5 "message": "Invalid user, Authorization header value does not belong to a valid user"
6 }
7 ]
8 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area][PUT] /location/eta Update Location ETA
Update transit time between from location and to location based on distance and regular transport mechanisms.
Authentication
Required
Permissions
LOCATION_VIEW and LOCATION_EDIT permissions are required.
Parameters
Name | Default Value | Multiple? | Description |
etas array *required | ❌ | An array of etas with from location, to location and the eta value |
Responses
Response Content Type:
`application/json`
Code | Description |
200 | Successful Operation |
400 | Client Error - Invalid Request |
401 | Authorization Error - Invalid Bearer Token / No permission |
403 | Authorization Error - Forbidden |
404 | Client Error - Not Found |
500 | Server Error |
Example:
1 {
2 "etas": [
3 {
4 "fromLocation": 538045,
5 "toLocation": 538044,
6 "eta": 45
7 },
8 {
9 "fromLocation": 538046,
10 "toLocation": 538045,
11 "eta": 57
12 },
13 {
14 "fromLocation": 8977,
15 "toLocation": 538044,
16 "eta": 10
17 }
18 ]
19 }
Language: json
Name: Request body
Description:
[Warning: empty required content area]1 {
2 "updatedEtas": [
3 {
4 "fromLocation": 538045,
5 "toLocation": 538044,
6 "eta": 45
7 },
8 {
9 "fromLocation": 538046,
10 "toLocation": 538045,
11 "eta": 57
12 }
13 ]
14 }
Language: json
Name: Example Success Response:
Description:
[Warning: empty required content area]1 {
2 "failedEtas": [
3 {
4 "fromLocation": 8977,
5 "toLocation": 538044,
6 "error": "Object of type [Agent] was not found using id : [8977]"
7 }
8 ]
9 }
Language: json
Name: Example Error Response:
Description:
[Warning: empty required content area]Models
Location Model
Key | Type | Mandatory? | Possible Values | Constraints | Description |
locationRef | String | ✅ | Max length: 8 Characters | The location number provided by the retailer | |
locationId | String | ❌ | The unique location identifier assigned by Fluent Commerce | ||
alternateId | String | ❌ | Max length: 8 Characters | External reference 2 | |
status | String | ✅ | ACTIVE, INACTIVE | The location status | |
name | String | ✅ | The name of the location | ||
String | ✅ | The location email | |||
supportPhone | String | ✅ | Max length: 20 Characters | The location contact number | |
type | String | ✅ | STORE, WAREHOUSE | Type of the location | |
timeZone | String | ✅ | Time Zone associated with the location | ||
pickAndPackTimeLimit | Integer | ✅ | 1. Excludes non-trading hours 2. Does not apply to warehouse fulfilment or Click & Collect orders | The Pick & Pack Time Limit defines the time permitted to complete a fulfilment in store. If a fulfilment reaches this expiry time, it will be reassigned or cancelled as per the reassignment rules. The Pick & Pack time limit is shown in hours. The default is 3 hours. | |
clickAndCollectNetworks | Array | ❌ | |||
useInventoryForHomeDelivery | Array | ❌ |
| The Location acts as a fulfillment center for the Home Delivery networks listed | |
useInventoryForClickAndCollect | Array | ❌ |
| The Location acts as a fulfillment center for the Click & Collect networks listed | |
storageAreas | Array | ❌ | List of all storage areas at the location | ||
address | Address | ✅ | The address of the location including retailer's business name, name of the location,
| ||
openingHours | Object [dayStartMin(double), dayEndMin(double), allHours(Boolean)] | ✅ |
| ||
agentNetworks | Array | ❌ |
| List of networks this location is assigned to | |
homeDeliverySafetyStock | String | ❌ | Only applies for clients with inventory integrations. Use 'NULL' when Safety Stock Levels do not apply | The Home Delivery safety stock level configured for this location. This figure is used to calculate the Available to Sell (ATS) inventory. | |
clickAndCollectSafetyStock | String | ❌ | Only applies for clients with inventory integrations. Use 'NULL' when Safety Stock Levels do not apply. | The Click & Collect safety stock level configured for this location. This figure is used to calculate the Available to Sell (ATS) inventory. | |
agentNetworkTypes | Array | ❌ | CP, CC, HD | Search parameter used to retrieve Locations within a specific agent network type. CP - Collection Point network, CC - Click & Collect network, HD - Home Delivery network | |
etas | Array [fromLocation(Long), toLocation(Long), eta(Long)] | ❌ | Estimated transit time between two locations. This is used to calculate time of availability when goods have to be shipped form one location to other for Click'n Collect orders. Array includes fromLocation, toLocation and eta | ||
externalId | String | ❌ | Location External reference (Retailers reference to identify location). | ||
retailerId | String | ❌ | The retailer identifier assigned by Fluent Commerce | ||
sort | String | ❌ | By default, the search results are sorted by name in ascending order. Currently only default sorting is supported | ||
query | String | ❌ | Location reference or location name to search for | ||
distance | Integer | ❌ | Distance from centre of map to location | ||
directions | String | ❌ | Instructions to get to location | ||
createdOn | DateTime | ❌ | Date/time when the Location was created | ||
attributes | Array [name(String), type(String), value(String)] | ❌ | Array of attributes. Attributes are used to provide additional information about the order. Standard attribute types like string, integer and complex types like address which has more than one value are supported as well. Array includes
|
Error Model
Key | Type | Possible Values | Description |
errors | Array | List of errors | |
code | String | 400, 401, 403, 404, 500 | error code |
message | String | description of the error |
Network API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
A network is a collection of physical fulfillment or collection locations such as stores, warehouses, distribution centres, or even lockers. Fluent Retail allows users to manage their network from a centralized position with control of network-specific order logic via custom rules. The Network API defines the creation and addition of networks as well as retrieval of details pertaining to a network and updating the parameters of a network.
There are three default networks,Collection Point Network,C&C Network, and Home Delivery Network. These can be extended and configured with subnetworks.
Key points
- Overview
- Network Properties
- What you can do with Network
- Response on Failures
Network API
Network Properties
Below are the properties available in the Article object which can be updated and retrieved through the APIs in this document.
1. name
Type: String
Description: Network name. Must be unique to the account.
2. type
Type: String
Description: The type of network. Allowed values: Determined by retailer setting NETWORK_TYPES
e.g.: Settings cane be created using settings API
`{ "setting": { "key": "NETWORK_TYPES", "value": ["CC", "CP","HD","My Network"], "type": "JSON" } }`
If retailer setting not available, API will allow creating default networks of types CC, CP or HD.
If type is not provided, default type NORMAL will apply.
3. retailers
Type: Array
Description: The retailer(s) associated with the network. Allowed values: RetailerId(String) within Account.
4. status
Type: String
Description: Status of network
5. attributes
Type: Array
Description: Array of attributes with name, type, value
e.g.:
1"attributes": [
2 {
3 "name": "Supplier address",
4 "type": "address",
5 "value": {
6 "Address 1": "46 Kippax Street",
7 "Suburb": "Surry Hills",
8 "Post code": "2010",
9 "State": "NSW"
10 }
11 },
12 {
13 "name": "ECP",
14 "type": "string",
15 "value": "XCD123"
16 }
17]
Language: java
Name: Code Example
Description:
[Warning: empty required content area]What you can do with Network
Create a Network
Create a Network API is used to add a network to the Fluent Retail system.
POST:
`/api/v4.1/network`
Request and response
Request parameters and sample
Network request
1{
2
3 name (string, compulsory),
4 type (string, optional),
5 status (string, optional),
6 retailers ((Array, compulsory),
7 attributes (Array[Attribute], optional)
8}
9
10Attribute {
11
12 name (string, optional),
13 type (string, optional) = ['STRING', 'INTEGER'],
14 value (string, optional)
15 }
Language: java
Name: Network request
Description:
[Warning: empty required content area]Example request
1{
2 "name": "Network",
3 "type": "CP",
4 "status": "CREATED",
5 "retailers": [
6 "1"
7 ],
8 "attributes": [
9 {
10 "name": "address",
11 "type": "ADDRESS",
12 "value": {
13 "address": "46 Kippax Street",
14 "suburb": "Surry Hills",
15 "postcode": "2010",
16 "state": "NSW"
17 }
18 },
19 {
20 "name": "ECP",
21 "type": "STRING",
22 "value": "XCD123"
23 }
24 ]
25}
Language: java
Name: Example request
Description:
[Warning: empty required content area]Response Parameters and sample
1{
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5}
Language: java
Name: Network response
Description:
[Warning: empty required content area]1{
2 "id": 9
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View Details
Get details of a network
GET:
`/api/v4.1/network/{networkId} or ~{name}`
Request and response
Request parameters and sample
Parameters in URL
Name | Type | Required | Description |
networkId | String | Conditional | The network Id. Should be available conditionally if name not provided |
| String | Conditional | The network name with “
|
Example request
`/api/v4.1/network/123`
`/api/v4.1/network/~network1`
Response Parameters and sample
Network response
1{
2 name (string),
3 type (string),
4 status (string),
5 retailers ((Array),
6 attributes (Array[Attribute])
7
8
9 Attribute {
10 name (string, optional),
11 type (string, optional) = ['STRING', 'INTEGER'],
12 value (string, optional)
13 }
14
15}
Language: java
Name: Network response
Description:
[Warning: empty required content area]1{
2 "name": "network1",
3 "type": "CP",
4 "status": "CREATED",
5 "retailers": [
6 "1"
7 ],
8 "attributes": [
9 {
10 "name": "address",
11 "type": "ADDRESS",
12 "value": {
13 "address": "46 Kippax Street",
14 "suburb": "Surry Hills",
15 "postcode": "2010",
16 "state": "NSW"
17 }
18 },
19 {
20 "name": "ECP",
21 "type": "STRING",
22 "value": "XCD123"
23 }
24 ]
25}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Update Network
Update parameters of the Network
PUT:
`/api/v4.1/network/{networkId}`
Request and response
Request parameters and sample
Network request
1{
2 name (string, compulsory),
3 retailers ((Array, compulsory),
4 attributes (Array[Attribute], optional)
5
6
7 Attribute {
8 name (string, optional),
9 type (string, optional) = ['STRING', 'INTEGER'],
10 value (string, optional)
11 }
12
13}
Language: java
Name: Network response
Description:
[Warning: empty required content area]1{
2 "name": "Network",
3 "retailers": [
4 "1"
5 ],
6 "attributes": [
7 {
8 "name": "address",
9 "type": "ADDRESS",
10 "value": {
11 "address": "46 Kippax Street",
12 "suburb": "Surry Hills",
13 "postcode": "2010",
14 "state": "NSW"
15 }
16 },
17 {
18 "name": "ECP",
19 "type": "STRING",
20 "value": "XCD123"
21 }
22 ]
23}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response Parameters and sample
Network response
1{
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5}
Language: java
Name: Example response
Description:
[Warning: empty required content area]1{
2 "id": 9
3}
Language: json
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Order API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
An order is a customers request to purchase one or more items from a retailer. An order is created when a customer completes the checkout process against a Retailer Products.
Key points
- Order API is used to create an order in the system.
- Customer and Products information should be available.
- Order details like, order items, transaction details, fulfilment choice, customer and delivery information are all required to create an order.
Property | Value |
URL | <root_url>/api/v4.1/order |
Methods | GET, POST, PUT |
Scheme | https |
Auth | OAUTH |
Permissions | ORDER_VIEW |
Content-Type | application/json |
Order Properties
Below are the order properties of which are available in the order object and can be updated and retrieved via the order API's.
1. createdOn
Type: String
Description:
`{ "createdOn" : "2016-10-23T23:04:39.083Z" }`
2. orderRef
Type: String
Description:
`{ "orderRef" : "23451789" }`
3. orderId
Type: String
Description:
`{ "orderId" : "16425" }`
4. type
Type: String
Description:
`{ "type" : "CC" }`
Possible values are: - **CC - **SFS - **HD - **RETURN
5. retailerId
Type: String
Description:
`{"type" : "003SurryHillsStore"}`
6. customer
Type: Object
1{"customerRef" : "3624"}
2{"email" : "customer@emailclient.com"}
3{"firstname" : "John"}
4{"lasname" : "Smith"}
5{"mobile" : "04xx 999 111"}
Language: plain_text
Name: Description
Description:
[Warning: empty required content area]- customerId (Integer, Optional) : Provide if existing customer. Mutually exclusive with name, email and mobile.
- customerRef (String, Mandatory): Retailer reference for the customer.
- firstName (String, Compulsory): Customers First Name - firstName is not required in order API, but in DB it's not null.
- lastName (String, Optional): Customers Last Name - lastName is not required in order API.
- email (String, Optional): Customer's email address.
- mobile (String, Optional): Customer's mobile number
7. fulfilmentChoice
Type: Object
1{ "fulfilmentPrice" : "9.99" }
2{ "fulfilmentTaxPrice" : "null" }
3{ "currency" : "AUD" }
4{ "pickupLocationRef" : "1013" }
5{ "deliveryType" : "STANDARD" }
6{ "deliveryInstruction" : "Leave at front door" }
7
Language: plain_text
Name: Description
Description:
[Warning: empty required content area]The fulfillment choice specified when booking the order
- fulfilmentType (String, Optional): Indicates what fulfilment locations should be used. Allowed values are:
- CC_PFS ( Click & Collect - Pick from Store),
- CC_PFDC ( Click & Collect - Pick from DC)
- HD_PFS (Home Delivery - Pick from Store)
- HD_PFDC ( Home Delivery - Pick from DC)
- fulfilmentPrice (Double, Optional): FulfilmentPrice refers to shipping fees if the order type is Home Delivery HD & C&C Fees for Click & Collect orders.
- fulfilmentTaxPrice (Double, Optional): This refers to the tax cost associated with the fulfilment price.
- currency (String, Optional): The type of currency, 3 letter ISO currency code.
- pickupLocationRef (String, Optional): Pickup location is required for click & collect orders.
- deliveryType (String, Optional): Based on retailers shipping options. Retailer fulfilment rules will determine how an order is handled. Example values are STANDARD, EXPRESS, OVERNIGHT, 3HOURS.
- deliveryInstruction (String, Optional): Instruction provided by the customer ( 250 Character limit).
- address (Object, Optional): Delivery address. Required if it is a home delivery.
8. items
Type: Array
1
2{ "skuRef" : "FX141123TPRT-1-2" }
3{ "requestedQty" : "1" }
4{ "skuPrice" : "59.99" }
5{ "skuTaxPrice" : "null" }
6{ "totalPrice" : "59.99" }
7{ "totalTaxPrice" : "null" }
8{ "taxType" : "null" }
9{ "currency" : "AUD" }
10{ "imageUrlRef" : "null" }
Language: json
Name: Description
Description:
[Warning: empty required content area]An array of order line item objects in order.
- skuId (String, Optional): The unique identifier that is generated when an SKU is created.
- skuRef (String, Compulsory): The unique reference or code provided externally.
- requestedQty (Integer, Optional): The total quantity being requested for fulfilment.
- skuPrice (Double, Optional): The amount paid for the unit item excluding tax.
- skuTaxPrice (Double, Optional): The amount of tax paid for the unit item.
- totalPrice (Double, Compulsory): The total amount paid for the line item excluding tax.
- totalTaxPrice (Double, Optional): The total amount of tax paid for the line item.
- taxType (String, Optional): Identified what type of tax is associated with the Order Item.
Allowed values are:- GST,
- VAT,
- EXCL
- TAX
- currency (String, Optional): The type of currency used to pay for the unit, this should be provided if the amount is received, 3 letter ISO currency code.
- imageUrlRef (String, Optional): Can be used to provide the Image URL so that order items have an image displayed.
- comments (Array[CommentRequest], optional) : Array of comments.
9. Location
Type: Object
1
2
3{ "companyName" : "null" }
4{ "street" : "25, James drive" }
5{ "city" : "Sydney" }
6{ "postcode" : "2000" }
7{ "state" : "NSW" }
8{ "country" : "AU" }
Language: plain_text
Name: Description
Description:
[Warning: empty required content area]Fulfillment choice address
- locationRef(String, Optional): Reference provided by the retailer.
- companyName(String, Optional): Name of the company if delivering to a business location.
- street(String, Optional): customer street address.
- city(String, Optional): Customers city.
- postcode(String, Optional): Customers postcode details.
- state(String, Optional): Customers state.
- country(String, Optional): Customers country
10. Attributes
Type: Array
Description:
1"attributes": [
2{
3"name" : "Supplier Address",
4"type" : "address",
5"value" : {
6 "value" : "46, Kippax Street",
7 "Suburb" : "Surry Hills",
8 "Post Code" : "2010",
9 "State" : "NSW,
10 "State" : "AU"
11 }
12},
13
14{
15"name" : "ECP",
16"type" : "string",
17"value" : "XSD987"
18}
19
20]
Language: json
Name: Order Attributes
Description:
Order Attributes and its value like,
ShipFrom address
ShipTo address
Price
Items
Packing instructions
An array of attributes. Attributes are used to provide additional information about the order. Standard attribute types like string, and integer and complex types like address which has more than one value are supported as well.
- name (String, Optional): Name of attributes.
- type (String, Optional): Type of value provided (String, Integer, Address etc).
- value (String, Optional): attribute value
11. CommentRequest
Type: Array
1{ "entityId" : "124232" }
2{ "entityType" : "ORDER" }
3{ "retailerId" : "Order item comment" }
Language: plain_text
Name: Description
Description:
[Warning: empty required content area]An array of commentRequest objects. One or more comments per order item.
- body (String, Optional): Comment text. Max length 200 characters per comment.
- entityId (String, Optional): ID of the entity.
- entityType (String, Optional): = Entity type. Allowed values are:
- ORDER'
- FULFILMENT
- CONSIGNMENT
- retailerId (String, Optional): Retailer ID
What you can do with Order API
Create a new order
This API is used to create an order in the system. Information such as order details, order items, transaction details, fulfilment choice, and customer and delivery information are all required to create an order.
POST:
`/api/v4.1/order`
Request and response
Request parameters and sample
Order Request
1OrderRequest {
2 attributes (Array[Attribute], optional),
3
4 Attribute {
5 name (string, optional),
6 type (string, optional) = ['STRING', 'INTEGER'],
7 value (string, optional)
8 },
9 customer (Customer, optional),
10
11 Customer {
12
13 customerId (integer, optional),
14 customerRef (string, optional),
15 email (string, optional),
16 firstName (string, optional),
17 lastName (string, optional),
18 mobile (string, optional)
19 },
20 fulfilmentChoice (FulfilmentChoice,optional),
21
22 FulfilmentChoice {
23 address (Location, optional),
24
25 Location {
26
27 city (string, optional),
28 companyName (string, optional),
29 country (string, optional),
30 locationRef (string, optional),
31 name (string, optional),
32 postcode (string, optional),
33 state (string, optional),
34 street (string, optional)
35 },
36 currency (string, optional),
37
38 fulfilmentPrice (number, optional), fulfilmentTaxPrice (number, optional),
39 fulfilmentType (string, optional) = ['CFS', 'STC', 'SFDC', 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC', 'R_RTDC', 'R_RTS'],
40 preferredLocationRef (string, optional) },
41
42 fulfilments (Array[Fulfilment], optional),
43
44 Fulfilment {
45
46 fulfilmentId (string, optional),
47 fulfilmentRef (string, optional),
48 fulfilmentType (string, optional) = ['CFS', 'STC', 'SFDC', 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC', 'R_RTDC', 'R_RTS'],
49 orderId (string, optional),
50 status (string, optional)
51 },
52 items (Array[OrderItem], optional),
53
54 OrderItem {
55 comments (Array[CommentRequest],optional),
56
57"""- note "FulfilmentChoice"""
58 CommentRequest {
59 body (string, optional),
60 entityId (string, optional),
61 entityType (string, optional) = ['ORDER', 'FULFILMENT', 'CONSIGNMENT'],
62 retailerId (string, optional)
63 },
64
65 currency (string, optional),
66
67 imageUrlRef (string, optional),
68 productId (string, optional),
69 requestedQty (integer, optional),
70 skuId (string, optional),
71 skuPrice (number, optional),
72 skuRef (string, optional),
73 skuTaxPrice (number, optional),
74 taxType (string, optional) = ['GST', 'VAT', 'EXCLTAX'],
75 totalPrice (number, optional),
76 totalTaxPrice (number, optional)
77 },
78
79 orderRef (string, optional),
80 retailerId (string, optional),
81 totalPrice (number, optional),
82 totalTaxPrice (number, optional),
83 type (string, optional) = ['CC', 'SFS', 'HD', 'RETURN']
84
85}
Language: json
Name: Order Request
Description:
Order info like,
CustomerId, CustomerRef, Firstname, Lastname, Address
FulfillmentChoice
Location
Fulfillment plan
OrderItem
1{
2 "customer":{
3 "firstName":"nick",
4 "lastName":"yaw",
5 "customerRef":"00006T5B",
6 "mobile":"0410496842",
7 "email":"nick@parcelpoint.com.au"
8 },
9 "items":[
10 {
11 "skuRef":"117161458",
12 "skuPrice":19.99,
13 "totalPrice":59.99,
14 "requestedQty":1
15 }
16 ],
17 "orderRef":"1171615111",
18 "retailerId":"433",
19 "fulfilmentChoice":{
20 "fulfilmentPrice":0,
21 "fulfilmentTaxPrice":0,
22 "fulfilmentType":"HD_PFS",
23 "deliveryType":"STANDARD",
24 "deliveryInstruction":"home delivery",
25 "address":{
26 "name":"nrjxp",
27 "street":"24 pacific higway",
28 "city":"Wahroonga",
29 "postcode":"2076",
30 "state":"NSW",
31 "country":"Australia"
32 }
33 },
34 "type":"HD"
35}
Language: json
Name: Order Example
Description:
Order sample with values - OrderApi field values
Response Parameters and sample
Order response
1SuccessMessageResponse {
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5 }
Language: json
Name: Order Response
Description:
Order Response msg. with status
1{
2 "id": 427323
3}
Language: json
Name: Example Response
Description:
Sample Response Id
Get the details of an order
This API is used to retrieve the information about an order
GET:
`/api/v4.1/order/{orderId}`
Request and response
Request parameters and sample
Parameters in URL
Name | Type | Required | Description |
orderId |
| Yes | The Order Id |
Example request /api/v4.1/order/41241412412
Response Parameters and Sample
Order response
1OrderResponse {
2createdOn (string, optional),
3customer (Customer, optional),
4
5Customer {
6 customerId (integer, optional),
7 customerRef (string, optional),
8 email (string, optional),
9 firstName (string, optional),
10 lastName (string, optional),
11 mobile (string, optional)
12 },
13 fulfilmentChoice (FulfilmentChoice,optional),
14
15 FulfilmentChoice {
16 address (Location, optional),
17
18 currency (string, optional),
19 fulfilmentPrice (number, optional),
20 fulfilmentTaxPrice (number, optional),
21 fulfilmentType (string, optional) = ['CFS', 'STC', 'SFDC', 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC', 'R_RTDC', 'R_RTS'],
22 preferredLocationRef (string, optional)
23 },
24 fulfilments (Array[Fulfilment], optional),
25
26 Fulfilment {
27 fulfilmentId (string, optional),
28 fulfilmentRef (string, optional),
29 fulfilmentType (string, optional) = ['CFS', 'STC', 'SFDC', 'CC_PFS', 'CC_PFDC', 'HD_PFS', 'HD_PFDC', 'R_RTDC', 'R_RTS'],
30 orderId (string, optional),
31 status (string, optional)
32 },
33 items (Array[OrderItem], optional),
34
35 OrderItem {
36 comments (Array[CommentRequest],optional),
37
38 CommentRequest {
39 body (string, optional),
40 entityId (string, optional),
41 entityType (string, optional) = ['ORDER', 'FULFILMENT', 'CONSIGNMENT'],
42 retailerId (string, optional)
43 },
44
45 currency (string, optional),
46
47 imageUrlRef (string, optional),
48 productId (string, optional),
49 requestedQty (integer, optional),
50 skuId (string, optional),
51 skuPrice (number, optional),
52 skuRef (string, optional),
53 skuTaxPrice (number, optional),
54 taxType (string, optional) = ['GST', 'VAT', 'EXCLTAX'],
55 totalPrice (number, optional),
56 totalTaxPrice (number, optional)
57 },
58 orderId (string, optional), orderRef (string, optional), retailer (Retailer, optional),
59
60 {
61 retailerId (string, optional)
62 },
63 status (string, optional),
64 type (string, optional) = ['CC', 'SFS', 'HD', 'RETURN']
65 stringEnum:"CC", "SFS", "HD", "RETURN"
66}
67
68
Language: json
Name: Order Response
Description:
Order Response
CustomerId, CustomerRef, Firstname, Lastname, Address
FulfillmentChoice
Location
Fulfillment plan
OrderItem
1{
2"orderId": "16567",
3"orderRef": "1442900789",
4"status": "BOOKED",
5"type": "HD",
6"customer": {
7"customerId": 310728,
8"customerRef": "08141413",
9"firstName": "Rick",
10"lastName": "Leathers",
11"email": "nick@parcelpoint.com.au",
12"mobile": "0424188192"
13},
14"retailer": {
15"retailerId": "211"
16},
17"fulfilments": [
18{
19"orderId": "16567",
20"fulfilmentId": "4160",
21"fulfilmentRef": null,
22"status": "CREATED",
23"fulfilmentType": "HD_PFDC"
24}
25],
26"items": [
27{
28"imageUrlRef": "",
29"requestedQty": 1,
30"skuId": "198005",
31"skuRef": "FX141123TPRT-1-2",
32"skuPrice": 59.99,
33"skuTaxPrice": null,
34"totalPrice": 59.99,
35"totalTaxPrice": null,
36"taxType": null,
37"currency": null
38}
39],
40"fulfilmentChoice": {
41"fulfilmentType": "HD_PFDC",
42"fulfilmentPrice": null,
43"fulfilmentTaxPrice": null,
44"currency": null,
45"pickupLocationRef": null,
46"deliveryType": "STANDARD",
47"deliveryInstruction": "home delivery",
48"address": {
49"locationRef": "1013",
50"companyName": null,
51"name": "TestUser",
52"street": "24 pacific higway",
53"city": "wahroonga",
54"postcode": "123456",
55"state": "SFO",
56"country": "USA"
57}
58}
59}
60
Language: json
Name: Example Response
Description:
Sample Order Response with attribute values,
OrderId, Orderref,
CustomerId, Firstname, Lastname, email, phone#
RetailerId, FulfillmentChoice, FulfillmentId,
SkuId, price, units, currency
Shipfrom Address, Shipto address,
etc .....
Search for orders
This API returns a list of orders against a given set of search criteria
GET:
`/api/v4.1/order`
Example:
`/api/v4.1/order?customerRef=1234`
Cancel an order
This API is used to cancel an existing order. Orders can be cancelled only if the fulfilment has been created but not yet actioned or if the order is in a cancelled or rejected state.
POST:
`/api/v4.1/order/{orderId}/cancel`
Request and response
Request parameters and sample
Order request
`/api/v4.1/order/{orderId}/cancel`
Example request
`/api/v4.1/order/427323/cancel`
Response Parameters and sample
Order response
1SuccessMessageResponse {
2 id (object, optional),
3 message (string, optional),
4 status (string, optional)
5}
Language: json
Name: Order Response
Description:
Order msg.Id, msg desc. and status
1{
2 "id":"427323"
3}
Language: json
Name: Example Response
Description:
Sample Response with Id
Update order attributes
This API is used to update additional information (attributes) and store it against the order.
PUT:
`/api/v4.1/order/{orderId}/attribute`
Request and response
Request parameters and sample
Order request
1OrderRequest {
2 attributes (Array[Attribute], optional),
3
4 Attribute {
5 name (string, optional),
6 type (string, optional) = ['STRING', 'INTEGER'],
7 value (string, optional)
8 }
9}
10
Language: json
Name: Order Request
Description:
Order Request with parameter Attributes
1{
2"attributes": [
3{
4"name": "Order code 1",
5"type" : "string"
6"value": "123"
7},
8{
9"name": "Order code 2",
10"type" : "string"
11"value": "124"
12},
13{
14"name": "Address",
15"type" : "address",
16"value" : {
17"Address 1" : "46, Kipax Street",
18"Suburb" : "Surry Hills"
19"Post code" : "2010",
20"State" : "NSW"
21}
22}
23]
24}
Language: json
Name: Example Request
Description:
Sample Request with Attribute values.
This API is used to update additional information (attributes) and store it against the order.
Order info., Address
Response parameters and sample
Order response
1attributeResponse{
2 updatedAttributes (Array[attributeRecord], optional), [
3 Attribute {
4 name (string, optional),
5 value (string, optional)
6 }
7 ],
8
9 failedAttributes (Array[attributeFailureRecord], optional), [
10 Attribute {
11 name (string, optional),
12 value (string, optional),
13 error (string, optional),
14 }
15 ]
16
17}
Language: json
Name: Order Response
Description:
Order Response in,
UpdateAttributes name and values
Failed Attributes name and values
1{
2"updatedattributes": [ {
3"name": "ordercode_1",
4"value": "123"
5},
6{
7"name": "ordercode_2",
8"value": "124"
9}],
10"failedattributes": [
11{
12"name": "address",
13"value" : {
14"Address 1" : "46, Kipax Street",
15"Suburb" : "Surry Hills"
16"Post code" : "2010",
17"State" : "NSW"
18},
19"error": "attributes not allowed for the user ID : [8977]"
20}
21]
22}
Language: json
Name: Example Response
Description:
Sample Response on,
UpdateAttributes name and values,
FailureAttributes name and values
and error msg.
Read order attributes
This API is used to retrieve existing attributes of an order.
GET:
`/api/v4.1/order/{orderId}/attribute`
Request and response
Request parameters and sample
Order request
`/api/v4.1/order/{orderId}/attribute`
Example request
`/api/v4.1/order/16567/attribute`
Response Parameters and sample
1orderResponse {
2orderId (string),
3attributes (array), [
4 attributes {
5 name (string),
6 type (string),
7 value (string)
8 }
9 ]
10
11}
Language: json
Name: Order Response
Description:
Order Response with Attributes,
OrderId and its values
1{
2"orderId": "16567",
3"attributes": [
4{
5"name": "Order code 1",
6"type" : "string",
7"value": "123"
8},
9{
10"name": "Order code 2",
11"type" : "string",
12"value": "124"
13},
14{
15"name": "Address",
16"type" : "address",
17"value" : {
18"Address 1" : "46, Kipax Street",
19"Suburb" : "Surry Hills",
20"Post code" : "2010",
21"State" : "NSW"
22}
23}
24]
25}
Language: json
Name: Example Response
Description:
Sample Response with attribute values,
OrderId
Name and address with values
Response on Failures
NAME | TYPE | DESCRIPTION |
error |
| Array of errors |
message |
| Additional information on the code Unauthorised | Bad Request | Forbidden | Not Found | Status 500 Error |
code |
| Status Code for the above messages 401 | 400 | 403 | 404 | 500 |
Order Item API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
An Order Item is the SKU purchased by the customer on the Retailer's online store. There can be one or many Order Items within an Order. Each order item has an associated quantity and paid price.
Key points
- Order Item Properties
- What you can do with Order Item
- Response on Failures
Order Item Properties
Below are the properties available in the Order Item object which can be updated and retrieved through the APIs in this document.
1. orderRef
Type: String
Description: { "orderRef" : "example" } The unique reference provided by the retailer.
2. createdOn
Type: DateTime
Description: { "createdOn" : "2016-05-06T23:41:12.242Z" } Date/time when the Order was created.
3. items
Type: Array
Description:
1{ "skuId" : "397625" }
2
3{ "skuRef" : "FX141123TPRT-1-2" }
4
5{ "productId" : "21231231" }
6
7{ "requestedQty" : "1" }
8
9{ "skuPrice" : "59.99" }
10
11{ "skuTaxPrice" : "null" }
12
13{ "totalPrice" : "59.99" }
14
15{ "totalPrice" : "null" }
16
17{ "taxType" : "null" }
18
19{ "currency" : "AUD" }
20
21{ "imageUrlRef" : "http://demandware.edgesuite.net/aazi_dev/on/demandware.static/Sites-seed-au-Site/-/default/dwa7384063/images/noimagemedium.png" }
22
23{ "skuResponse" : [array] }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of order item(s)
- skuId (String) : The unique identifier assigned to the SKU by Fluent Commerce.
- skuRef (String) : The unique SKU reference or code provided by the retailer.
- productId (String) : The unique identifier assigned by Fluent Commerce.
- requestedQty (Integer) : The total quantity assigned to the fulfilment.
- skuPrice (Double) : The amount paid for the unit item excluding tax.
- skuTaxPrice (Double) : The amount of tax paid for the unit item.
- totalPrice (Double) : The total amount paid for the line item excluding tax.
- totalTaxPrice (Double) : The total amount of tax paid for the line item.
- taxType (String) : The type of tax is associated with the Order Item. Allowed values are:
- GST,
- VAT,
- EXCLTAX
- currency (String) : The type of currency used to pay for the unit, this should be provided if the amount is received, 3 letter ISO currency code.
- imageUrlRef (String) : Can be used to provide the Image URL so that order items have an image displayed.
- skuResponse (Object[skuResponse]) : The object with the SKU details.
4. skuResponse
Type: Object
1{ "skuRef" : "FX141123TPRT-1-2" }
2
3{ "productRef" : "9083122" }
4
5{ "name" : "Asymmetrical Sweater" }
6
7{ "status" : "ACTIVE" }
8
9{ "imageUrlRef" : "http://imageurl.com/noimagemedium.png" }
10
11{ "retailerId" : "197" }
12
13{ "prices" : [array] }
14
15{ "categories" : [array] }
16
17{ "attributes" : [array] }
18
19{ "references" : [array] }
20
21{ "categoryRef" : "83" }
22
23{ "categoryId" : "750" }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of SKUs
- skuRef (String) : The unique SKU reference or code provided by the retailer..
- productRef (String) : The unique product reference or code provided by the retailer.
- name (String) : Product name.
- status (Integer) : The SKU status. Possible values are:
- ACTIVE'
- INACTIVE
- UNKNOWN
- imageUrlRef (String) : Can be used to provide the Image URL so that order items have an image displayed.
- retailerId (string) : The retailer identifier assigned by Fluent Commerce.
- prices (array) : Array of prices associated with the SKU.
- categories (array[categorySummary]) : Array of categories associated with the SKU.
- attributes (array) : Array of attributes associated with the SKU.
- references (array) : Array of SKU references. e.g.: EAN, MPN numbers. One SKU can have multiple references.
- categoryRef (String) : The unique category reference or code provided by the retailer.
- categoryId (String) : The unique identifier assigned to the category by Fluent Commerce.
5. price
Type: Array
1{ "type" : "CURRENT" }
2
3{ "value" : "89.95" }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of prices associated with the SKU
- currency (String) : The type of currency used to pay for the unit, this should be provided if the amount is received, 3 letter ISO currency code.
- type (String) : The price type. Possible values are:
- CURRENT
- ORIGINAL
- value (String) : The associated price
6. categorySummary
Type: Array
Description:
1{ "categoryId" : "750" }
2
3{ "name" : "W ACTIVEWEAR" }
4
5{ "retailerId" : "197" }
Language: java
Name: Description
Description:
[Warning: empty required content area]An array of categories associated with the SKU
- categoryRef (String) : The unique category reference or code provided by the retailer.
- categoryId (String) : The unique identifier assigned to the category by Fluent Commerce.
- name (string) : The category name.
- retailerId (long) : The retailer identifier assigned by Fluent Commerce
7. attributes
Type: Array
Description:
1"attributes": [
2 {
3 "name": "SIZE_DESC",
4 "value": "S",
5 "type": "STRING"
6 },
7 {
8 "name": "SIZE_NUMBER",
9 "value": "S",
10 "type": "INTEGER"
11 },
12 {
13 "name": "COLOUR_DESC",
14 "value": "BLACK",
15 "type": "STRING"
16 },
17 {
18 "name": "COLOUR_NUMBER",
19 "value": "59",
20 "type": "INTEGER"
21 }
22 ]
Language: java
Name: Description
Description:
[Warning: empty required content area]Array of attributes. Attributes are used to provide additional information about the order item.
- name (String) : Indicates specific SKU attribute e.g. brand.
- type (String/Integer) : Data type of specific SKU attribute. Possible values are:
- STRING
- INTEGER
- value (String) : Value of SKU attribute.
8. references
Type: Array
Description:
1{ "value": "9346917673328" }
Language: java
Name: Description
Description:
[Warning: empty required content area]Array of SKU references. e.g.: EAN, MPN numbers. Once SKU can have multiple references
- type (String) :
- value (String) :
What you can do with Order Item
View Order Item(s)
Retrieve all the order items associated with an order
GET:
`/api/v4.1/order/{orderId}/item`
Request and response
Request parameters and sample
Order Request
`/api/v4.1/order/{orderId}/item`
Example request /api/v4.1/order/4124141/item
Response Parameters and sample
1orderItemResponse {
2 createdOn (string),
3 orderRef (string),
4 items (array),
5 attributes (array)
6
7 items [{
8 skuId (string),
9 skuRef (string),
10 productId (string),
11 requestedQty (string),
12 skuPrice (double),
13 skuTaxPrice (double),
14 totalPrice (double),
15 totalTaxPrice (double),
16 taxType (string),
17 currency (string),
18 imageUrlRef (string),
19 skuResponse (object[skuResponse)
20 }]
21
22 skuResponse {
23 skuId (string),
24 skuRef (string),
25 productRef (string),
26 name (string),
27 status (string),
28 imageUrlRef (string),
29 retailerId (string),
30 prices (array)
31 }
32
33 prices {
34
35 currency (string) = 'AUD', 'NZD',
36 type (string) = 'CURRENT', 'ORIGINAL',
37 value (double)
38 }
39
40 categories (array[categorySummary]),
41
42 categorySummary {
43
44 categoryRef (string),
45 categoryId (string),
46 name (string),
47 retailerId (long)
48 }
49
50 attributes {
51
52 name (string),
53 type (string),
54 value (string)
55 }
56
57``references (array)``
58
59 references {
60
61 type (string),
62 value (string)
63 }
64
65}
66
Language: java
Name: Order Item response
Description:
[Warning: empty required content area]1{
2 "orderRef": "SEEDAU00001601",
3 "createdOn": "2015-11-16T02:10:22.000+0000",
4 "items": [
5 {
6 "imageUrlRef": "http://demandware.edgesuite.net/aazi_dev/on/demandware.static/Sites-seed-au-Site/-/default/dwa7384063/images/noimagemedium.png",
7 "requestedQty": 1,
8 "skuId": "397625",
9 "skuRef": "9083122-59-S-se",
10 "skuPrice": 59.95,
11 "skuTaxPrice": 5.45,
12 "totalPrice": 59.95,
13 "totalTaxPrice": 5.45,
14 "taxType": null,
15 "currency": "AUD",
16 "skuResponse": {
17 "skuId": 397625,
18 "skuRef": "9083122-59-S-se",
19 "productRef": "9083122",
20 "name": "Asymmetrical Sweater",
21 "status": "ACTIVE",
22 "prices": [
23 {
24 "type": "UNIT_PRICE",
25 "value": 59.95,
26 "currency": "AUD"
27 },
28 {
29 "type": "ORIGINAL_PRICE",
30 "value": 59.95,
31 "currency": "AUD"
32 }
33 ],
34 "attributes": [
35 {
36 "name": "SIZE_DESC",
37 "value": "S",
38 "type": "STRING"
39 },
40 {
41 "name": "SIZE_NUMBER",
42 "value": "S",
43 "type": "INTEGER"
44 },
45 {
46 "name": "COLOUR_DESC",
47 "value": "BLACK",
48 "type": "STRING"
49 },
50 {
51 "name": "COLOUR_NUMBER",
52 "value": "59",
53 "type": "INTEGER"
54 }
55 ],
56 "references": [
57 {
58 "type": "BARCODE",
59 "value": "9346917673328"
60 }
61 ],
62 "retailerId": 433,
63 "imageUrlRef": "http://demandware.edgesuite.net/aazi_dev/on/demandware.static/Sites-seed-au-Site/-/default/dwa7384063/images/noimagemedium.png",
64 "categories": [
65 {
66 "categoryId": "750",
67 "categoryRef": "83",
68 "name": "W ACTIVEWEAR",
69 "retailerId": 433
70 }
71 ]
72 }
73 }
74 ]
75}
Language: json
Name: Example request
Description:
[Warning: empty required content area]Response on Failures
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 |
Product API
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
|
Return API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
A return is a customer's request to send back one or more items against an Order from the Retailer. A return can exist with or without the original order reference. If the original order reference exists, the return can contain the details of the returned items, the reasons, and the amount to be refunded. A return also could represent items within an original order that could not be fulfilled or has been canceled by the customer and requires a subsequent refund. Through the type of return, we can identify the context of the return, i.e., if it is a customer return, cannot fulfill or cancel.
Key points
- The properties are available in the Return object
- This Return object can be updated and retrieved through the API
Return Properties
Below properties are available in the Return object which can be updated and retrieved through the APIs in this document.
1. returnRef
Type: String
Description:
`{ "returnRef" : "554367" }`
The return reference from the retailer.
2. orderRef
Type: String
Description:
`{ "orderRef" : "201607191462" }`
The unique reference provided by the retailer.
3. orderId
Type: String
Description:
`{ "orderId" : "16425" }`
The unique order id assigned by Fluent Commerce.
4. retailerId
Type: String
Description:
{ "retailerId" : "197" }
`
`
The retailer identifier assigned by Fluent Commerce.
5. type
Type: String
Description:
`{ "type" : "CUSTOMER_RETURN" }`
The type of return. Possible values are:
- CUSTOMER_RETURN - A customer initiated return.
- CANCELLATION - The order was cancelled using Admin Console and a full refund has been initiated.
- CANNOT_FULFIL - The original order contained items that couldn't be fulfilled so a refund has been initiated.
6. customer
Type: Object
Description:
1{
2"customerId": "5647547",
3"customerRef": "34562829",
4"email": "john@gmail.com",
5"firstName": "John",
6"lastName": "Smith",
7"mobile": "0407000111"
8}
Language: json
Name: Customer Return
Description:
Customer Return info.,
customerId (integer) - The unique customer identifier assigned by Fluent Commerce
customerRef (string) - The customer reference from the retailer.
firstName (string) - Customer's first name
lastName (string) - Customer's last name
email (string) - Customer's email
mobile (string) - Customer's mobile number
7. fulfilmentChoice
Type: Object
Description:
1{
2"preferredLocationRef": "SHA080",
3"fulfilmentType": "R_RTDC",
4"fulfilmentPrice": "7.90",
5"fulfilmentTaxPrice": "0.80",
6"currency": "AUD",
7"address": "<see example below>"
8}
Language: json
Name: FulfilmentChoice
Description:
Fulfilment Choice with below info.
Preferred Location: SYD_DC - Unique reference for drop off location
Fulfilment Type: R_RTDC - Return routed to Retailers DC irrespective of the drop off Address
R_RTS - Returned to the store location
Price: 8.25 - The delivery cost excluding tax that will be refunded
TaxPrice: 1.50 - The tax component of the delivery cost that will be refunded
Currency:"AUD" - Currency type, 3 letter ISO currency code
Address: The destination address of the return parcel
8. address
Type: object
Description:
1{
2"city": "Sydney",
3"companyName": "Seed Heritage",
4"country": "Aus",
5"locationRef": "2038",
6"name": "",
7"postcode": "2000",
8"state": "NSW",
9"street": "123 Pitt St"
10}
Language: json
Name: Return Address
Description:
The destination address of the return parcel
City
CompanyName
Country
LocationRef
Name
PostCode
State
Street
9. items
Type: Array
Description:
1{
2"skuId":"368961",
3"skuRef":"1022096-578-2-3-se",
4"skuPrice":19.99,
5"skuTaxPrice":null,
6"taxType":null,
7"currency":null,
8"returnQty":1,
9"returnReason":"Damaged",
10"returnCondition":"0"
11}
Language: json
Name: Return Items
Description:
The items within the return
skuId - The unique identifier that is generated when a SKU is created
skuRef - The unique reference or code provided by the retailer.
skuPrice - The amount that will be refunded for the unit item excluding tax.
skuTaxPrice - The tax component of the unit item.
taxType - Possible values are:
GST
VAT
EXCLTAX
currency - Currency type, 3 letter ISO currency code.
returnQty - This value can only be 1 for CUSTOMER_RETURN.
returnReason - Return reason associated with the unit item returned. Configurable by retailer.
returnCondition - Return condition associated with the unit item returned
10. fulfilments
Type: Array
Description:
1{
2"fulfilmentId": "5553633",
3"fulfilmentRef": "999878",
4"fulfilmentType": "R_RTDC",
5"status": "CREATED"
6}
Language: json
Name: Fulfilments
Description:
Fulfilments Array
fulfilmentId - The unique fulfilment identifier assigned by Fluent Commerce
fulfilmentRef - The unique fulfilment reference provided by the retailer
fulfilmentType - Possible values:
R_RTDC - Return routed to Retailers DC irrespective of the drop off Address
R_RTS - Returned to the store location
status - Current status of the fulfilment. Possible values are:
CREATED - The Fulfilment is created in the system against a return
COMPLETE - The Fulfilment moves to COMPLETE when all the articles have been RETURNED to the destination location
ARRIVED - The Fulfillments move to the ARRIVED state when all the Articles have arrived at the drop-off point
11. status
Type: String
Description:
` { "status" : "LODGED" }`
Current status of the return. Possible values are:
- CREATED - Return created
- BOOKED - Customer return booked.
- LODGED - Automatic refund strategy has been initiated i.e. Original order is single tender type and payment gateway is integrated.
- PENDING RETURN - User initiated refund strategy has been initiated.
i.e. Original order includes more than one tender type and/or payment gateway is not integrated.
Return can also move to this state if the return transaction is declined by the payment gateway. - COMPLETE - Refund processed.
12. retailerId
Type: String
Description:
`{ "retailerId" : "197" }`
13. createdOn
Type: DateTime
Description:
`{ "createdOn" : "2016-05-06T23:41:12.242Z" }`
Date/time when the Return was created.
14. updatedOn
Type: DateTime
Description:
`{ "updatedOn" : "2016-06-23T07:58:58.000+0000" }`
Date/time when the Return was last updated.
15. totalReturnPrice
Type: Double
Description:
`{ "totalReturnPrice" : "59.90" }`
Total return value including shipping or click & collect fees
16. sort
Type: String
Description:
` { "sort" : "createdOn DESC" }`
Sorting options requested.
Note: Currently default sorting "createdOn DESC” only supported.
`
`
17. query
Type: String
Description: Return Id, Order Reference or Customer Name searched for
What you can do with Return
Create a Return
Create a Return in the Fluent Commerce system.
POST:
`/api/v4.1/return`
Request and response
Request parameters and sample
1returnRequest {
2 customer (Object, compulsory),
3
4 customer {
5 customerId (string, optional),
6 customerRef (string, optional)
7 email (string, compulsory),
8 firstName (string, optional),
9 lastName (string, optional),
10 mobile (string, optional)
11 }
12
13 fulfilmentChoice (Object, optional),
14
15 fulfilmentChoice {
16 address (object, optional),
17 currency (string, optional),
18 fulfilmentPrice (double, optional),
19 fulfilmentTaxPrice (double, optional),
20 fulfilmentType (string, optional),
21 preferredLocationRef (string, optional)
22 }
23
24 fulfilments (array, optional),
25
26 fulfilments {
27 fulfilmentId (string, optional),
28 fulfilmentRef (string, optional),
29 fulfilmentType (string, optional) = 'R_RTDC', 'R_RTS',
30 status (string, optional) = 'CREATED', 'COMPLETE', 'ARRIVED'
31
32 items (array, optional),
33
34 items {
35 currency (string, optional),
36 returnCondition (string, optional),
37 returnQty (integer, optional),
38 returnReason (string, optional),
39 skuId (string, optional),
40 skuPrice (double, optional),
41 skuRef (string, compulsory),
42 skuTaxPrice (double, optional),
43 taxType (string, optional) = 'GST', 'VAT', 'EXCLTAX'
44
45 orderId (string, optional),
46 orderRef (string, optional),
47 retailerId (string, compulsory),
48 returnRef (string, optional),
49 status (string, optional) = 'CREATED', 'BOOKED', 'LODGED', 'PENDING_REFUND', 'COMPLETE',
50 type (string, compulsory) = 'CUSTOMER_RETURN', 'CANNOT_FULFIL', 'CANCELLATION'
51 }
Language: json
Name: Return Request
Description:
Return Request Arrays like,
CustomerRef
Fulfilments
Orderref
Items
1{
2 "orderRef":"201607191462",
3 "orderId":"427331",
4 "type":"CUSTOMER_RETURN",
5 "retailerId":433,
6 "customer":{
7 "customerId":903674,
8 "customerRef":"38189566",
9 "firstName":"swathi",
10 "lastName":null,
11 "mobile":null,
12 "email":"eorxy@parcelpoint.com.au"
13 },
14 "items":[
15 {
16 "skuId":"368961",
17 "skuRef":"1022096-578-2-3-se",
18 "skuPrice":19.99,
19 "skuTaxPrice":null,
20 "taxType":null,
21 "currency":null,
22 "returnQty":1,
23 "returnReason":"Damaged",
24 "returnCondition":"0"
25 },
26 {
27 "skuId":"368961",
28 "skuRef":"1022096-578-2-3-se",
29 "skuPrice":19.99,
30 "skuTaxPrice":null,
31 "taxType":null,
32 "currency":null,
33 "returnQty":1,
34 "returnReason":"Damaged",
35 "returnCondition":"0"
36 }
37 ],
38 "fulfilmentChoice":{
39 "preferredLocationRef":"SHA080",
40 "fulfilmentType":"R_RTDC",
41 "address":{
42 "locationRef":"SHA080"
43 }
44 }
45}
Language: json
Name: Example ReturnRequest
Description:
Sample for Return Request with few values,
orderRef:"201607191462",
orderId:"427331",
type:"CUSTOMER_RETURN",
retailerId:433,
etc .....
Response Parameters and sample
1SuccessMessageResponse {
2 id (integer, optional)
3 }
Language: json
Name: Return Response Parameter
Description:
Return response
Response Parameters and sample.
1{
2 "id":"427323"
3}
Language: json
Name: Example Response
Description:
Sample Return Response with <id>,
id="427323"
View Return via returnId
Retrieve details of the Return using returnId.
GET:
`/api/v4.1/return/{returnId}`
** Request and response **
Request parameters and sample
** Return request
`/api/v4.1/return/{returnId}`
** Example request
`/api/v4.1/return/5463`
Response Parameters and sample
** Return response
1returnResponse {
2
3 customer (Object),
4
5 customer {
6 customerId (string),
7 customerRef (string)
8 email (string),
9 firstName (string),
10 lastName (string),
11 mobile (string)
12 }
13
14 fulfilmentChoice (Object),
15
16 fulfilmentChoice {
17 address (object),
18 city (string),
19 companyName (string),
20 country (string),
21 locationRef (string),
22 name (string),
23 postcode (string),
24 state (string),
25 street (string)
26 currency (string),
27
28 fulfilmentPrice (double),
29 fulfilmentTaxPrice (double),
30 fulfilmentType (string),
31 preferredLocationRef (string)
32 }
33
34 fulfilments (array),
35
36 fulfilments {
37 fulfilmentId (string),
38 fulfilmentRef (string),
39 fulfilmentType (string) = 'R_RTDC', 'R_RTS',
40 status (string) = 'CREATED', 'COMPLETE', 'ARRIVED'
41 items (array),
42
43 items {
44 currency (string),
45 returnCondition (string),
46 returnQty (integer),
47 returnReason (string),
48 skuId (string),
49 skuPrice (double),
50 skuRef (string),
51 skuTaxPrice (double),
52 taxType (string) = 'GST', 'VAT', 'EXCLTAX'
53
54 orderId (string),
55 orderRef (string),
56 retailerId (string),
57 returnRef (string),
58 status (string) = 'CREATED', 'BOOKED', 'LODGED', 'PENDING_REFUND', 'COMPLETE',
59 type (string) = 'CUSTOMER_RETURN', 'CANNOT_FULFIL', 'CANCELLATION',
60 createdOn (DateTime)
61 }
Language: json
Name: Return Response Parameters
Description:
Return Response Parameters and sample with arrays,
Customerref,
Fulfilments,
Items,
OrderId,
RetailerId,
Status,
Etc ....
Example Response,
1{
2 "orderRef":"201607191462",
3 "orderId":"427331",
4 "returnRef":"87f996fe-f915-4e8c-bcde-275c5ca9cb4d",
5 "retailerId":"433",
6 "type":"CUSTOMER_RETURN",
7 "status":"PENDING_REFUND",
8 "customer":{
9 "customerId":903674,
10 "customerRef":"38189566",
11 "firstName":"swathi",
12 "lastName":null,
13 "email":"eorxy@parcelpoint.com.au",
14 "mobile":null
15 },
16 "items":[
17 {
18 "skuId":"368961",
19 "skuRef":"1022096-578-2-3-se",
20 "skuPrice":19.99,
21 "skuTaxPrice":null,
22 "taxType":null,
23 "currency":null,
24 "returnQty":1,
25 "returnReason":"Damaged",
26 "returnCondition":"0"
27 },
28 {
29 "skuId":"368961",
30 "skuRef":"1022096-578-2-3-se",
31 "skuPrice":19.99,
32 "skuTaxPrice":null,
33 "taxType":null,
34 "currency":null,
35 "returnQty":1,
36 "returnReason":"Damaged",
37 "returnCondition":"0"
38 }
39 ],
40 "fulfilmentChoice":{
41 "fulfilmentType":"R_RTDC",
42 "preferredLocationRef":"SHA080",
43 "fulfilmentPrice":null,
44 "fulfilmentTaxPrice":null,
45 "currency":null,
46 "address":{
47 "locationRef":"SHA080",
48 "companyName":"Seed Heritage Camberwell",
49 "name":null,
50 "street":"598 Burke Road",
51 "city":"Camberwell",
52 "postcode":"3124",
53 "state":"VIC",
54 "country":"Australia"
55 }
56 },
57 "fulfilments":[
58 {
59 "fulfilmentId":"244188",
60 "fulfilmentRef":null,
61 "status":"COMPLETE",
62 "fulfilmentType":"R_RTDC"
63 }
64 ],
65 "createdOn":"2016-07-20T00:40:34.845+0000"
66}
Language: json
Name: Return Response Example
Description:
Return Response sample,
orderRef:"201607191462",
orderId:"427331",
returnRef:"87f996fe-f915-4e8c-bcde-275c5ca9cb4d",
retailerId:"433",
type:"CUSTOMER_RETURN",
status:"PENDING_REFUND",
customer:,
items:,
Etc ....
View Return via orderId
Retrieve details of the Return using orderId.
GET: /api/v4.1/order/{orderId}/return
** Request and response **
Request parameters and sample
** Return request
`/api/v4.1/order/{orderId}/return`
** Example request
`/api/v4.1/order/553638/return`
Response Parameters and sample
1returnResponse {
2 orderId (string),
3 orderRef (string),
4 retailerId (string),
5 returns (array),
6
7 returns {
8 createdOn (DateTime),
9 customer (Object),
10
11 customer {
12 customerId (string),
13 customerRef (string)
14 email (string),
15 firstName (string),
16 lastName (string),
17 mobile (string)
18 }
19
20 fulfilmentChoice (Object),
21
22 fulfilmentChoice {
23 address (object),
24 city (string),
25 companyName (string),
26 country (string),
27 locationRef (string),
28 name (string),
29 postcode (string),
30 state (string),
31 street (string)
32
33 currency (string),
34 fulfilmentPrice (double),
35 fulfilmentTaxPrice (double),
36 fulfilmentType (string),
37 preferredLocationRef (string)
38
39 fulfilments (array),
40
41 fulfilments {
42 fulfilmentId (string),
43 fulfilmentRef (string),
44 fulfilmentType (string) = 'R_RTDC', 'R_RTS',
45 status (string) = 'CREATED', 'COMPLETE', 'ARRIVED'
46
47 items (array),
48
49 items {
50 currency (string),
51 returnCondition (string),
52 returnQty (integer),
53 returnReason (string),
54 skuId (string),
55 skuPrice (double),
56 skuRef (string),
57 skuTaxPrice (double),
58 taxType (string) = 'GST', 'VAT', 'EXCLTAX'
59
60
61 returnId (string),
62 returnRef (string),
63 status (string) = 'CREATED', 'BOOKED', 'LODGED', 'PENDING_REFUND', 'COMPLETE',
64 type (string) = 'CUSTOMER_RETURN', 'CANNOT_FULFIL', 'CANCELLATION'
65
66 }
Language: json
Name: Return Response
Description:
Return Response Parameters and list of arrays,
Customer,
Address,
OrderId,
Items,
Fulfilments,
Etc....
1{
2 "orderRef":"201607191471",
3 "orderId":"427340",
4 "retailerId":"433",
5 "returns":[
6 {
7 "returnId":"427341",
8 "returnRef":"4c9b2be8-969a-4d95-a20a-8cb017e5ade2",
9 "type":"CANNOT_FULFIL",
10 "status":"CREATED",
11 "customer":{
12 "customerId":903674,
13 "customerRef":"38189566",
14 "firstName":"swathi",
15 "lastName":null,
16 "email":"eorxy@parcelpoint.com.au",
17 "mobile":null
18 },
19 "items":[
20 {
21 "skuId":"368961",
22 "skuRef":"1022096-578-2-3-se",
23 "skuPrice":19.99,
24 "skuTaxPrice":null,
25 "taxType":null,
26 "currency":null,
27 "returnQty":1,
28 "returnReason":"CANNOT_FULFIL",
29 "returnCondition":"CANNOT_FULFIL"
30 }
31 ],
32 "fulfilmentChoice":null,
33 "fulfilments":[
34 {
35 "fulfilmentId":"123232",
36 "fulfilmentRef":"4-ie-erwerwe-1234",
37 "fulfilmentType": "R_RTDC",
38 "status": "ARRIVED"
39 }
40 ],
41 "createdOn":"2016-07-19T06:48:44.469+0000"
42 }
43 ]
44}
Language: json
Name: Return Response Example
Description:
Return Response Sample with list of values,
Orderref,
OrderId,
RetailerId,
ReturnId,
Returnref,
CustomerId,
Address,
Etc.....
Search Returns
Retrieve a list of Returns matching the search criteria.
GET: /api/v4.1/return
** Request and response**
Request parameters and sample
** Return request
1returnRequest {
2
3 retailerId (string, compulsory),
4 start (integer, optional),
5 count (integer, optional),
6 sort (string, optional) = 'createdOn DESC',
7 query (string, optional) = returnId, customerName, orderRef,
8 type (string, optional) = 'CUSTOMER_RETURN', 'CANNOT_FULFIL', 'CANCELLATION' { multiple can be passed},
9 status (string, optional) = 'CREATED', 'BOOKED', 'LODGED', 'PENDING_REFUND', 'COMPLETE' { multiple can be passed}
10}
Language: json
Name: Return Request
Description:
Return Request parameters with list of arrays,
RetailerId,
Start,
Count,
Query,
Type,
Status,
Etc.....
1{
2 "retailerId":"197",
3 "start":"1",
4 "count":"10",
5 "sort":"createdOn DESC",
6 "query":"",
7 "type":"CUSTOMER_RETURN",
8 "status":"CREATED"
9}
Language: json
Name: Return Request Example
Description:
Return Request Example with values,
"retailerId":"197",
"start":"1",
"count":"10"
"sort":"createdOn DESC",
"query":"",
"type":"CUSTOMER_RETURN",
"status":"CREATED"
Response Parameters and sample
** Return response
1returnResponse {
2
3 start (integer),
4 count (integer),
5 total (integer),
6 retailerId (string),
7 results (integer):[
8 {
9 orderId (string),
10 orderRef (string),
11 customerId (string),
12 customerFirstName (string),
13 customerLastName (string),
14 totalReturnPrice (string),
15 currency (string),
16 createdOn (DateTime),
17 type (string) = 'CUSTOMER_RETURN', 'CANNOT_FULFIL', 'CANCELLATION',
18 status (string) = 'CREATED', 'BOOKED', 'LODGED', 'PENDING_REFUND', 'COMPLETE' ,
19 preferredLocationRef (string),
20 returnId (string),
21 returnRef (string)
22 }
23 ]
24 }
Language: json
Name: Return Response Parameters
Description:
Return Response Parameters with array list,
Start,
Count,
Total,
Type,
Status,
RetailerId
1{
2 "start":1,
3 "count":10,
4 "total":226,
5 "retailerId":"433",
6 "results":[
7 {
8 "orderId":"427331",
9 "orderRef":"201607191462",
10 "customerId":"903674",
11 "customerFirstName":"swathi",
12 "customerLastName":null,
13 "totalReturnPrice":39.98,
14 "currency":null,
15 "createdOn":"2016-07-20T00:40:34.845+0000",
16 "type":"CUSTOMER_RETURN",
17 "status":"PENDING_REFUND",
18 "preferredLocationRef":"SHA080",
19 "returnId":"427342",
20 "returnRef":"87f996fe-f915-4e8c-bcde-275c5ca9cb4d"
21 },
22 {
23 "orderId":"427340",
24 "orderRef":"201607191471",
25 "customerId":"903674",
26 "customerFirstName":"swathi",
27 "customerLastName":null,
28 "totalReturnPrice":19.99,
29 "currency":null,
30 "createdOn":"2016-07-19T06:48:44.469+0000",
31 "type":"CANNOT_FULFIL",
32 "status":"CREATED",
33 "preferredLocationRef":null,
34 "returnId":"427341",
35 "returnRef":"4c9b2be8-969a-4d95-a20a-8cb017e5ade2"
36 },
37 {
38 "orderId":"427323",
39 "orderRef":"1171615111",
40 "customerId":"903677",
41 "customerFirstName":"nick",
42 "customerLastName":"yaw",
43 "totalReturnPrice":19.99,
44 "currency":null,
45 "createdOn":"2016-07-19T03:11:20.291+0000",
46 "type":"CANNOT_FULFIL",
47 "status":"CREATED",
48 "preferredLocationRef":null,
49 "returnId":"427324",
50 "returnRef":"c74cb5ef-415f-4478-b0a3-2c9c593fb51c"
51 },
52 {
53 "orderId":"427316",
54 "orderRef":"201607131103",
55 "customerId":"903674",
56 "customerFirstName":"swathi",
57 "customerLastName":null,
58 "totalReturnPrice":39.98,
59 "currency":null,
60 "createdOn":"2016-07-13T01:27:12.380+0000",
61 "type":"CUSTOMER_RETURN",
62 "status":"PENDING_REFUND",
63 "preferredLocationRef":"SHA114",
64 "returnId":"427318",
65 "returnRef":"559de85a-d9a2-43ef-ba39-bed9220d1b2f"
66 },
67 {
68 "orderId":"427316",
69 "orderRef":"201607131103",
70 "customerId":"903674",
71 "customerFirstName":"swathi",
72 "customerLastName":null,
73 "totalReturnPrice":39.98,
74 "currency":null,
75 "createdOn":"2016-07-13T01:26:39.304+0000",
76 "type":"CUSTOMER_RETURN",
77 "status":"PENDING_REFUND",
78 "preferredLocationRef":"SHA114",
79 "returnId":"427317",
80 "returnRef":"87f3a0fa-3fb0-4b64-ae5c-c58d16ec53a1"
81 },
82 {
83 "orderId":"427314",
84 "orderRef":"201607131102",
85 "customerId":"903674",
86 "customerFirstName":"swathi",
87 "customerLastName":null,
88 "totalReturnPrice":39.98,
89 "currency":null,
90 "createdOn":"2016-07-13T01:10:19.793+0000",
91 "type":"CANNOT_FULFIL",
92 "status":"CREATED",
93 "preferredLocationRef":null,
94 "returnId":"427315",
95 "returnRef":"178dec57-482c-4321-a380-2d19fffb1da0"
96 },
97 {
98 "orderId":"427310",
99 "orderRef":"201607131101",
100 "customerId":"903674",
101 "customerFirstName":"swathi",
102 "customerLastName":null,
103 "totalReturnPrice":19.99,
104 "currency":null,
105 "createdOn":"2016-07-13T01:08:33.505+0000",
106 "type":"CUSTOMER_RETURN",
107 "status":"PENDING_REFUND",
108 "preferredLocationRef":"SHA114",
109 "returnId":"427312",
110 "returnRef":"42ce0208-0c71-4a21-8e81-736d9b8febaa"
111 },
112 {
113 "orderId":"427310",
114 "orderRef":"201607131101",
115 "customerId":"903674",
116 "customerFirstName":"swathi",
117 "customerLastName":null,
118 "totalReturnPrice":19.99,
119 "currency":null,
120 "createdOn":"2016-07-13T01:08:00.147+0000",
121 "type":"CUSTOMER_RETURN",
122 "status":"PENDING_REFUND",
123 "preferredLocationRef":"SHA114",
124 "returnId":"427311",
125 "returnRef":"4679fb8a-ee16-4adf-a3ba-6847ab4d95d9"
126 },
127 {
128 "orderId":"427306",
129 "orderRef":"201607130951",
130 "customerId":"903674",
131 "customerFirstName":"swathi",
132 "customerLastName":null,
133 "totalReturnPrice":39.98,
134 "currency":null,
135 "createdOn":"2016-07-13T00:22:15.894+0000",
136 "type":"CANNOT_FULFIL",
137 "status":"CREATED",
138 "preferredLocationRef":null,
139 "returnId":"427307",
140 "returnRef":"648dfb81-8c42-4200-a5fb-7cdc28394544"
141 },
142 {
143 "orderId":"427302",
144 "orderRef":"201607130950",
145 "customerId":"903674",
146 "customerFirstName":"swathi",
147 "customerLastName":null,
148 "totalReturnPrice":39.98,
149 "currency":null,
150 "createdOn":"2016-07-13T00:20:22.007+0000",
151 "type":"CANNOT_FULFIL",
152 "status":"CREATED",
153 "preferredLocationRef":null,
154 "returnId":"427305",
155 "returnRef":"878812ae-0fb4-4a44-a849-b5dd5aa81fc0"
156 }
157 ],
158 "query":null,
159 "sort":"createdOn DESC",
160 "status":[
161],
162 "type":[
163]
164}
Language: json
Name: Return Response Example
Description:
[Warning: empty required content area]Response on Failures
NAME | TYPE | DESCRIPTION |
error | Array | Array of errors |
message | String | Additional information on the code Unauthorised | Bad Request | Forbidden | Not Found | Status 500 Error |
code | String | Status Code for the above messages 401 | 400 | 403 | 404 | 500 |
SKU API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
SKU is the specific item that can be purchased by the customer. SKU has a unique set of attributes such as colour and size. Product is the parent of SKU and must be created before the SKU API can be used.
Key points
- SKU Properties
- What you can do with SKU
- Response on Failures
SKU Properties
Below are the properties available in the \<entity> object which can be updated and retrieved through the APIs in this document.
1. retailerId
Type: String
Description:
1{ "retailerId" : "197" }
Language: json
Name: retailerId
Description:
[Warning: empty required content area]The retailer identifier assigned by Fluent Commerce.
2. skuId
Type: String
Description:
1{ "skuId" : "499972" }
Language: json
Name: skuId
Description:
[Warning: empty required content area]The unique SKU identifier assigned by Fluent Commerce.
3. skuRef
Type: String
Description:
1{ "skuRef" : "TestSku_8679" }
Language: java
Name: skuRef
Description:
[Warning: empty required content area]The unique SKU reference is provided by the retailer.
4. productId
Type: String
Description:
1{ "productId" : "45672" }
Language: java
Name: productId
Description:
[Warning: empty required content area]The unique product identifier assigned by Fluent Commerce.
5. productRef
Type: String
Description:
1{ "productRef" : "ProductRef_0502" }
Language: json
Name: productRef
Description:
[Warning: empty required content area]The unique product reference provided by the retailer.
6. status
Type: String
Description:
1{ "status" : "ACTIVE" }
Language: json
Name: status
Description:
[Warning: empty required content area]SKU status. Possible values are : - ACTIVE - NACTIVE - UNKNOWN
7. imageUrlRef
Type: String
Description:
1{ "imageUrlRef" : "http://demandware.edgesuite.net/aazi_dev/on/demandware.static/Sites-seed-au-Site/-/default/dwa7384063/images/noimagemedium.png" }
Language: java
Name: imageUrlRef
Description:
[Warning: empty required content area]Can be used to provide the Image URL so that SKUs have an image displayed.
8. name
Type: String
Description:
1{ "name" : "MAV HUNTER DARK USED" }
Language: java
Name: name
Description:
[Warning: empty required content area]The SKU name.
9. prices
Type: Array
Description:
1"prices": [
2{
3"type" : "UNIT_PRICE",
4"value" : "24.95",
5"currency" : "AUD"
6},
7{ "type" : "ORIGINAL_PRICE",
8"value" : "24.95",
9"currency" : "AUD"
10}
11]
Language: java
Name: prices
Description:
[Warning: empty required content area]The price of the SKU
- currency (string) - Possible values are 'AUD', 'NZD'
- type (string) - Price type. Possible values are:
- CURRENT
- ORIGINAL'
- ORIGINAL_PRICE'
- UNIT_PRICE'
- value (double) - Associated price.
10. references
Type: Array
Description:
1"references": [
2{
3"type" : "EAN",
4
5"value" : "12313123123"
6}
7]
Language: java
Name: references
Description:
[Warning: empty required content area]Array of SKU references.
- type (string) - specific SKU reference type. e.g BARCODE.
- value (string) - Reference value.
11. categories
Type: Array
Description:
1"categories": [
2"234",
3
4"328"
5
6]
Language: java
Name: categories
Description:
[Warning: empty required content area]An array of category ids associated with the SKU.
12. attributes
Type: Array
Description:
1"attributes": [
2{
3"name" : "Accessories",
4
5"type" : "string",
6
7"value" : "earphones"
8}
9]
Language: java
Name: attributes
Description:
[Warning: empty required content area]Array of attributes. Attributes are used to provide additional information about the SKU.
- name (String) : Indicates specific SKU attribute e.g. brand.
- type (String/Integer) : Data type of specific SKU attribute. Possible values are:
- STRING
- INTEGER
- value (String) : Value of SKU attribute.
13. createdOn
Type: DateTime
Description:
1{ "createdOn" : "2016-05-06T23:41:12.242Z" }
Language: java
Name: createdOn
Description:
[Warning: empty required content area]Date/time when the SKU was created.
14. updateOn
Type: DateTime
Description:
1{ "updatedOn" : "2016-06-23T07:58:58.000+0000" }
Language: java
Name: updateOn
Description:
[Warning: empty required content area]Date/time when the SKU was last update.
What you can do with SKU
Create a SKU
Create a SKU in the Fluent Retail system.
POST:
`/api/v4.1/product/{productId}/sku`
Request Object
1skuRequest {
2
3 attributes (Array[Attribute], optional),
4
5
6 Attribute {
7
8 name (string, optional),
9 type (string, optional) = ['STRING', 'INTEGER'],
10 value (string, optional)
11 }
12
13 categories (array, optional),
14
15 categories {
16
17 id (long, optional)
18 }
19
20 createdOn (DateTime, optional),
21
22 imageUrlRef (string, optional),
23 name (string, compulsory),
24 prices (array, optional),
25
26 price {
27
28 currency (string, optional),
29 type (string, compulsory) = ['CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE'],
30 value (double, optional)
31 }
32
33 productRef (string, optional),
34
35 references (array, optional),
36
37
38 reference {
39
40 type (string, optional),
41 value (string, optional)
42 }
43
44 retailerId (string, optional),
45
46 skuRef (string, compulsory),
47 status (string, compulsory), = 'ACTIVE', 'INACTIVE', 'UNKNOWN',
48 updateOn (DateTime, optional)
49 }
Language: java
Name: Request Object
Description:
[Warning: empty required content area]Example request
1{
2 "attributes": [
3 {
4 "name": "string",
5 "type": "STRING",
6 "value": "string"
7 }
8 ],
9 "createdOn": "2016-12-13T23:50:55.656Z",
10 "imageUrlRef": "string",
11 "name": "string",
12 "prices": [
13 {
14 "currency": "string",
15 "type": "CURRENT",
16 "value": 0
17 }
18 ],
19 "productRef": "string",
20 "references": [
21 {
22 "type": "string",
23 "value": "string"
24 }
25 ],
26 "retailerId": "string",
27 "skuRef": "string",
28 "status": "ACTIVE",
29 "updateOn": "2016-12-13T23:50:55.657Z"
30}
Language: json
Name: Example Request
Description:
[Warning: empty required content area]Response Object
1SuccessMessageResponse {
2
3 id (string, optional)
4 }
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "id":"2043042"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View SKU Details
Retrieve details of the SKU.
GET:
`/api/v4.1/product/{productId}/sku/{skuId}`
Response Object
1skuResponse {
2
3 attributes (Array[Attribute]),
4
5
6 Attribute {
7
8 name (string),
9 type (string) = ['STRING', 'INTEGER'],
10 value (string)
11 }
12
13 categories (array),
14
15
16
17 categories {
18
19 categoryId (long),
20 categoryRef (string),
21 name (string)
22 }
23
24
25 createdOn (string),
26 imageUrlRef(string),
27 name (string),
28 prices (array),
29
30 prices {
31
32 currency (string) = 'AUD', 'NZD',
33 type (string) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
34 value (double)
35 }
36
37 productRef (string),
38
39 references (array),
40
41
42 references {
43
44 type (string),
45 value (string)
46 }
47
48 retailerId (string),
49
50 skuRef (string),
51 status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN',
52 updatedOn (DateTime)
53 }
Language: java
Name: Response Object
Description:
[Warning: empty required content area]Example response
1{
2 "skuRef": "DM12345",
3 "productRef": "DM01",
4 "name": "name of sku (description)",
5 "status": "ACTIVE",
6 "prices": [],
7 "attributes": [],
8 "references": [
9 {
10 "type": "BARCODE",
11 "value": "999"
12 }
13 ],
14 "updateOn": "2016-11-15T15:39:50.661+0000",
15 "createdOn": "2016-10-31T01:18:33.253+0000",
16 "imageUrlRef": "url of image",
17 "categories": [
18 {
19 "categoryId": "1",
20 "categoryRef": "50",
21 "name": "Jumper dress"
22 }
23 ]
24}
Language: text
Name: Example response
Description:
[Warning: empty required content area]Search SKUs
Retrieve a list of SKUs matching the search criteria.
GET:
`/api/v4.1/sku`
Request Object
1skuRequest {
2
3 productId (string, compulsory),
4
5 start (integer, optional)
6 count (integer, optional)
7 }
Language: java
Name: Request object
Description:
[Warning: empty required content area]Example request
1{
2 "productId":"2006048",
3 "start":"1",
4 "count":"10"
5 }
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response Object
1{
2
3start (integer),
4count (integer),
5total (integer),
6retailerId (string),
7results (array[skuSummary]):[
8 {
9 skuId (string),
10 skuRef (string),
11 productRef (string),
12 name (string),
13 status (string), = 'ACTIVE', 'INACTIVE', 'UNKNOWN',
14 imageUrlRef (string),
15 prices (array),
16
17
18
19 price {
20
21 currency (string) = 'AUD', 'NZD',
22 type (string) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
23 value (double)
24 }
25
26 attributes (Array[Attribute]),
27
28
29 Attribute {
30
31 name (string),
32 type (string) = ['STRING', 'INTEGER'],
33 value (string)
34 }
35
36 references (array),
37
38 View references
39 references {
40 type (string),
41 value (string)
42 }
43
44
45 categories (array),
46
47 categories {
48
49 id (long),
50 categoryRef (string),
51 name (string),
52 updatedOn (DateTime),
53 createdOn (DateTime)
54
55 }
56
57 createdOn (string),
58
59 updateOn (DateTime)
60 }
61 ]
62 }
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "start": 1,
3 "count": 1,
4 "total": 10,
5 "retailerId": null,
6 "results": [
7 {
8 "skuId": 1,
9 "skuRef": "DM12345",
10 "productRef": "DM01",
11 "name": "name of sku (description)",
12 "status": "ACTIVE",
13 "imageUrlRef": "url of image",
14 "prices": [],
15 "attributes": [],
16 "references": [
17 {
18 "type": "BARCODE",
19 "value": "999"
20 }
21 ],
22 "categories": [
23 {
24 "id": 1,
25 "categoryRef": "50",
26 "name": "Jumper dress",
27 "updatedOn": "2016-10-31T01:18:32.916+0000",
28 "createdOn": "2016-10-31T01:18:32.916+0000"
29 }
30 ],
31 "updateOn": "2016-11-15T15:39:50.661+0000",
32 "createdOn": "2016-10-31T01:18:33.253+0000"
33 }
34 ]
35}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Update SKU Details
Edit the SKU information.
PUT:
`/api/v4.1/product/{productId}/sku/{skuId}`
Request Object
1skuRequest {
2
3 attributes (Array[Attribute], optional),
4
5
6 Attribute {
7
8 name (string, compulsory),
9 type (string, compulsory) = ['STRING', 'INTEGER'],
10 value (string, compulsory)
11 }
12
13
14
15 categories (array, optional),
16
17 categories {
18
19 categoryId (long, optional),
20 categoryRef (string, compulsory),
21 name (string, optional),
22 createdOn (DateTime, optional),
23 updatedOn (DateTime, optional),
24 }
25
26 createdOn (DateTime, optional),
27
28 imageUrlRef (string, optional),
29
30 name (string, optional),
31
32 prices (array, optional),
33
34 prices {
35
36 currency (string, compulsory) = 'AUD', 'NZD',
37 type (string, compulsory) = 'CURRENT', 'ORIGINAL', 'ORIGINAL_PRICE', 'UNIT_PRICE',
38 value (double, compulsory)
39 }
40
41 productRef (string, compulsory),
42
43
44 references (array, optional),
45
46
47 references {
48
49 type (string, compulsory),
50 value (string, compulsory)
51 }
52
53 retailerId (string, optional),
54
55 skuRef (string, compulsory),
56 status (string, optional), = 'ACTIVE', 'INACTIVE', 'UNKNOWN',
57 updatedOn (DateTime, optional)
58
59
60 }
Language: java
Name: Request Object
Description:
[Warning: empty required content area]Example request
1{
2"attributes": [
3{
4"name": "Brand",
5"value": "soles",
6"type": "STRING"
7}
8],
9"imageUrlRef": "https://www.gluestore.com.au/media/catalog/product/s/o/sol_6300004799929_black01.jpg (656KB)",
10"name": "TestProd_1234",
11"prices": [],
12"productRef": "ProductRef_0502",
13"references": [],
14"skuRef": "TestSku_8679",
15"status": "ACTIVE",
16"retailerId": "211",
17"categories": []
18}
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response object
1SuccessMessageResponse {
2
3 id (string, optional),
4}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "id":"427323"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Settings API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
Settings API is used to set configurations used by the platform, accounts and retailers. See Commerce Apps documentation for specific settings keys and their function.
Configurations have a hierarchy of contexts in which they can be applied. GLOBAL, ACCOUNT and RETAILER are the levels in decreasing order of context, where GLOBAL is reserved by platform use and ACCOUNT and RETAILER are available to developers to override the GLOBAL defaults.
Key points
- Setting Properties
- What you can do with the Settings API
- Response on Failures
Setting Properties
Below are the properties available in the Setting object which can be updated/retrieved through the APIs in this document.
1. key
Type: String
Description:
1"key" : "PAYMENT.PROVIDER"
Language: java
Name: Description
Description:
[Warning: empty required content area]Key is a mandatory parameter. It uniquely identifies a configuration option. For instance, PAYMENT.PROVIDER, PAYMENT.CURRENCY.
2. value
Type: Object
Description:
1"value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}]
Language: java
Name: Description
Description:
[Warning: empty required content area]Value contains the actual value of the configuration setting. The type of the object is represented as string in the type field.
For instance, if the value is a JSON, type field should match it and have the value "JSON".
3. type
Type: String
Description:
1"type" : "JSON"
Language: java
Name: Description
Description:
[Warning: empty required content area]Represents the data type for the value. It is an enum with following possible values -
Enum { LOB, STRING, INTEGER, BOOLEAN, JSON}
4. level
Type: String
1"level" : "ACCOUNT"
Language: java
Name: Description
Description:
[Warning: empty required content area]Represents the level of the setting. It is an enum with following possible values -
Enum { GLOBAL, ACCOUNT, RETAILER }
What you can do with the Settings API
Create/Update an account configuration setting
This endpoint can be used to create or update an ACCOUNT level configuration setting for an account. The user of the API must have SETTINGS_EDIT permission. Currently ADMIN role has that permission.
PUT:
`/api/v4.1/settings/account/{accountId}/{key}`
Params:
- accountId: string
- key: string
1`/api/v4.1/settings/account/1111/PAYMENT.PROVIDER `
Language: text
Name: URL Example
Description:
[Warning: empty required content area]Request Object
1setting {
2 key(string),
3 value(object),
4 type(string)
5}
Language: java
Name: Request Object
Description:
[Warning: empty required content area]Example:
- key:
`"PAYMENT.PROVIDER"`
- value:
`[{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}]`
- type:
`{ LOB, STRING, INTEGER, BOOLEAN, JSON}`
Example request
1{
2 "setting":
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON"
7 }
8
9}
Language: json
Name: Example Request
Description:
[Warning: empty required content area]Response Object
1{
2 "id": integer
3}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Id for the configuration setting that was created or updated.
Example response
1{
2 "id":"100"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View account configuration setting
This endpoint can be used to view the configuration settings for given keys for an account.
GET:
`/api/v4.1/settings/account/{accountId}/{keys}`
Params:
- accountId: string
- keys: string.
Response Object
1[{
2key: string,
3 example "PAYMENT.PROVIDER"
4value: object,
5 the value of the object should be of the type passed as string in "type" attribute
6 example [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}]
7type: string,
8 Enum { LOB, STRING, INTEGER, BOOLEAN, JSON }
9 example "JSON"
10level: string
11 Enum { GLOBAL, ACCOUNT, RETAILER }
12 example: "GLOBAL"
13}]
Language: java
Name: Response Object
Description:
[Warning: empty required content area]Example 1
1/api/v4.1/settings/account/1111/PAYMENT.PROVIDER,PAYMENT.CURRENCY
Language: text
Name: URL Example
Description:
[Warning: empty required content area]Setting response
1{
2 "settings": [
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON",
7 "level": "ACCOUNT"
8 },
9 {
10 "key": "PAYMENT.CURRENCY",
11 "value": true,
12 "type": "[{"name":"AUD"},{"name":"NZD"}]",
13 "level": "GLOBAL"
14 }
15 ]
16}
Language: java
Name: Setting response - Example 1
Description:
[Warning: empty required content area]Example 2
1/api/v4.1/settings/account/1111/PAYMENT.PROVIDER
Language: text
Name: URL Example
Description:
[Warning: empty required content area]Example response
1{
2 "settings": [
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON",
7 "level": "GLOBAL"
8 }
9 ]
10}
Language: java
Name: Setting response - Example 2
Description:
[Warning: empty required content area]Create/Update a retailer configuration setting
This endpoint can be used to create or update a RETAILER level configuration setting for a retailer. The user of the API must have SETTINGS_EDIT permission. Currently ADMIN role has that permission.
PUT:
`/api/v4.1/settings/retailer/{retailerId}/{key}`
Params:
- retailerId: string
- key: string
1/api/v4.1/settings/retailer/2222/PAYMENT.PROVIDER
Language: text
Name: URL
Description:
[Warning: empty required content area]1{
2 "setting":
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON"
7 }
8
9}
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response Object
1{
2 "id": integer
3}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Id for the configuration setting that was created or updated.
Example response
1{
2 "id":"123456"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View retailer configuration settings
This endpoint can be used to view the configuration settings for the retailer for the given keys.
GET:
`/api/v4.1/settings/retailer/{retailerId}/{keys}`
Params:
- retailerId: string
- keys: string.
Response Object
1[{
2key: string,
3 example "PAYMENT.PROVIDER"
4value: object,
5 the value of the object should be of the type passed as string in "type" attribute
6 example [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}]
7type: string,
8 Enum { LOB, STRING, INTEGER, BOOLEAN, JSON }
9 example "JSON"
10level: string
11 Enum { GLOBAL, ACCOUNT, RETAILER }
12 example: "GLOBAL"
13}]
Language: java
Name: Response Object
Description:
[Warning: empty required content area]Request 1
1/api/v4.1/settings/retailer/2222/PAYMENT.PROVIDER
Language: text
Name: URL Example
Description:
[Warning: empty required content area]Setting response
1{
2 "settings": [
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON",
7 "level": "RETAILER"
8 }
9 ]
10}
Language: java
Name: Setting response - Request 1
Description:
[Warning: empty required content area]Request 2
1/api/v4.1/settings/retailer/2222/PAYMENT.PROVIDER,PAYMENT.CURRENCY
Language: text
Name: URL Example
Description:
[Warning: empty required content area]Example response
1{
2 "settings": [
3 {
4 "key": "PAYMENT.PROVIDER",
5 "value": [{"name":"BRAINTREE"},{"name":"CYBERSOURCE"},{"name":"PAYPAL"},{"name":"GIVEX"},{"name":"AFTERPAY"},{"name":"FAT_ZEBRA"}],
6 "type": "JSON",
7 "level": "RETAILER"
8 },
9 {
10 "key": "PAYMENT.CURRENCY",
11 "value": [{"name":"AUD"},{"name":"NZD"}],
12 "type": "JSON",
13 "level": "GLOBAL"
14 }
15 ]
16}
Language: java
Name: Setting response - Request 2
Description:
[Warning: empty required content area]Response on Failures
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 |
Transaction Order API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
An API Order transaction defines the payment or refund details associated with an Order.
Key points
- Order Transaction Properties
- What you can do with Order Transaction
- Response on Failures
Order Transaction Properties
Below are the properties available in the Order Transaction object which can be updated and retrieved through the APIs in this document.
1. orderId
Type: String
Description:
1{ "orderId" : "1965797" }
Language: json
Name: orderId
Description:
[Warning: empty required content area]The unique identifier assigned by Fluent Commerce.
2. transactionId
Type: String
Description:
1{ "transactionId" : "56473" }
Language: json
Name: transactionId
Description:
[Warning: empty required content area]The unique transaction identifier assigned by Fluent Commerce.
3. transactionRef
Type: String
Description:
1{ "transactionRef" : "1442900790" }
Language: java
Name: transactionRef
Description:
[Warning: empty required content area]The unique transaction reference provided by the Retailer to the payment gateway.
For refunds, it contains the transaction Id provided by the gateway to Fluent Commerce when a refund is processed.
4. transactionType
Type: String
Description:
1{ "transactionType" : "PAYMENT" }
Language: java
Name: transactionType
Description:
[Warning: empty required content area]The type of transaction. Possible values are:
- PAYMENT - Order payment has been successfully processed via payment gateway.
- REFUND - Refund has been successfully processed via payment gateway integration.
- MANUAL REFUND - Transaction has been processed externally to the Fluent Retail system with the reference details saved in Admin Console.
5. amount
Type: Double
Description:
1{ "amount" : "59.90" }
Language: json
Name: amount
Description:
[Warning: empty required content area]For transactionType = PAYMENT - The total transaction amount.
For transactionType = REFUND - The requested refund amount for a return.
6. currency
Type: String
Description:
1{ "currency" : "AUD" }
Language: json
Name: currency
Description:
[Warning: empty required content area]The transaction currency. Possible values include 'AUD', 'NZD'.
7. transactionCode
Type: String
Description:
1{ "transactionCode" : "080920151234" }
Language: java
Name: transactionCode
Description:
[Warning: empty required content area]The unique transaction ID or request ID provided by the payment gateway.
8. paymentProvider
Type: String
Description:
1{ "paymentProvider" : "PAYPAL" }
Language: java
Name: paymentProvider
Description:
[Warning: empty required content area]The name of the payment gateway.
Possible values are:
- CYBERSOURCE
- GIVEX
- PAYPAL
- BRAINTREE
- AFTERPAY
9. paymentMethod
Type: String
Description:
1{ "paymentMethod" : "GIFTVOUCHER" }
Language: json
Name: paymentMethod
Description:
[Warning: empty required content area]The way in which payment was made.
Possible values are:
- CREDITCARD
- PAYPAL'
- GIFTVOUCHER
- CASH
- AFTERPAY
10. cardType
Type: String
Description:
1{ "cardType" : "VISA" }
Language: json
Name: cardType
Description:
[Warning: empty required content area]The card type used for the payment (if applicable)
Possible values are:
- MASTERCARD
- VISA
- AMEX
- DINERS
- DISCOVER
- UNIONPAY
- JCB
- MAESTRO
- INTERAC
11. status
Type: String
Description:
1{ "status" : "APPROVED" }
Language: java
Name: status
Description:
[Warning: empty required content area]The transaction status.
Default value is APPROVED for all transactions not initiated by Fluent Retail System i.e. A payment transaction passed in by the retailer along with the order details will be in APPROVED state.
For a Refund initiated by Fluent Retail it can be:
- APPROVED - The Refund has been approved by the payment provider. A manual refund recorded in the system will be in approved state.
- PROCESSING - The refund is in progress with the payment provider.
- DECLINED - The refund has failed to process successfully.
12. createdOn
Type: DateTime
Description:
1{ "createdOn" : "2016-05-06T23:41:12.242Z" }
Language: java
Name: createdOn
Description:
[Warning: empty required content area]Date/time when the transaction was created.
13. updateOn
Type: DateTime
Description:
1{ "updatedOn" : "2016-06-23T07:58:58.000+0000" }
Language: java
Name: updateOn
Description:
[Warning: empty required content area]Date/time when the transaction was last updated.
What you can do with Order Transaction
Create an Order Transaction
Create a transaction in the Fluent Retail system.
POST:
`/api/v4/order/{orderId}/transaction`
Request Object
1orderTransactionRequest {
2
3amount (double, compulsory),
4cardType (string, optional) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
5currency (string, compulsory) = 'AUD', 'NZD',
6paymentMethod (string, compulsory) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
7paymentProvider (string, compulsory) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
8transactionCode (string, compulsory),
9transactionRef (string, compulsory),
10transactionType (string, compulsory) = 'PAYMENT', 'REFUND', 'MANUAL REFUND',
11updatedOn (string, optional)
12}
Language: java
Name: Request Object
Description:
[Warning: empty required content area]Example request
1orderTransactionRequest {
2
3amount (double, compulsory),
4cardType (string, optional) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
5currency (string, compulsory) = 'AUD', 'NZD',
6paymentMethod (string, compulsory) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
7paymentProvider (string, compulsory) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
8transactionCode (string, compulsory),
9transactionRef (string, compulsory),
10transactionType (string, compulsory) = 'PAYMENT', 'REFUND', 'MANUAL REFUND',
11updatedOn (string, optional)
Language: java
Name: Example Request
Description:
[Warning: empty required content area]Response Object
1SuccessMessageResponse {
2
3id (object, optional),
4message (string, optional),
5status (string, optional)
6}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "id":"185330"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View Transaction Details
Retrieve details for a single Transaction associated with an Order
GET:
`/api/v4/order/{orderId}/transaction/{transactionId}`
Response Object
1orderTransactionResponse {
2amount (double),
3cardType (string) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
4createdOn (string),
5currency (string) = 'AUD', 'NZD',
6orderId (string),
7paymentMethod (string) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
8paymentProvider (string) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
9transactionCode (string),
10transactionId (string),
11transactionRef (string),
12transactionType (string) = 'PAYMENT', 'REFUND', 'MANUAL REFUND',
13}
Language: java
Name: Response Object
Description:
[Warning: empty required content area]Example response
1{
2 "amount": 0,
3 "cardType": "VISA",
4 "createdOn": "2016-11-29T21:11:30.851Z",
5 "currency": "AUD",
6 "orderId": "16567",
7 "paymentMethod": "CREDITCARD",
8 "paymentProvider": "BRAINTREE",
9 "transactionCode": "080920151234",
10 "transactionId": "185330",
11 "transactionRef": "1442900790",
12 "transactionType": "PAYMENT"
13}
Language: text
Name: Example response
Description:
[Warning: empty required content area]View all Order Transactions
Retrieve all transactions associated with an Order.
GET:
`/api/v4/order/{orderId}/transaction`
Request Object
1orderTransactionRequest {
2
3 start (integer, optional),
4
5 count (integer, optional)
6}
Language: java
Name: Request object
Description:
[Warning: empty required content area]Example request
1{
2 "start":"1",
3 "count":"10"
4}
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response Object
1orderTransactionResponse {
2
3 start (integer),
4 count (integer),
5 total (integer),
6 retailerId (string),
7 orderId (string),
8 transactions (array[orderTransactions]) [
9 {
10 transactionId (string),
11 transactionRef (string),
12 transactionType (string) = 'PAYMENT', 'REFUND', 'MANUAL REFUND',
13 amount (double),
14 createdOn (DateTime)
15 status (string) = 'APPROVED', 'PROCESSING', 'DECLINED',
16 paymentProvider (string) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
17 cardType (string) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
18 paymentMethod (string) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY'
19 }
20 ]
21}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "count": 0,
3 "orderId": 0,
4 "results": [
5 {
6 "amount": 0,
7 "cardType": "VISA",
8 "createdOn": "2016-11-29T21:11:30.836Z",
9 "currency": "AUD",
10 "orderId": 0,
11 "paymentMethod": "CREDITCARD",
12 "paymentProvider": "BRAINTREE",
13 "transactionCode": "string",
14 "transactionId": 0,
15 "transactionRef": "string",
16 "transactionType": "PAYMENT"
17 }
18 ],
19 "start": 0,
20 "total": 0
21}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |
Transaction Return API
Author:
Fluent Commerce
Changed on:
3 July 2024
Overview
An Order transaction defines the payment or refund details associated with an Order.
Key points
- Return Transaction Properties
- What you can do with Transaction
- Response on Failures
Return Transaction Properties
Below are the properties available in the Return Transaction object which can be updated and retrieved through the APIs in this document.
1. orderId
Type: String
Description:
1{ "orderId" : "1965797" }
Language: json
Name: orderId
Description:
[Warning: empty required content area]The unique identifier assigned by Fluent Commerce.
2. transactionId
Type: String
Description:
1{ "transactionId" : "56473" }
Language: json
Name: transactionId
Description:
[Warning: empty required content area]The unique transaction identifier assigned by Fluent Commerce.
3. transactionRef
Type: String
Description:
1{ "transactionRef" : "1442900790" }
Language: java
Name: transactionRef
Description:
[Warning: empty required content area]The unique transaction reference provided by the Retailer to the payment gateway.
For refunds, it contains the transaction Id provided by the gateway to Fluent Commerce when a refund is processed.
4. transactionType
Type: String
Description:
1{ "transactionType" : "PAYMENT" }
Language: java
Name: transactionType
Description:
[Warning: empty required content area]The type of transaction. Possible values are:
- PAYMENT - Order payment has been successfully processed via payment gateway.
- REFUND - Refund has been successfully processed via payment gateway integration.
- MANUAL REFUND - Transaction has been processed externally to the Fluent Retail system with the reference details saved in Admin Console.
5. amount
Type: Double
Description:
1{ "amount" : "59.90" }
Language: json
Name: amount
Description:
[Warning: empty required content area]For transactionType = PAYMENT - The total transaction amount.
For transactionType = REFUND - The requested refund amount for a return.
6. currency
Type: String
Description:
1{ "currency" : "AUD" }
Language: json
Name: currency
Description:
[Warning: empty required content area]The transaction currency. Possible values include 'AUD', 'NZD'.
7. transactionCode
Type: String
Description:
1{ "transactionCode" : "080920151234" }
Language: java
Name: transactionCode
Description:
[Warning: empty required content area]The unique transaction ID or request ID provided by the payment gateway.
8. paymentProvider
Type: String
Description:
1{ "paymentProvider" : "PAYPAL" }
Language: java
Name: paymentProvider
Description:
[Warning: empty required content area]The name of the payment gateway.
Possible values are:
- CYBERSOURCE
- GIVEX
- PAYPAL
- BRAINTREE
- AFTERPAY
9. paymentMethod
Type: String
Description:
1{ "paymentMethod" : "GIFTVOUCHER" }
Language: json
Name: paymentMethod
Description:
[Warning: empty required content area]The way in which payment was made.
Possible values are:
- CREDITCARD
- PAYPAL'
- GIFTVOUCHER
- CASH
- AFTERPAY
10. cardType
Type: String
Description:
1{ "cardType" : "VISA" }
Language: json
Name: cardType
Description:
[Warning: empty required content area]The card type used for the payment (if applicable)
Possible values are:
- MASTERCARD
- VISA
- AMEX
- DINERS
- DISCOVER
- UNIONPAY
- JCB
- MAESTRO
- INTERAC
11. status
Type: String
Description:
1{ "status" : "APPROVED" }
Language: java
Name: status
Description:
[Warning: empty required content area]The transaction status.
Default value is APPROVED for all transactions not initiated by Fluent Retail System i.e. A payment transaction passed in by the retailer along with the order details will be in APPROVED state.
For a Refund initiated by Fluent Retail it can be:
- APPROVED - The Refund has been approved by the payment provider. A manual refund recorded in the system will be in approved state.
- PROCESSING - The refund is in progress with the payment provider.
- DECLINED - The refund has failed to process successfully.
12. createdOn
Type: DateTime
Description:
1{ "createdOn" : "2016-05-06T23:41:12.242Z" }
Language: java
Name: createdOn
Description:
[Warning: empty required content area]Date/time when the transaction was created.
13. updateOn
Type: DateTime
Description:
1{ "updatedOn" : "2016-06-23T07:58:58.000+0000" }
Language: java
Name: updateOn
Description:
[Warning: empty required content area]Date/time when the transaction was last updated.
What you can do with Transaction
Create a Return Transaction
Create a return Transaction in the Fluent Retail system
POST:
`/api/v4.1/return/{returnId}/transaction`
Request Object
1returnTransactionRequest {
2
3 amount (double, compulsory),
4 cardType (string, optional) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
5 currency (string, compulsory) = 'AUD', 'NZD',
6 paymentMethod (string, compulsory) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
7 paymentProvider (string, compulsory) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
8 transactionCode (string, compulsory),
9 transactionNote (string, optional),
10 transactionRef (string, compulsory),
11 transactionType (string, compulsory) = 'PAYMENT', 'REFUND', 'MANUAL REFUND'
12}
Language: java
Name: Return Transaction Request Object
Description:
[Warning: empty required content area]Example request
1{
2 "transactionRef" : "123",
3 "transactionType" : "REFUND",
4 "amount" : 100,
5 "currency" : "AUD",
6 "paymentProvider": "PAYPAL",
7 "paymentMethod" : "PAYPAL",
8 "cardType" : null,
9 "transactionCode" : 2344
10 "transactionNote" : "Huge Transaction"
11}
Language: java
Name: Example Request
Description:
[Warning: empty required content area]Response Object
1SuccessMessageResponse {
2
3 id (object, optional)
4}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "id":"185330"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]View Return Transaction Details
Retrieve details for a single Transaction associated with a Return
GET:
`/api/v4.1/return/{returnId}/transaction/{transactionId}`
1/api/v4/return/16567/transaction/185330
Language: java
Name: Example request
Description:
[Warning: empty required content area]Response Object
1returnTransactionResponse {
2 amount (double),
3 cardType (string) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
4 createdOn (string),
5 currency (string) = 'AUD', 'NZD',
6 paymentMethod (string) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
7 paymentProvider (string) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
8 status (string) = 'APPROVED', 'DECLINED', 'PROCESSING',
9 transactionCode (string),
10 transactionId (string),
11 transactionNote (string),
12 transactionRef (string),
13 transactionType (string) = 'PAYMENT', 'REFUND', 'MANUAL REFUND'
14}
Language: java
Name: Response Object
Description:
[Warning: empty required content area]Example response
1{
2 "transactionId": "123",
3 "transactionRef" : "123",
4 "transactionType" : "REFUND",
5 "transactionCode" : null,
6 "amount" : 0.1,
7 "currency" : "AUD",
8 "paymentProvider": "PAYPAL",
9 "paymentMethod" : "PAYPAL",
10 "cardType" : null,
11 "transactionNote" : "Huge Transaction",
12 "createdOn" : "2016-07-20T00:40:34.845+0000",
13 "status": "APPROVED"
14}
Language: text
Name: Example response
Description:
[Warning: empty required content area]View all Return Transactions
Retrieve all transactions associated with a Return
GET:
`api/v4.1/return/{returnId}/transaction`
Request Object
1returnTransactionRequest {
2
3 start (integer, optional),
4
5 count (integer, optional)
6}
Language: java
Name: Return Transaction request
Description:
[Warning: empty required content area]Example request
1{
2 "start":"1",
3 "count":"10"
4 }
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response Object
1returnTransactionResponse {
2
3 count (integer),
4 retailerId (string),
5 returnId (string),
6 returnRef (string),
7 returnType (string),
8 start (integer),
9 total (integer),
10 transactions (array):[
11 {
12 amount (double),
13 cardType (string) = 'MASTERCARD', 'VISA', 'AMEX', 'DINERS',
14 createdOn (string),
15 currency (string) = 'AUD', 'NZD',
16 paymentMethod (string) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
17 paymentProvider (string) = 'CYBERSOURCE', 'GIVEX', 'PAYPAL', 'BRAINTREE', 'AFTERPAY',
18 status (string) = 'APPROVED', 'DECLINED', 'PROCESSING',
19 transactionCode (string),
20 transactionId (string),
21 transactionNote (string),
22 transactionRef (string),
23 transactionType (string) = 'PAYMENT', 'REFUND', 'MANUAL REFUND'
24 }
25 ]
26}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "start": 1,
3 "count": 100,
4 "total": 1,
5 "retailerId": 333,
6 "returnRef": "1",
7 "returnType": "CUSTOMER_RETURN",
8 "returnId": 1,
9 "transactions": [
10 {
11 "transactionId": "123",
12 "transactionRef": "123",
13 "transactionType": "PAYMENT",
14 "transactionCode": null,
15 "amount": 0.1,
16 "currency": "AUD",
17 "paymentProvider": "PAYPAL",
18 "paymentMethod": "PAYPAL",
19 "cardType": null,
20 "transactionNote": "Huge Transaction",
21 "createdOn": "2016-07-20T00:40:34.845+0000",
22 "status": "APPROVED"
23 }
24 ]
25}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Update Return Transaction
Edit the Return Transaction information
PUT:
`/api/v4.1/return/{returnId}/transaction/{transaction id}`
Request Object
1returnTransactionRequest {
2
3 paymentMethod (string, optional) = 'CREDITCARD', 'PAYPAL', 'GIFTVOUCHER', 'CASH', 'AFTERPAY',
4 status (string, optional) = 'APPROVED', 'DECLINED', 'PROCESSING',
5 transactionNote (string, optional),
6 transactionRef (string, optional)
7}
Language: java
Name: Return Transaction request
Description:
[Warning: empty required content area]Example request
1{
2 "transactionRef" : "123",
3 "status" : "APPROVED",
4 "paymentMethod" : "PAYPAL",
5 "transactionNote" : "Huge Transaction"
6}
Language: text
Name: Example request
Description:
[Warning: empty required content area]Response Object
1SuccessMessageResponse {
2
3 id (integer, optional)
4}
Language: java
Name: Response object
Description:
[Warning: empty required content area]Example response
1{
2 "id":"427323"
3}
Language: java
Name: Example response
Description:
[Warning: empty required content area]Response on Failures
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 |