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.

<aside> 📌

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.

</aside>

Request

{
  "parentOrderCode": "PARENT-ORD-789",
  "locationCode": "WAREHOUSE-001",
  "inventoryPoolId": 1001,
  "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",
  "deliveryType": "NORMAL",
  "shippingAddress": {
    "name": "Jane Smith",
    "line1": "456 Oak Street",
    "line2": "Suite 789",
    "line3": "Tower D",
    "phone": "+1-555-987-6543",
    "email": "[email protected]",
    "city": "Gotham",
    "state": "NY",
    "zip": "10001",
    "country": "United States",
    "longitude": -73.9857,
    "latitude": 40.7484,
    "openLocationCode": "87G8Q2JM+QV"
  },
  "billingAddress": {
    "name": "John Doe",
    "line1": "123 Main Street",
    "line2": "Apt 456",
    "line3": "Building C",
    "phone": "+1-555-123-4567",
    "email": "[email protected]",
    "city": "Metropolis",
    "state": "CA",
    "zip": "90001",
    "country": "United States",
    "longitude": -118.2437,
    "latitude": 34.0522,
    "openLocationCode": "8553XJ2R+PV"
  },
  "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",
      "expectedBatchId": null,
      "expectedBatchCode": null,
      "supplierPartnerId": null,
      "orderItemCustomAttributes": {
        "attribute1": "value1",
        "attribute2": "value2",
        "attribute3": "value3",
        "attribute4": "value4",
        "attribute5": "value5",
        "attribute6": "value6",
        "attribute7": "value7",
        "attribute8": "value8",
        "attribute9": "value9",
        "attribute10": "value10",
        "channelMetadata": {"key": "value"},
        "channelMetadataMap": {"mapKey1": "mapValue1"}
      }
    }
  ],
  "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": {},
    "channelMetadataMap": {"mapKey1": "mapValue1"},
    "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
inventoryPoolId Long Inventory pool ID for the order 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 → PO: Purchase Order, STO: Stock transfer Order, SO: Sales Order, RTV: Return to vendor, RO: Return Order, OPEN_PO/OPEN_RO: Open Purchase/Return Order, CRD: Crossdock 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
deliveryType String Type of delivery for the order (e.g., NORMAL, EXPRESS, CLICK_AND_COLLECT) No
isSplitRequired Boolean This flag is true when WMS has to split the order. If this variable is TRUE then LocationCode should be sent 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
shippingAddress.longitude Double Longitude of the shipping address No
shippingAddress.latitude Double Latitude of the shipping address No
shippingAddress.openLocationCode String Open Location Code (Plus Code) of the shipping address 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
billingAddress.longitude Double Longitude of the billing address No
billingAddress.latitude Double Latitude of the billing address No
billingAddress.openLocationCode String Open Location Code (Plus Code) of the billing address 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. But if minExpiry is present. Then, below-mentioned 3 fields should be null: expectedBatchId expectedBatchCode supplierPartnerId
orderItems.expectedBatchId Integer It represents the Increff generated batch Id for the item to be shipped. No. But if expectedBatchId is present. Then, below-mentioned fields should be null:minExpiry expectedBatchCode supplierPartnerId
orderItems.expectedBatchCode String It represents the External batch code for the item to be shipped. No. But if expectedBatchCode is present. Then supplierPartnerId must also be present and below-mentioned fields should be null:minExpiry expectedBatchId
orderItems.supplierPartnerId Long It represents the Supplier partner Id for the item to be shipped. No. But if supplierPartnerId is present. Then expectedBatchCode must also be present and below-mentioned fields should be null:minExpiry expectedBatchId
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
orderItemCustomAttributes.channelMetadataMap Map<String, String> Key-value pairs of additional channel metadata for the order item 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.channelMetadataMap Map<String, String> Key-value pairs of additional channel metadata for the order No
orderCustomAttributes.currency String Currency No

Response

Empty Body

HttpStatusCode: 200