Create Outward Order API (Beta)

Inbound | POST  | /orders/outward

Summary

This API is used to create new outward orders in Increff Omni.

Description

This API will create outward orders in Increff Omni. One payload will create only one order and one SKU can be present only once. The number of order items in an order should not be more than 2500.

Note: Please note that the Custom Order or Order Item attribute key must be added in the OMS UI using screen Custom order/ line Item Attribute, else it can result into failure of order creation in Increff OMS system.

In cases where the Custom order attribute key is not defined and custom order or order item attributes are part of the Inward/Outward order creation payloads then the order would move to FAILED status in CIMS.

Request

{ "parentOrderCode": "PARENT-ORD-789", "locationCode": "WAREHOUSE-001", "orderCode": "ORD-123456", "orderTime": "2024-02-13T09:45:00Z", "orderType": "PO", "onHold": false, "isPriority": true, "gift": true, "qcStatus": "PASS", "dispatchByTime": "2024-02-15T14:30:00Z", "startProcessingTime": "2024-02-13T10:00:00Z", "paymentMethod": "COD", "shippingAddress": { "name": "Jane Smith", "line1": "456 Oak Street", "line2": "Suite 789", "line3": "Tower D", "phone": "+1-555-987-6543", "email": "jane.smith@example.com", "city": "Gotham", "state": "NY", "zip": "10001", "country": "United States" }, "billingAddress": { "name": "John Doe", "line1": "123 Main Street", "line2": "Apt 456", "line3": "Building C", "phone": "+1-555-123-4567", "email": "john.doe@example.com", "city": "Metropolis", "state": "CA", "zip": "90001", "country": "United States" }, "orderItems": [ { "channelSkuCode": "SKU-001", "orderItemCode": "ITEM-001", "quantity": 2, "sellerDiscountPerUnit": 3.00, "channelDiscountPerUnit": 5.00, "sellingPricePerUnit": 20.00, "shippingChargePerUnit": 8.00, "giftOptions": { "giftwrapRequired": true, "giftMessage": "Happy Birthday!", "giftChargePerUnit": 2.50, "giftDocument": "gift_document.pdf", "giftDocumentFormat": "PDF" }, "minExpiry": "2025-01-01", "orderItemCustomAttributes": { "attribute1": "value1", "attribute2": "value2", "attribute3": "value3", "attribute4": "value4", "attribute5": "value5", "attribute6": "value6", "attribute7": "value7", "attribute8": "value8", "attribute9": "value9", "attribute10": "value10", "channelMetadata": {"key" : "value"} } } ], "taxBreakupForms": [ { "channelSkuId": "SKU-001", "baseSellingPricePerUnit": 25.00, "taxItemForms": [ { "type": "VAT", "rate": 8.5, "taxPerUnit": 2.13 } ] } ], "packType": "PIECE", "isSplitRequired": true, "orderCustomAttributes": { "attribute1": "value1", "attribute2": "value2", "attribute3": "value3", "attribute4": "value4", "attribute5": "value5", "attribute6": "value6", "attribute7": "value7", "attribute8": "value8", "attribute9": "value9", "attribute10": "value10", "channelMetadata": {}, "currency": "USD" } }

 

Parameter Name

Data Type

Description

Mandatory

parentOrderCode

String

Represents code of parent order of the order

No

locationCode

String

Location code of warehouse from where this order will get fulfilled

Note: Location code must be provided in case the isSplitRequired field is false

No

orderCode

String

Unique code used by channel to identify the order

Yes

orderTime

String

Time at which order got placed by customer

Yes

orderType

String

Possible values →

  • SALES

  • PURCHASE

  • STOCK_TRANSFER

  • REPLACEMENT

  • RETURN

  • OPEN_PO

  • OPEN_RETURN

  • CROSS_DOCK

Yes

isPriority

Boolean

This flag is true in case order is having High priority than normal orders.

No

gift

Boolean

This flag is true in case order is a gift and needs to be gift wrapped.

No

onHold

Boolean

This flag is true in case order has to be kept on hold. Processing starts only after call is made to unhold the order

Yes

dispatchByTime

String

Time by which the order is expected to get dispatched

Yes

startProcessingTime

String

Time by which the order processing is expected to get started

Yes

paymentMethod

String

Possible values → COD/NCOD

Yes

isSplitRequired

Boolean

This flag is true when WMS has to split the order.

If this variable is TRUE , then LocationCode should be send as NULL

No

taxBreakupForms

Object[ ]

Tax break up for the items

(if this is sent, all the fields of the object should be sent)

No

taxBreakupForms.channelSkuId

String

Unique code to identify SKU on channel

Yes

taxBreakupForms.baseSellingPricePerUnit

Double

Base selling price per unit of the SKU

Yes

taxBreakupForms.taxItemForms

Object[ ]

Distribution of tax with tax type

