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.
ERP system is advised to implement idempotency on messageId and shipmentCode fields.
shipmentCode for idempotency at shipment level.Postings can be triggered on below event types:
OUTWARD_ORDER_CREATE: Triggered when a outward order is created in systemOUTWARD_ORDER_CANCEL: Triggered when a outward order is cancelled in systemOUTWARD_ORDER_PARTIAL_CANCEL: Triggered when a outward order is partially cancelled in systemOUTWARD_ORDER_COMPLETE: Triggered when a outward order is completed in systemOUTWARD_ORDER_SHIPMENT_INVOICED: Triggered when a outward order is invoiced in systemOUTWARD_ORDER_SHIPMENT_DISPATCH: Triggered when a outward order is handed over in systemOUTWARD_ORDER_SHIPMENT_DELIVER: Triggered when a outward order is delivered to customer{
"partnerCode": "1100013090",
"partnerLocationCode": "9",
"locationCode": "IN132",
"orderCode": "order1",
"parentOrderCode": "flipkart1221",
"isPriority": false,
"channelName": "channel",
"orderTime": "2020-10-16T20:22:28.000+00:00",
"orderType": "SO/STO/RTV",
"messageId": 1100,
"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": "abc",
"childSkus": [
{
"channelSkuCode": "xyz",
"qty": 2,
"barcode": "bar23",
"clientSkuCode": "clientSku123"
},
{
"channelSkuCode": "xyz1",
"qty": 1,
"barcode": "bar34",
"clientSkuCode": "clientSku234"
}
]
}
],
"bundledSkuDefinitions": [
{
"bundledParentBarcode": "string",
"bundledParentChannelSkuId": "string",
"bundledParentClientSkuCode": "string",
"mrp": 1999,
"childSkus": [
{
"barcode": "string",
"channelSkuCode": "string",
"qty": 0,
"clientSkuCode": "string"
}
]
}
],
"isSplitRequired": "false",
"shippingCharges": 20,
"channelType": "ERP",
"orderItems": [
{
"orderItemCode": "item123",
"channelSkuCode": "1000889888",
"orderedQuantity": 2,
"cancelledQuantity": 1,
"customerCancelledQty": 0,
"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,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"attribute10": "Value10",
"channelMetadataMap": {
"key1": "value1",
"key2": "value2"
}
}
}
],
"shipments": [
{
"shipmentCode": "UIfd897",
"omsShipmentId": "121",
"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": "118208310191",
"transporter": "BLUEDART",
"packageSku": "P-123",
"deliveredAt": "2020-10-16T20:22:28.000+00:00",
"packedAt": "2020-10-16T20:22:28.000+00:00",
"shipmentItems": [
{
"channelSkuCode": "100000789702",
"orderItemCode": "item123",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
],
"barcode": "barcode1",
"clientSkuCode": "csku1"
},
{
"channelSkuCode": "100000734701",
"orderItemCode": "item124",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 36,
"channelDiscount": 30,
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
],
"barcode": "barcode2",
"clientSkuCode": "csku2"
}
],
"shipmentDetails": {
"length": 30,
"breadth": 20,
"height": 10,
"weight": 5,
"shipmentId": 12345,
"totalItemQuantity": 50,
"packboxDetailsList": [
{
"length": 15,
"breadth": 10,
"height": 8,
"weight": 2,
"boxId": 1,
"awbNumber": "AWB123",
"packBoxRemarks": "Fragile items",
"volWeight": "0.0",
"boxSkuId": "boxSku1",
"boxCode": "box1",
"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,
"department": "HR",
"paymentMethod": "ccavenue",
"status": "processing"
},
"channelMetadataMap": {
"key1": "value1",
"key2": "value2"
},
"currency": "INR"
}
}
| Field Name | Data Type | Description | Mandatory |
|---|---|---|---|
partnerCode |
String | This represents the partner to which order was shipped to. | |
| • If Order is of type SO/STO, this field represents customer’s code | |||
| • If Order is of type RTV, this field represents vendor’s code | |||
| For Marketplaces orders, this field will be having the ERP channel name which is mapped in Increff OMS | 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 if an order is of priority type 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 | This represents the order type | |
| 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 or NCOD |
Yes |
omsOrderId |
Long | Internal order identifier of Increff OMS | No |
turnAroundTime |
ZonedDateTime | Cut off time defined as SLA in Increff OMS to process the order | No |
isSplitRequired |
boolean | Flat to identify if the order splitting will be done by Increff system or not | Yes |
virtualSkuDefinitions |
Object | List of virtual SKU definitions | No |
virtualSkuDefinitions.virtualParentChannelSkuId |
String | SKU code of virtual SKU | No |
virtualSkuDefinitions.virtualParentBarcode |
String | Barcode of parent SKU | No |
virtualSkuDefinitions.virtualParentClientSkuCode |
String | Unique identifier for a virtual parent sku at client’s end | No |
virtualSkuDefinitions.childSkus |
Object[] | List of child SKUs | No |
childSkus.channelSkuCode |
String | SKU code of child SKU | No |
childSkus.qty |
Integer | Quantity of child SKU | No |
childSkus.barcode |
String | Barcode of child SKU | No |
childSkus.clientSkuCode |
String | SKU identifier defined by user in system | No |
bundledSkuDefinitions |
Object[] | List of bundled SKU definitions | No |
bundledSkuDefinitions.bundledParentBarcode |
String | Barcode of parent SKU | No |
bundledSkuDefinitions.bundledParentChannelSkuId |
String | Channel SKU identifier of Parent SKU in a bundle | Yes |
bundledSkuDefinitions.bundledParentClientSkuId |
String | Client SKU identifier of Parent SKU in a bundle | No |
bundledSkuDefinitions.mrp |
Double | MRP value of the product | No |
bundledSkuDefinitions.childSkus |
Object[] | List of child SKUs | Yes |
childSkus.barcode |
String | Unique barcode for child SKU of a bundle | No |
childSkus.channelSkuCode |
String | Unique identifier for child sku defined at marketplace/channel level | Yes |
childSkus.qty |
Integer | Quantity of child product of a bundle | No |
childSkus.clientSkuCode |
String | Unique identifier of child sku for client | 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 |
Integer | Ordered Quantity of order | Yes |
orderItems.cancelledQuantity |
Integer | Cancelled Quantity in order | Yes |
orderItems.sellerCancelledQuantity |
Integer | Cancelled Quantity by Seller | No |
orderItems.customerCancelledQuantity |
Integer | Cancelled Quantity by Customer | No |
orderItems.sellerRejectQuantity |
Integer | Seller rejected Quantity | No |
orderItems.sellingPricePerUnit |
double | Selling Price Per Unit of a product | Yes |
orderItems.giftChargePerUnit |
Double | Gift Price Per Unit of a product | 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 | Yes |
orderItems.clientSkuCode |
String | unique identifier of item for client | 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 |
orderItemCustomAttributes.channelMetaDataMap |
Map<String,String> | 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 |
Objecg | 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 |
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.channelMetaDataMap |
Map<String,String> | These are additonal fields which can be sent as key value pairs to Increff system and can be used in subsequent Posting workflows | No |
shipments.omsShipmentId |
Long | Increff OMS shipment id | no |
shipments.qrCode |
String | QR code of the product scanned | No |
shipments.shipmentStatus |
String | Status of the shipment | No |
shipments.awbNumber |
String | AWB number of shipment | No |
shipments.transporter |
String | Transporter partner name | No |
shipments.packageSku |
String | SKU code for the package used in packing the shipment | No |
shipments.deliveredAt |
ZoneDateTime | Delivery time of the order to customer | No |
shipments.packedAt |
ZoneDateTime | Packing time for the shipment in warehouse | No |
shipments.shipmentItems |
Object[] | Items belonging to this shipment | Yes |
shipmentItems.channelSkuCode |
String | SKU code of order item | yes |
shipmentItems.locationCode |
String | Fulfillment Location | 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 | |
| Discounts are not subtracted from base selling price | Yes | ||
shipmentItems.baseSellingPriceTotal |
Double | Total base selling price of SKU | Yes |
shipmentItems.sellingPricePerUnit |
Double | Per unit selling price of the SKU including tax | |
| Discounts are not subtracted from base selling price | 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 | Unique identifier for barcode of an item of shipment | No |
shipmentItems.clientSkuCode |
String | Unique identifier for SKU of an item of shipment | No |