This API will share the Outward Order data with the ERP system with the details of sales orders which are completed in Increff Omni. The API calls will be sent at a certain frequency from Increff system to the ERP system.
<aside>
🗒️ ERP system is advised to implement idempotency on messageId and shipmentCode fields.
</aside>
<aside> ℹ️
shipmentCode for idempotency at shipment level.
</aside>Postings can be triggered on below event types:
{
"partnerCode": "1100013090",
"partnerLocationCode": "9",
"locationCode": "IN132",
"orderCode": "flipkart1234",
"parentOrderCode": "flipkart1221",
"isPriority": false,
"channelName": "flipkart",
"orderTime": "2020-10-16T20:22:28.000+00:00",
"orderType": "SO/STO/RTV",
"messageId": 12345,
"paymentMethod": "COD",
"eventType": "OUTWARD_ORDER_COMPLETE",
"eventTime": "2020-10-16T20:22:28.000+00:00",
"omsOrderId": 1234,
"turnAroundTime": "2020-10-16T20:22:28.000+00:00",
"virtualSkuDefinitions": [
{
"virtualParentChannelSkuId": "abc1",
"virtualParentBarcode": "bar1",
"virtualParentClientSkuCode": "VPClientSku1",
"childSkus": [
{
"channelSkuCode": "xyz",
"qty": 2,
"barcode": "bar23",
"clientSkuCode": "ClientSku1"
},
{
"channelSkuCode": "xyz1",
"qty": 1,
"barcode": "bar34",
"clientSkuCode" : null
}
]
}
],
"bundledSkuDefinitions": [
{
"bundledParentBarcode": "string",
"bundledParentChannelSkuId": "string",
"bundledParentClientSkuCode": "BPClientSku1",
"childSkus": [
{
"barcode": "string",
"clientSkuCode": "ClientSku1",
"channelSkuCode": "string",
"qty": 0
}
]
}
],
"isSplitRequired": "false",
"shippingCharges": 20,
"channelType": "ERP",
"orderItems": [
{
"orderItemCode": "item123",
"channelSkuCode": "1000889888",
"orderedQuantity": 2,
"cancelledQuantity": 1,
"customerCancelledQty": 1,
"sellerCancelledQty": 0,
"sellerRejectQty": 0,
"channelDiscount": 50,
"sellingPricePerUnit": 500,
"giftChargePerUnit": 10,
"sellerDiscount": 5,
"shippingCharge": 0,
"omsItemId": 123,
"barcode": "barcode1",
"clientSkuCode" : "ClientSku1",
"orderItemCustomAttributes": {
"attribute1": "Value1",
"attribute2": "Value2",
"attribute3": "Value3",
"attribute4": "Value4",
"attribute5": "Value5",
"attribute6": "Value6",
"attribute7": "Value7",
"attribute8": "Value8",
"attribute9": "Value9",
"channelMetadata": {
"totalCashOnDeliveryFee": 0.0,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"attribute10": "Value10"
}
}
],
"shipments": [
{
"shipmentCode": "UIfd897",
"locationCode": "loc1",
"generatedInvoiceId": "AR105044395",
"generatedInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"externalInvoiceId": "FK56556GH45",
"externalInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"invoiceDocumentUrl": "<https://mybrand.com/invoice123.pdf>",
"shippingLabelDocumentUrl": "<https://mybrand.com/sldoc.pdf>",
"irn": "a429746e55b844c9d2cb2a6f68997d1c2af29987cc834f3b52da45d1b0bc97c9",
"qrCode": "eyJhbGciPiJSUzI1NiIsImtpZCI6IkI4RDYzRUNCMThFQTVFNkY0QUKDM0Q1MjQ1NDNCMjI0NjY2OUIwRjgiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJ1TlkteTFqcVhtOUtyRDFTUlVPeUpHWnBzUGcifQ.eyJkYXRhIjoie1wiU2VsbGVyR3N0aW5cIjpcIjI5QUFPQ001MzI2SjFaWVwiLFwiQnV5ZXJHc3RpblwiOlwiMjlBQUJDUjE3MThFMVpMXCIsXCJEb2NOb1wiOlwiTUVhajIyLTIzLzUwNTlcIixcIkRvY1R5cFwiOlwiSU5WXCIsXCJEb2NEdFwiOlwiMTMvMTAvMjAyMlwiLFwiVG90SW52VmFsXCI6MTgxNy4wNCxcIkl0ZW1DbnRcIjoxLFwiTWFpbkhzbkNvZGVcIjpcIjYyMTE0MjkwXCIsXCJJcm5cIjpcImE0Mjk3NDZlMzRkODQ0YzlkMmNiMmE2ZjY4OTk3ZDFjMmFmMjM5ODdjYzgzNGYzYjUyZGE0NWQxYjBiYzk3YzlcIixcIklybkR0XCI6XCIyMDIyLTEwLTEzIDEyOjAxOjAwXCJ9IiwiaXNzIjoiTklDIn0.wvB7b15AnpdQdX_d0VZEyj9dL1qWDaOFPLRPrlV0V2XIu3cE3aQ3YtsWLnTnyrmtUlokpbkkE4folBQNhfzkCPlnODNxRPfpO-Kz9eyNpqcIEp-8TqvcDKXZ3PrBRqmNmner00AG_fVmmqT1HLiyKB2sqOnhqtCfQaQF-PGnqIOhal3PDxIMVt0WAtaQOIwwDA75dsjjnFHaZFPl9tFPR8A6Wrw4NhQH-7xhABKW3Z961a_rGmO6M3XP7jPHyYPW-QWMfTqwNXwxNdFgFePL5FloPiUipt2-g4FIplgm-YcN1xMvEQ2irAfzQwbnxi7UKz-jwOgM0Zy2BbburYgDvQ",
"shipmentStatus": "DELIVERED",
"awbNumber": "awb1",
"shipmentItems": [
{
"channelSkuCode": "100000789702",
"orderItemCode": "item123",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"barcode" : "barcode1",
"clientSkuCode" : "ClientSku1",
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
},
{
"channelSkuCode": "100000734701",
"orderItemCode": "item124",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"barcode": "barcode2",
"clientSkuCode": "ClientSkuCode",
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
}
]
}
],
"shipmentDetails": {
"length": 30.0,
"breadth": 20.0,
"height": 10.0,
"weight": 5.0,
"shipmentId": 12345,
"totalItemQuantity": 50,
"packboxDetailsList": [
{
"length": 15.0,
"breadth": 10.0,
"height": 8.0,
"weight": 2.0,
"boxId": 1,
"awbNumber": "AWB123",
"packBoxRemarks": "Fragile items",
"skuQuantityDataList": [
{
"globalSkuId": 987,
"clientSkuId": "SKU001",
"count": 10
},
{
"globalSkuId": 876,
"clientSkuId": "SKU002",
"count": 15
}
]
}
]
},
"shippingAddress": {
"name": "Customer's Name",
"line1": "Line Address 1",
"line2": "Line Address 2",
"line3": "Line Address 3",
"city": "city",
"state": "state",
"zip": "zip",
"country": "country",
"email": "[email protected]",
"phone": "9999999999"
},
"billingAddress": {
"name": "customer",
"line1": "address line 1",
"line2": "address line 2",
"line3": "address line 3",
"city": "Bengaluru",
"state": "Karnataka",
"zip": "560076",
"country": "INDIA",
"email": "[email protected]",
"phone": "9999999999"
},
"orderCustomAttributes": {
"attribute1": "Value1",
"attribute2": "Value2",
"attribute3": "Value3",
"attribute4": "Value4",
"attribute5": "Value5",
"attribute6": "Value6",
"attribute7": "Value7",
"attribute8": "Value8",
"attribute9": "Value9",
"attribute10": "Value10",
"channelMetadata": {
"totalCashOnDeliveryFee": 0.0,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"currency": "INR"
}
}
| Parameter Name | Data Type | Description | Mandatory |
|---|---|---|---|
partnerCode |
String | This represents the partner to which order was shipped to. |
For Marketplaces Orders, this field will be having the ERP channel name which is mapped in Increff Omni | Yes |
| partnerLocationCode | String | This represents the partner’s location to which order was shipped to.
If Order is of type SO/STO, this field represents customer location’s code|
If Order is of type RTV, this field represents vendor location’s code | Yes |
| isPriority | Boolean | Flag to identify wether an order is of priority or not | Yes |
| locationCode | String | Warehouse location from which order was fulfilled | Yes |
| orderCode | String | Unique code used by the channel to identify order | Yes |
| parentOrderCode | String | Parent order code which can be null or empty or some duplicate value across orders. | No |
| channelName | String | Channel name of the marketplace. | Yes |
| orderTime | String | Time at which order was placed at the channel in UNIX (UTC) | Yes |
| orderType | String | Possible values →
-SO(Sales Order)
STO(Stock Transfer Order)
RTV(Return To Vendor)
RPO(Replacement) | Yes |
| messageId | Long | Unique Identifier of a notification (for De-duplication) | Yes |
| paymentMethod | String | Possible values → COD/NCOD | Yes |
| eventTime | String | Time of the event | Yes |
| eventType | String | Postings can be sent on the below triggers:
OUTWARD_ORDER_CREATE (Creation of order)
OUTWARD_ORDER_CANCEL (Cancellation of order)
OUTWARD_ORDER_PARTIAL_CANCEL
(Partial cancellation of order)
OUTWARD_ORDER_COMPLETE(Completion of order)
OUTWARD_ORDER_SHIPMENT_DISPATCH
(Shipment dispatch for order)
-OUTWARD_ORDER_SHIPMENT_DELIVER
(Shipment delivery for order) | Yes |
| omsOrderId | Long | Internal order identifier of OMS | No |
| turnAroundTime | ZonedDateTime | Turnaround time | No |
| bundledSkuDefinitions | Object[] | List of bundled SKU definitions | No |
| bundledSkuDefinitions.bundledParentBarcode | String | Unique barcode of bundled SKU | No |
| bundledSkuDefinitions.bundledParentChannelSkuId | String | Unique identifier of bundled SKU at channel | Yes |
| bundledSkuDefinitions.bundledParentClientSkuCode | String | Unique identifier for bundled parent SKU code at client’s end | No |
| bundledSkuDefinitions.childSkus | Object[] | List of child SKUs | Yes |
| childSkus.barcode | String | Unique barcode of child SKU | No |
| childSkus.clientSkuCode | String | Unique identifier for a child SKU at client’s end. | No |
| childSkus.channelSkuCode | String | Unique identifier of child SKU at channel | No |
| childSkus.qty | Integer | Child SKU quantity | No |
| orderItems | Object[] | List of order items | Yes |
| orderItems.orderItemCode | String | This is provided by the channel to uniquely identify each order item. | Yes |
| orderItems.channelskuCode | String | SKU code of order item | Yes |
| orderItems.orderedQuantity | int | Ordered Quantity of the line item | Yes |
| orderItems.cancelledQuantity | int | Cancelled Quantity of the line item | Yes |
| orderItems.sellingPricePerUnit | double | Value of Selling Price Per Unit | Yes |
| orderItems.customerCancelledQty | Integer | Customer cancelled quantity of the line item | No |
| orderItems.sellerCancelledQty | Integer | Seller cancelled quantity | No |
| orderItems.giftChargePerUnit | Double | Value of Gift Charges Per Unit received from Marketplace | No |
| orderItems.channelDiscount | Double | Discount provided by channel per unit | No |
| orderItems.sellerDiscount | Double | Discount provided by seller per unit | No |
| orderItems.omsItemId | Long | Internal item identifier of OMS | No |
| orderItems.barcode | String | Barcode to identify a product | No |
| orderItems.clientSkuCode | String | Code to uniquely identify an SKU at client’s end | No |
| orderItems.orderItemCustomAttributes | Object | Custom attributes for order items | 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.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 code received from marketplace | 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 |
| shipments.qrCode | String | QR code value | No |
| shipments.omsShipmentId | Integer | Increff OMS shipment identifier | NO |
| shipments.shipmentStatus | String | Status of the shipment | No |
| shipments.awbNumber | String | AWB number of shipment | No |
| shipments.shipmentItems | Object[] | Items belonging to this shipment | Yes |
| shipmentItems.channelSkuCode | String | SKU code of order item | Yes |
| shipmentItems.orderItemCode | String | This is provided by the channel to uniquely identify each order item. | Yes |
| shipmentItems.netTaxAmountPerUnit | Double | Per unit tax applicable for the SKU. | Yes |
| shipmentItems.netTaxAmountTotal | Double | Total tax applicable for the SKU | Yes |
| shipmentItems.baseSellingPricePerUnit | Double | Per unit base selling price of the SKU | Yes |
| shipmentItems.baseSellingPriceTotal | Double | Total base selling price of SKU | Yes |
| shipmentItems.sellingPricePerUnit | Double | Per unit selling price of the SKU including tax | Yes |
| shipmentItems.sellingPriceTotal | Double | Total selling price of the SKU | Yes |
| shipmentItems.quantity | Integer | Quantity of the SKU in the shipment item. | Yes |
| shipmentItems.shippingChargePerUnit | Double | Shipping charge per unit for a shipment item | No |
| shipmentItems.channelDiscount | Double | Channel discount of item | No |
| shipmentItems.barcode | String | Scannable code to uniquely identify an SKU | No |
| shipmentItems.clientSkuCode | String | Unique identifier for an SKU at client’s end | No |
| shipmentItems.taxItems | Object | Distribution of tax with tax type | Yes |
| shipments.shipmentDetails | Object | Shipment details | No |
| shipmentDetails.length | Double | Length of the shipment | No |
| shipmentDetails.breadth | Double | Breadth of the shipment | No |
| shipmentDetails.height | Double | Height of the shipment | No |
| shipmentDetails.weight | Double | Weight of the shipment | No |
| shipmentDetails.shipmentId | Long | Identifier to uniquely identify a shipment | No |
| shipmentDetails.totalItemQuantity | Integer | Count of all the items in the shipment | No |
| shipmentDetails.packboxDetailsList | Object[] | Details of pack boxes | No |
| packboxDetailsList.length | Double | Length of the pack box in consideration | No |
| packboxDetailsList.breadth | Double | Breadth of the pack box in consideration | No |
| packboxDetailsList.height | Double | Height of the pack box in consideration | No |
| packboxDetailsList.weight | Double | Weight of the pack box in consideration | No |
| packboxDetailsList.boxId | Long | Identifier to uniquely identify a box | No |
| packboxDetailsList.awbNumber | String | AWB number of the box | No |
| packboxDetailsList.packBoxRemarks | String | Remarks for the pack box | No |
| packboxDetailsList.skuQuantityDataList | Object[] | Details of SKUs in a box | No |
| skuQuantityDataList.globalSkuId | Long | Id to uniquely identify a SKU in increff’s system | No |