No

taxItemForms.type

String

Type of tax applicable

Yes

taxItemForms.rate

Double

Tax rate for this tax type

Yes

taxItemForms.taxPerUnit

Double

Tax applicable for this type of tax per unit

Yes

packType

String

Possible values → PIECE/BULK

No

qcStatus

String

Possible values → PASS, FAIL

By default value will be PASS

Yes

shippingAddress

Object

Shipping address of the customer

Yes

shippingAddress.name

String

Name of customer

No

shippingAddress.line1

String

1st line of customer’s address

No

shippingAddress.line2

String

2nd line of customer’s address

No

shippingAddress.line3

String

3rd line of customer’s address

No

shippingAddress.city

String

City of customer

No

shippingAddress.state

String

State of customer

No

shippingAddress.zip

String

ZIP/Pin code of customer

Yes

shippingAddress.country

String

Country of customer

Yes

shippingAddress.email

String

Email of customer

No

shippingAddress.phone

String

Phone Number of customer

No

billingAddress

Object

Billing address of the customer

Yes

billingAddress.name

String

Name of customer

No

billingAddress.line1

String

1st line of customer’s address

No

billingAddress.line2

String

2nd line of customer’s address

No

billingAddress.line3

String

3rd line of customer’s address

No

billingAddress.city

String

City of customer

No

billingAddress.state

String

State of customer

No

billingAddress.zip

String

ZIP/Pin code of customer

Yes

billingAddress.country

String

Country of customer

Yes

billingAddress.email

String

Email of customer

No

billingAddress.phone

String

Phone Number of customer

No

orderItems

Object[]

List of items for which order is being placed

Yes

orderItems.channelSkuCode

String

SKU code of order item on channel

Yes

orderItems.orderItemCode

String

This is provided by the channel to uniquely identify each order item.
This should be unique in an order

Yes

orderItems.quantity

Integer

Quantity of SKU in the order placed

Yes

orderItems.sellerDiscountPerUnit

Double

Discount given by seller on SKU per unit

No

orderItems.channelDiscountPerUnit

Double

Discount given by channel on SKU per unit

No

orderItems.sellingPricePerUnit

Double

Unit price of SKU including tax

Yes

orderItems.shippingChargePerUnit

Double

Shipping charge on item per unit

No

orderItems.minExpiry

String

Minimum expiry date for the item to be shipped

No

orderItems.giftOptions

Object

Contains gift details of the item

No

giftOptions.giftwrapRequired

Boolean

To specify if gift wrap is required

Yes

giftOptions.giftMessage

String

Gift message 

No

giftOptions.giftChargePerUnit

Double

Gift charge on item per unit

No

giftOptions.giftDocument

String

Base64 encoded string

No

giftOptions.giftDocumentFormat

String

Possible values →

PDF/ ZPL / PNG.

(To be populated if document is present)

No

orderItems.orderItemCustomAttributes

Object

Custom attributes for an order Item

No

orderItemCustomAttributes.attribute1

String

Custom attribute 1

No

orderItemCustomAttributes.attribute2

String

Custom attribute 2

No

orderItemCustomAttributes.attribute3

String

Custom attribute 3

No

orderItemCustomAttributes.attribute4

String

Custom attribute 4

No

orderItemCustomAttributes.attribute5

String

Custom attribute 5

No

orderItemCustomAttributes.attribute6

String

Custom attribute 6

No

orderItemCustomAttributes.attribute7

String

Custom attribute 7

No

orderItemCustomAttributes.attribute8

String

Custom attribute 8

No

orderItemCustomAttributes.attribute9

String

Custom attribute 9

No

orderItemCustomAttributes.attribute10

String

Custom attribute 10

No

orderItemCustomAttributes.channelMetaData

Object

These are additonal fields which can be sent to Increff system and can be used in subsequent Posting workflows

No

orderCustomAttributes

Object

Custom attributes for an order

No

orderCustomAttributes.attribute1

String

Custom attribute 1

No

orderCustomAttributes.attribute2

String

Custom attribute 2

No

orderCustomAttributes.attribute3

String

Custom attribute 3

No

orderCustomAttributes.attribute4

String

Custom attribute 4

No

orderCustomAttributes.attribute5

String

Custom attribute 5

No

orderCustomAttributes.attribute6

String

Custom attribute 6

No

orderCustomAttributes.attribute7

String

Custom attribute 7

No

orderCustomAttributes.attribute8

String

Custom attribute 8

No

orderCustomAttributes.attribute9

String

Custom attribute 9

No

orderCustomAttributes.attribute10

String

Custom attribute 10

No

orderCustomAttributes.channelMetaData

Object

These are additonal fields which can be sent to Increff system and can be used in subsequent Posting workflows

No

orderCustomAttributes.currency

String

Currency

No

 

Response

Empty Body

HttpStatusCode

200