Customer Orders

The following services are included in this functional area:

Customer Order Available Inventory Download Service

The following services are included in this functional area:

Get Available Inventory for Customer Orderable Items

Functional Area

Customer Orders

Business Overview

This real-time inventory availability lookup facility can be used by external systems, such as an on-line order capture system (OOC) or order management system (OMS), to retrieve item/location available inventory based on Merchandising's current view of inventory. Merchandising will provide this information for any warehouse or store which is valid for customer order sourcing/fulfillment.

The Available inventory is calculated as Stock on Hand - (Transfer Reserved Quantity + Customer Reserved Quantity + RTV Quantity + Non-sellable Quantity)

Assumptions:

  • This inventory detail lookup is only for customer orderable inventory - sellable items at customer order locations. If a physical warehouse and channel are passed into the service, then only the inventory for the customer orderable virtual warehouses for that physical warehouse/channel are returned.

  • If the inventory lookup is for a pack item at store, the pack inventory is estimated based on the maximum number of complete packs which can be created by using the available inventory of its components.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/availableInventory/get
Input Payload Details

Get - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Array of String

Contains the transaction-level item numbers for which the inventory must be checked.

inventoryLocations

Yes

Collection of Object

Contains the locations at which to check inventory.

InventoryLocations - Object. See list of elements for detail

Element Name Required Data Type Description

location

Yes

Number (10)

The location at which to check item inventory.

locationType

Yes

String (1)

Type of item inventory location. Valid values are S (store) and W (warehouse).

channelId

No

Number (4)

Only used when a physical warehouse is passed. If a channel is passed the results will be limited by the passed-in channel.

Sample Input Message

{
  "items": [
    "String"
  ],
  "inventoryLocations": [
    {
      "location": 6000,
      "locationType": "S",
      "channelId": 1
    }
  ]
}
Response Code: 200 (Success)

GetResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

No

Collection of Object

A collection of items and locations for which inventory must be retrieved.

Items - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

The item identifier.

location

Yes

Number (10)

Location where the item is to be found. This field may contain a store or a warehouse.

locationType

Yes

String (1)

Type of location. Valid values are S (store) and W (warehouse).

channelId

No

Number (4)

Channel identifier of the warehouse. If the location is a store, channelId will be blank. If the location is a warehouse, this is optional, based on the input criteria.

availableQuantity

Yes

Number (12,4)

Contains the available quantity for the item/location in the standard unit of measure.

uom

Yes

String (4)

Contains the unit of measure for available quantity.

packCalculateInd

No

String (1)

Valid for pack item only. Indicates whether the pack item’s available quantity is actual a held value (N) or calculated using pack component (Y). Calculated pack quantity should be treated as an estimated value.

Sample Response Message

