KIBO OMS DOCUMENTATION

Assign Order

This API will assign an order to a fulfiller, either automatically or manually based on a provided Location ID. The Assign Order API can also be used to reassign, backorder, and cancel items.

Version2.0
Callhttps://integration.shopatron.com/api/v2/order/action/assign
Supported FormatsJSON
HTTP MethodPOST
Schemahttps://integration.shopatron.com/api/v2/schema/order/action/assign.json

The .json address above can be used to access the schema within Postman. An example use of the Assign Order API follows here — or go directly to the schema or the sample Postman Collection.

Example

The example will demonstrate how to manage orders with the assignment, cancellation, and backorder structures for Assign Order calls. There are not different endpoints for each of these, only differences in the body content that determine what should be done with the order items.

Required Parameters

Each of the three actions that can be done to an order with this API require:

ParameterTypeDescription
orderIDintegerA unique identifier for the order. The minimum value is "1".
sendEmailsbooleanShould emails be sent?
rectifyOrderbooleanShould the order be rectified?
packageAssignmentarrayThe details for how to assign the shipment.

Package Assignment Options

The Package Assignment property can be defined by any of three possible options. One is the standard assign option, while the others are the cancel and backorder actions that can be performed by this API.

Option One: Assign

The following properties are available to assign an order. AutoAssign, locationID, shippingAmount, shippingTaxAmount, and itemAssign are required.

ParameterTypeDescription
shipmentIDintegerA unique identifier for the shipment. The minimum value is "1".
autoAssignbooleanWhether the order should be auto assigned to a fulfiller.
locationIDintegerA unique identifier for the fulfillment location. The minimum value is "1".
shippingAmountnumberThe shipping amount of the shipment. The minimum value is "0".
shippingTaxAmountnumberThe shipping tax amount of the shipment. The minimum value is "0".
shippingTaxRatenumberThe shipping tax rate of the shipment. The minimum value is "0".
shipmentStatusenumThe current status of the shipment (READY or ASSIGNED).

Option Two: Cancel

Only one property is required to cancel an order assignment.

ParameterTypeDescription
shipmentStatusenumThe current status of the shipment (CANCELLED).

Option Three: Backorder

To assign an order to backorder, use the following structure. Only shipmentStatus is required.

ParameterTypeDescription
shipmentStatusenumThe current status of the shipment (BACKORDER).
backOrderReleaseDatestringThe date the shipment will be released from backorder. Supports date-time format.

Item Assign

Each of these options can be combined with an Item Assign (/packageAssignment/itemAssign/) object to specify the package items being assigned. The Item Assign parameters are listed below, but only an orderItemID is required.

ParameterTypeDescription
orderItemIDintegerA unique identifier for the order item. The minimum value is "0".
itemTaxAmountnumberThe amount of tax on the order item. The minimum value is "0".
itemTaxRatenumberThe rate of tax on the order item. The minimum value is "0".
quantityintegerThe quantity of order items included.
dispositionReasonenumThe reason for the cancellation (customer_changed_mind, created_by_mistake, etc.).
dispositionOtherReasonstringIf dispositionReason is ’other’, provide an explanation here. The minimum length is 1 and the maximum length is 255.

The Assign Request

This is the entire request that will assign an order. There are two items defined in this sample, one being automatically assigned and the other manually assigned to Location 01010.

{ 
 "orderID":6543210,
 "sendEmails":false,
 "rectifyOrder":true,
 "packageAssignment":[ 
  { 
   "autoAssign":true,
   "itemAssign":[ 
    { 
     "orderItemID":0123456,
     "quantity":1
    }
   ]
  },
  {  
   "autoAssign":false,
   "locationID":01010,
   "itemAssign":[  
    {  
     "orderItemID":6789012,
     "quantity":1
    }
   ]
  }
 ]
}

The returned response follows the same structure as the Get Order API, providing information about the order that was assigned.

The Cancel Request

The cancellation configuration rejects individual items, so they are each defined here with their own disposition reasons. The Item Assign block should only contain the items that will be rejected from the assignment.

{
   "orderID":0123456,
   "sendEmails":true,
   "rectifyOrder":true,
   "packageAssignment": [
      {
         "shipmentStatus": "CANCELLED",
         "itemAssign": [
            {
               "orderItemID": 998887,
               "quantity": 1,
               "dispositionReason":"customer_changed_mind"
            },
            {
               "orderItemID": 7776665,
               "quantity": 1,
               "dispositionReason":"created_by_mistake"
            }
         ]
      }
   ]
}

The returned response follows the same structure as the Get Order API, providing information about the order that was assigned.

The Backorder Request

This is the entire request that will place an order in backorder.

{
   "orderID":6543210,
   "sendEmails":true,
   "rectifyOrder":true,
   "packageAssignment":[
      {
         "shipmentStatus":"BACKORDER",
         "backOrderReleaseDate":"2016-12-30T00:00:00+00:00",
         "itemAssign":[
            {
               "orderItemID":098765,
               "quantity":3
            }
         ]
      }
   ]
}

The returned response follows the same structure as the Get Order API, providing information about the order that was assigned.


Megan MayfieldOMS Dev: Assign Order