{
  "items": [
    {
      "item": "100100076",
      "location": 6000,
      "locationType": "S",
      "channelId": 1,
      "availableQuantity": 3,
      "uom": "EA",
      "packCalculateInd": "Y"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element validationErrors is present when the input payload or input parameters do not match the schema definition for this service. The element businessError is present when the payload passes the schema validation but an exception is caught while processing the business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Inventory Backorder Upload Service

The following services are included in this functional area:

Create Inventory Backorder

Functional Area

Customer Orders

Business Overview

Retailers selling through e-commerce channels often take customer orders even if inventory is not available immediately, with the expectation of future inventory being available to fill the order. If an order is captured against future inventory by the Order Management System (OMS), then a backorder message is sent to Merchandising through this service. The location which will be back ordered is decided by OMS.

This web service updates the backorder quantity in Merchandising - increasing when the backorder is taken and decreasing when the backorder is released for fulfillment or cancellation. Backorders can be taken against both stores and warehouses.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/inventoryBackorder/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect inventory are in-progress.

Input Payload Details

Table 5-28 Create - Object. See list of elements for detail

Element Name Required Data Type Description

collectionSize

Yes

Number (4)

Number of items in the collection.

items

No

Collection of Object

A collection of items for which backorder quantity has to be updated.

Table 5-29 Items - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

The item identifier. An item does not need to have an open purchase order in order to increase backorder quantity. Catchweight, Transformable, Consignment, Concession and Deposit container items are not supported for backorder requests. The item should not be in discontinued status at the specified location.

locationType

Yes

String (1)

Type of location. Valid values are 'S' (store) and 'W' (warehouse).

location

Yes

Number (10)

Location where the item back order inventory has to be updated. This field may contain a store or a physical warehouse.

channelId

No

Number (4)

Channel id for the Physical Warehouse.

backorderQuantity

Yes

Number (12,4)

Contains the Back Order quantity to be adjusted for the item/location.

uom

No

String (4)

Contains the unit of measure for Back Order quantity. If not defined, back orderable quantity is assumed to be in standard unit of measure.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "item": "100050005",
      "locationType": "S",
      "location": 1521,
      "channelId": 1,
      "backorderQuantity": 3,
      "uom": "EA"
    }
  ]
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Item Substitution Upload Service

The following services are included in this functional area:

Create Customer Order Item Substitution

Functional Area

Customer Orders

Business Overview

When a store is picking inventory in order to fulfill a customer order, if the inventory of the item ordered does not meet the required quality standards or is unavailable and the order indicates that substitutions are allowed for that item, the store may choose to fulfill the order with a substitute item. If that occurs, the Store Inventory Operations Cloud Services (SIOCS) has the ability to substitute items on the customer order with another predefined substitute item. In such cases, it will notify the Order Management System (OMS) via the Stock Order Status message that an alternative item has been pushed into the order.

Based on this notification, OMS updates the customer order and notifies Merchandising with the same details received from SIOCS using this service. Merchandising will then update the inventory and customer order details by removing the reservation for the original item and adding a reservation for the new item. It will also update the cancelled quantity for the original item on the order and add the details for the substituted item, with a cross reference to the original item.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/itemSubstitution/create
Availability During Nightly Batch Cycle

This service will not be available when batches that affect inventory are in-progress.

Input Payload Details

Table 5-30 Create - Object. See list of elements for detail

Element Name Required Data Type Description

collectionSize

Yes

Number (4)

Number of items in the collection.

items

No

Collection of Object

A collection of CustOrdSubDesc objects.

Table 5-31 Items - Object. See list of elements for detail

Element Name Required Data Type Description

customerOrderNo

Yes

String (48)

Holds the master customer order number from OMS.

fulfillOrderNo

Yes

String (48)

Unique number from OMS related to the fulfillment details.

location

Yes

Number (10)

Indicates the store number associated with the customer order. Should be a valid store location number as item substitution is only supported for Store location.

item

Yes

String (25)

Contains the item number for which substitute item is used.

quantity

Yes

Number (12,4)

Contains the revised order quantity of the original item.

uom

Yes

String (4)

Contains the unit of measure for original item order quantity. This will be the standard uom of the item.

details

Yes

Collection of Object

Contains the substitute item details.

itemLineNo

No

Number (10)

Indicates the detail item line number on the order being substituted for.

Table 5-32 Details - Object. See list of elements for detail

Element Name Required Data Type Description

substituteItem

Yes

String (25)

Contains the substitute item number. Catchweight, Transformable, Consignment, Concession and Deposit container items are not supported for customer order item substitution.

substituteItemQuantity

Yes

Number (12,4)

Contains the order quantity for the substitute item.

substituteItemQuantityUom

Yes

String (4)

Contains the unit of measure for the substitute item order quantity. This will be the standard uom for the substitute item.

Sample Input Message

{
  "collectionSize": 1,
  "items": [
    {
      "customerOrderNo": "180008",
      "fulfillOrderNo": "180008",
      "location": 1311,
      "item": "101550001",
      "quantity": 3,
      "uom": "EA",
      "details": [
        {
          "substituteItem": "100000198",
          "substituteItemQuantity": 3,
          "substituteItemQuantityUom": "EA"
        }
      ],
      "itemLineNo": 1
    }
  ]
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Customer Order Upload Service

The following services are included in this functional area:

Cancel Fulfillment Order

Functional Area

Customer Orders

Business Overview

This service can be used to cancel an existing Customer Order or Transfer within Merchandising based on cancellation requests from an external Order Management System.

Service Type

PUT

ReST URL
MerchIntegrations/services/customerOrders/fulfillmentOrder/cancel
Availability During Nightly Batch Cycle

This service will not be available when batches that affect inventory are in-progress.

Input Payload Details

Table 5-33 Cancel - Object. See list of elements for detail

Element Name Required Data Type Description

items

No

Collection of Object

It's a referenced element. For detailed description, please refer referenced element doc.

Table 5-34 Items - Object. See list of elements for detail

Element Name Required Data Type Description

customerOrderNo

Yes

String (48)

Holds the master customer order number from OMS.

fulfillOrderNo

Yes

String (48)

Unique number from OMS related to the fulfillment details. One or more fulfillment orders could relate back to a single customer order in OMS.

sourceLocationType

No

String (2)

This would be either 'SU' for supplier, 'ST' for store, or 'WH' for warehouse. This would only be populated for vendor, warehouse or multi-site fulfillment orders.

sourceLocation

No

Number (10)

Indicates the supplier, store or warehouse number associated with sourcing the customer order. Only populated for vendor, warehouse or multi-site fulfillment orders.

fulfillLocationType

No

String (1)

This would be either 'S' (for physical store) or 'V' (for virtual store).

fulfillLocation

Yes

Number (10)

Indicates the store or warehouse number associated with fulfilling the customer order. For this release, this should always be populated with a virtual or physical store number.

details

Yes

Collection of Object

Indicates the customer order fulfillment cancellation detail.

Table 5-35 Details - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

Indicates the item ordered by the customer.

referenceItem

No

String (25)

Indicates the reference item ordered by the customer. Used only if a specific UPC is ordered. This is supported for vendor drop-ships orders only as we don't support transfer requests for a specific reference item.

cancelQuantityInSuom

Yes

Number (12,4)

Indicates the quantity that should be cancelled from the order in item's standard unit of measure.

standardUom

No

String (4)

Indicates item's standard unit of measure.

transactionUom

No

String (4)

Indicates the original transaction unit of measure the order is placed in.

itemLineNo

No

Number (10)

Indicates the detail item line number on the order.

Sample Input Message

{
  "items": [
    {
      "customerOrderNo": "123124",
      "fulfillOrderNo": "123124",
      "sourceLocationType": "SU",
      "sourceLocation": 2400,
      "fulfillLocationType": "S",
      "fulfillLocation": 1521,
      "details": [
        {
          "item": "100100068",
          "referenceItem": "String",
          "cancelQuantityInSuom": 3,
          "standardUom": "EA",
          "transactionUom": "EA",
          "itemLineNo": 1
        }
      ]
    }
  ]
}
Response Code: 200 (Success)

Sample Response Message

{
  "status": "SUCCESS",
  "message": "Service call is successful"
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}

Create Fulfillment Order

Functional Area

Customer Orders

Business Overview

This service is used to process Customer Order Fulfillment requests from an external order management system (OMS). If the system option OMS_IND = ‘Y’, then Merchandising expects to receive customer orders through this API. If the system option PERSIST_CUSTOMER_DATA_IND = ‘N’, personal information will not be stored in the customer order table in Merchandising.

The confirmation messages will be sent in a collection as part of the response object.

  • Accepts a collection of fulfillment orders as input. If one order fails, the entire service call fails, and no orders will be created.

  • Returns Failure status as part of the response object in the web service call if customer orders are not created due to validation errors.

  • Returns Success status and a confirmation message as part of the response object of type:

    • X if customer orders are not created due to lack of inventory

    • P if customer orders are partially created due to insufficient inventory

    • C if customer orders are completely created, when sufficient inventory is available.  

    • R if inventory reservations are created.

  • A confirmation type of C and P will be accompanied by a confirmation number, which is the transfer or purchase order number created.

The Customer Order Fulfillment message staged will go through a process of validation. Records that pass validation will create new customer order records. If any validation error occurs, transaction will be rolled back, and no customer orders will be created.

There are two scenarios where a customer order fulfillment request cannot be created in Merchandising:

  1. Due to data validation errors (e.g., invalid item).

  2. Due to 'No Inventory' - There is not enough inventory available at the source location or item is not ranged or inactive at the source location, or item is not supplied by the supplier (in a PO scenario).

Notes:

  1. Non-stockholding franchise stores cannot part of a fulfillment order, either as a sourcing location or as a fulfillment location.

  2. Catch weight and transformable sellable items are not supported in this integration. To sell items that can vary by weight, like bananas through online channels, setup should be done as a regular (non-catch weight) item with a unit cost and standard UOM defined in items of eaches.

  3. It is assumed that customer orders will be captured in the selling UOM in OMS, but that all transactions will be communicated to Merchandising in standard UOM.

  4. If the same customer order fulfillment request is sent for a different item or for an existing item but with a different item line number, the existing PO or transfer will be updated.

The Customer Order Fulfillment messages contain information such as delivery type, source type and destination type. Based on these, the system will proceed to create a Purchase Order, Transfer or Inventory Reservation.

Service Type

POST

ReST URL
MerchIntegrations/services/customerOrders/fulfillmentOrder/create
Availability During Nightly Batch Cycle

This service will not be available when batches affecting either inventory or cost are in-progress.

Input Payload Details

Table 5-36 Create - Object. See list of elements for detail

Element Name Required Data Type Description

items

Yes

Collection of Object

It's a referenced element. For detailed description, please refer referenced element doc.

Table 5-37 Items - Object. See list of elements for detail

Element Name Required Data Type Description

customerOrderNo

Yes

String (48)

Holds the master customer order number from OMS.

fulfillOrderNo

Yes

String (48)

Unique number from OMS related to the fulfillment details. One or more fulfillment orders could relate back to a single customer order in OMS.

sourceLocationType

No

String (2)

This would be either 'SU' for supplier, 'ST' for store, or 'WH' for warehouse. This would only be populated for vendor, warehouse or multi-site fulfillment orders.

sourceLocation

No

Number (10)

Indicates the supplier, store or warehouse number associated with sourcing the customer order. Only populated for vendor, warehouse or multi-site fulfillment orders.

fulfillLocationType

No

String (1)

This would be either 'S' (for physical store) or 'V' (for virtual store).

fulfillLocation

Yes

Number (10)

Indicates the store or warehouse number associated with fulfilling the customer order. For this release, this should always be populated with a virtual or physical store number.

partialDeliveryInd

Yes

String (1)

Indicates if the order can be picked and shipped partially ('N') or if it should be shipped only when complete ('Y').

deliveryType

No

String (1)

Indicates the fulfillment method - ship to customer or store pickup. Expected values are 'S' (ship direct) and 'C' (customer pickup).

carrierCode

No

String (4)

Indicates the carrier the order is to be shipped with, if specified on the order.

carrierServiceCode

No

String (6)

Indicates the method that was selected for shipping by the customer placing the order (e. g. Standard Shipping, Overnight, etc. ).

consumerDeliveryDate

Yes

date

Indicates the desired date the delivery is required by the customer. This will be the GMT time.

consumerDeliveryTime

No

date-time

Indicates the desired time the delivery is required by the customer. This will be the GMT time.

deliveryCharges

No

Number (20,4)

Contains the delivery charges on drop ship. Mostly relevant for Brazil.

deliveryChargesCurrency

No

String (3)

Contains the currency of the delivery charges.

comments

No

String (2000)

Any comments sent by OMS about the order.

customerDetails

No

Record

Referenced object for customer information related to the order.

details

Yes

Collection of Object

References a collection of customer order fulfillment details.

orderPlacedStore

No

Number (10)

Indicates the store number associated with the location that the customer order was placed. For on-line orders this will contain the virtual store number associated with the on-line store. For orders captured in a physical store this will contain the store number for the physical store.

Table 5-38 CustomerDetails - Object. See list of elements for detail

Element Name Required Data Type Description

customerNo

No

String (14)

Indicates the number that uniquely identifies the customer in OMS.

deliverFirstName

No

String (120)

Contains the first name for the delivery address on the order.

deliverPhoneticFirst

No

String (120)

Contains the phonetic first name for the delivery address on the order.

deliverLastName

No

String (120)

Contains the last name for the delivery address on the order.

deliverPhoneticLast

No

String (120)

Contains the phonetic last name for the delivery address on the order.

deliverPreferredName

No

String (120)

Contains the preferred name for the delivery address on the order.

deliverCompanyName

No

String (120)

Contains the company name for the delivery address on the order.

deliverAdd1

No

String (240)

First line of the delivery address for the customer.

deliverAdd2

No

String (240)

Second line of the delivery address for the customer.

deliverAdd3

No

String (240)

Third line of the delivery address for the customer.

deliverCounty

No

String (250)

County portion of the delivery address.

deliverCity

No

String (120)

City portion of the delivery address.

deliverState

No

String (3)

State portion of the delivery address.

deliverCountryId

No

String (3)

Country portion of the delivery address.

deliverPost

No

String (30)

Postal code portion of the delivery address.

deliverJurisdiction

No

String (10)

Identifies the jurisdiction code for the delivery country-state relationship.

deliverPhone

No

String (20)

Contains the delivery phone number.

deliverEmail

No

String (120)

Contains the delivery email.

billFirstName

No

String (120)

Contains the first name for the billing address on the order.

billPhoneticFirst

No

String (120)

Contains the phonetic first name for the billing address on the order.

billLastName

No

String (120)

Contains the last name for the billing address on the order.

billPhoneticLast

No

String (120)

Contains the phonetic last name for the billing address on the order.

billPreferredName

No

String (120)

Contains the preferred name for the billing address on the order.

billCompanyName

No

String (120)

Contains the company name for the billing address on the order.

billAdd1

No

String (240)

First line of the billing address for the customer.

billAdd2

No

String (240)

Second line of the billing address for the customer.

billAdd3

No

String (240)

Third line of the billing address for the customer.

billCounty

No

String (250)

County portion of the billing address.

billCity

No

String (120)

City portion of the billing address.

billState

No

String (3)

State portion of the billing address.

billCountryId

No

String (3)

Country portion of the billing address.

billPost

No

String (30)

Postal code portion of the billing address.

billJurisdiction

No

String (10)

Identifies the jurisdiction code for the billing country-state relationship.

billPhone

No

String (20)

Contains the billing phone number.

billEmail

No

String (120)

Contains the billing email.

localizationExtensions

No

Collection of Object

Holds optional localization attributes that will be processed by the localization extension module.

Table 5-39 LocalizationExtensions - Object. See list of elements for detail

Element Name Required Data Type Description

country

Yes

String (3)

Id of the country associated with the localization attributes.

attributes

Yes

Collection of Object

This holds the details of localization attributes.

Table 5-40 Attributes - Object. See list of elements for detail

Element Name Required Data Type Description

name

Yes

String (30)

Holds the attribute name.

value

No

String (250)

Holds the numeric or string value of the attribute.

valueDate

No

date

Holds the date value of the attribute.

Table 5-41 Details - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

Indicates the item ordered by the customer.

referenceItem

No

String (25)

Indicates the reference item ordered by the customer. Used only if a specific UPC is ordered. This is supported for vendor drop-ships orders only as we don't support transfer requests for a specific reference item.

orderQuantitySuom

Yes

Number (12,4)

Indicates the quantity of the item ordered by the customer in item's standard unit of measure.

standardUom

No

String (4)

Indicates item's standard unit of measure.

transactionUom

No

String (4)

Indicates the original transaction unit of measure the order is placed in.

substituteInd

Yes

String (1)

Indicates if substitutes are allowed on a customer order. This will only be used by orders passed to SIM.

unitRetail

No

Number (20,4)

Indicates the unit sales retail of item on the customer order. This will only be used by Brazil orders in case of Warehouse Fulfillment or vendor sourced POs shipped directly to the customer. It is needed for Sales NF generation.

retailCurrency

No

String (3)

Indicates currency of unit retail and total retail. This will only be used by Brazil orders in case of Warehouse Fulfillment or vendor sourced POs shipped directly to the customer. It is needed for Sales NF generation.

comments

No

String (2000)

Used to indicate any special instructions for the item, such as services (monograms, engrave, etc).

itemLineNo

No

Number (10)

Indicates the detail item line number on the order.

Sample Input Message

{
  "items": [
    {
      "customerOrderNo": "123124",
      "fulfillOrderNo": "123124",
      "sourceLocationType": "SU",
      "sourceLocation": 2400,
      "fulfillLocationType": "S",
      "fulfillLocation": 1521,
      "partialDeliveryInd": "N",
      "deliveryType": "S",
      "carrierCode": "30",
      "carrierServiceCode": "D",
      "consumerDeliveryDate": "2001-12-31",
      "consumerDeliveryTime": "2001-12-31T23:59:59.123Z",
      "deliveryCharges": 3.55,
      "deliveryChargesCurrency": "USD",
      "comments": "CO for John Scott",
      "customerDetails": {
        "customerNo": "123456",
        "deliverFirstName": "John",
        "deliverPhoneticFirst": "Mr",
        "deliverLastName": "Scott",
        "deliverPhoneticLast": null,
        "deliverPreferredName": null,
        "deliverCompanyName": null,
        "deliverAdd1": "7th Street",
        "deliverAdd2": "2504 Centergate Dr Apt 103",
        "deliverAdd3": null,
        "deliverCounty": "Miramar County",
        "deliverCity": "Minneapolis",
        "deliverState": "MN",
        "deliverCountryId": "US",
        "deliverPost": "55555-1234",
        "deliverJurisdiction": null,
        "deliverPhone": "1800800800",
        "deliverEmail": "someone@email.com",
        "billFirstName": "John",
        "billPhoneticFirst": "Mr",
        "billLastName": "Scott",
        "billPhoneticLast": null,
        "billPreferredName": null,
        "billCompanyName": null,
        "billAdd1": "7th Street",
        "billAdd2": "2504 Centergate Dr Apt 103",
        "billAdd3": null,
        "billCounty": "Miramar County",
        "billCity": "Minneapolis",
        "billState": "MN",
        "billCountryId": "US",
        "billPost": "55555-1234",
        "billJurisdiction": null,
        "billPhone": "1800800800",
        "billEmail": "johnscott@gmail.com",
        "localizationExtensions": [
          {
            "country": "BR",
            "attributes": [
              {
                "name": "SPECIAL_CATEGORY_CODE",
                "value": "WS_PRC_08",
                "valueDate": "2001-12-31"
              }
            ]
          }
        ]
      },
      "details": [
        {
          "item": "100100068",
          "referenceItem": null,
          "orderQuantitySuom": 3,
          "standardUom": "EA",
          "transactionUom": "EA",
          "substituteInd": "N",
          "unitRetail": 12.99,
          "retailCurrency": "USD",
          "comments": "Customer Order Item Details",
          "itemLineNo": 1
        }
      ],
      "orderPlacedStore": 1311
    }
  ]
}
Response Code: 200 (Success)

Table 5-42 CreateResponse - Object. See list of elements for detail

Element Name Required Data Type Description

items

No

Collection of Object

It's a referenced element. For detailed description, please refer referenced element doc.

Table 5-43 CreateResponse.Items - Object. See list of elements for detail

Element Name Required Data Type Description

customerOrderNo

Yes

String (48)

Holds the master customer order number from OMS.

fulfillOrderNo

Yes

String (48)

Unique number from OMS related to the fulfillment details. One or more fulfillment orders could relate back to a single customer order in OMS.

confirmationType

Yes

String (1)

Contains the confirmation type. 'P' - Order Partially Created; 'X' - Order Could not be Created; 'C' - Order Completely Created, 'R' - Inventory Reservation.

confirmationNo

No

Number (12)

Contains the PO or Transfer number in RMS related to the fulfillment order line. Required if fulfillment status is 'P'.

details

No

Collection of Object

References a collection of customer order confirmation item details. This will be null for confirmation type 'R' - inventory reservation.

fulfillLocation

No

Number (10)

Contains the fulfillment location for the order. This will be null for confirmation type 'R' - inventory reservation.

systemCode

No

String (10)

The code identifying the system associated with the location. This will be null for confirmation type 'R' - inventory reservation.

Table 5-44 CreateResponse.Items.Details - Object. See list of elements for detail

Element Name Required Data Type Description

item

Yes

String (25)

Indicates the item ordered by the customer. This will be null for confirmation type 'R' - inventory reservation.

referenceItem

No

String (25)

Indicates the reference item ordered by the customer. Used only if a specific UPC is ordered. This is supported for vendor drop-ships orders only as we don't support transfer requests for a specific reference item. This will be null for confirmation type 'R' - inventory reservation.

confirmedQuantity

Yes

Number (12,4)

Indicates the quantity of the item that can be sourced or fulfilled on the order. This will be null for confirmation type 'R' - inventory reservation.

confirmedQuantityUom

Yes

String (4)

Indicates the unit of measure of the confirmation quantity. This will be null for confirmation type 'R' - inventory reservation.

itemLineNo

No

Number (10)

Indicates the detail item line number on the order. This will be null for confirmation type 'R' - inventory reservation.

Sample Response Message

{
  "items": [
    {
      "customerOrderNo": "123123",
      "fulfillOrderNo": "123124",
      "confirmationType": "P",
      "confirmationNo": 9999999,
      "details": [
        {
          "item": "100100076",
          "referenceItem": null,
          "confirmedQuantity": 3,
          "confirmedQuantityUom": "EA",
          "itemLineNo": 1
        }
      ],
      "fulfillLocation": 6000,
      "systemCode": "INV"
    }
  ]
}
Response Code: 400 (Error)

In case of error, the following standard error response will be returned. The element "validationErrors" will be present when input payload or input parameters are not as per the schema definition of this service. The element "businessError" will be present if the payload passes schema validation but exception is caught while processing business logic.

Sample Error Message

{
  "status": "ERROR",
  "message": "Error found in validation of input payload",
  "validationErrors": [
    {
      "error": "must be one of Y, N",
      "field": "createRecord.arg0.approveInd",
      "inputValue": "X"
    }
  ],
  "businessError": [
    "Error message"
  ]
}