Return Event Notifications

Warning

This documentation is for translated notifications and intended only for some implementations who have upgraded from a previous version of Order Management. Verify whether your implementation uses translated APIs before continuing, as you will receive different data if your tenant is not configured to use these. If your implementation is not configured to do so, then refer to the standard Notifications documentation instead.

When an item is returned, an additional set of logs are generated. Return notifications are simple and follow a structured schema that provides data about the return case such as the date and return reason, the item and order it belonged to, and similar information.

The following notifications are outlined in this guide:

  • Create Return Notification – Sent when a return is created and enters the Open Return state.
  • Accept Return Notification – Sent when a return is accepted and goes to Accepted Return state.
  • Reject Return Notification – Sent when a return is rejected and the order returns to the Fulfilled Order state.
  • Clear Return Notification – Sent when the return is completed with any refunds processed and sent to the Cleared Return state.
  • Re-Open Return Notification – Sent when a return is accepted and then returned to the Open Return status for changes.
  • Return Failure Notification – Sent when there is a transactional error while processing a refund.

Return Event Notifications Parameters

The basic information that all Return Event Notifications provide is outlined below, though some notifications may include an additional parameter to provide details specific to that step of the return process. These cases are noted above the relevant example below.

FieldTypeParentDescription
eventTypeIDstring
Always shown as ’return_created’, ’return_accepted’, etc.
statusstring
The status of the return (such as open or closed)
sourcestring
Whether the return was initiated in the admin interface, the Customer Care interface, or otherwise
orderIDinteger
The identifier of the order the return is being created on
shipmentIDinteger
The identifier of the shipment that the return was associated with
externalOrderIDstring
Client-generated unique identifier for the Order sent to Kibo
returnIDinteger
A unique identifier for the return
manufacturerIDinteger
A unique identifier for a manufacturer
catalogIDstring
A unique identifier for the catalog
retailerIDinteger
A unique identifier for a retailer
returnLocationIDinteger
A unique identifier for a location.
externalStoreIDstring
The fulfiller’s identifier for a location.
returnLocationNamestring
The name of the location.
createdTimestring
The date and time that the return was created (date-time format)
acceptedTimestring
The date and time that the return was accepted (date-time format)
clearedTimestring
The date and time that the return was cleared (date-time format)
returnItemsarray
A list of the items that are being returned
returnItemIDintegerreturnItemsA unique identifier, different from the itemID,that denotes the line-item being returned
itemIDintegerreturnItemsThe item’s identifier.
quantityintegerreturnItemsThe quantity of the line-item that is being returned
statusstringreturnItemsThe status of the item in return
reasonstringreturnItemsThe reason that the item is being returned (such as “did not fit” or “changed my mind”)
partNumberintegerreturnItemsThe part number of the line-item that is being returned
upcstringreturnItemsThe UPC code for the line-item that is being returned
skustringreturnItemsThe SKU code for the line-item that is being returned
orderTypestring
The type of the order (e.g. “IN_STORE_PICKUP”)
dataobject
Empty
scopeobject
Contains the mfgID and catalogID that the order belongs to.

Create Return Notification
A Create Return Notification is triggered when a return is created on a fulfilled order, putting the order into the “RETURN_INITIATED” state and placing the return itself into the “OPEN_RETURN” status. This example shows the creation of an example return.

{  
   "eventTypeID":"return_created",
   "status":"Open",
   "source":"ADMIN",
   "orderID":"012345",
   "shipmentID":"543210",
   "externalOrderID":"AM_TEST_1531922876",
   "returnID":01010101,
   "manufacturerID":"11111",
   "catalogID":"0",
   "retailerID":"00000",
   "returnLocationID":null,
   "externalStoreID":null,
   "returnLocationName":null,
   "createdTime":"2018-07-23 14:34:30",
   "acceptedTime":null,
   "clearedTime":null,
   "returnItems":[  
      {  
         "returnItemID":"22222",
         "itemID":"020202",
         "quantity":"2.00",
         "status":"pending",
         "reason":"Changed my mind",
         "partNumber":"TestProduct1",
         "upc":null,
         "sku":null
      }
   ],
   "orderType":null,
   "data":null,
   "scope":{  
      "mfgID":"11111",
      "catalogID":"0"
   }
}

Accept Return Notification
An Accept Return Notification is triggered when the created return is accepted by the fulfiller handling the items, which places the return into “RETURN_ACCEPTED” status. This example shows the acceptance of an example return.

{  
   "eventTypeID":"return_accepted",
   "status":"Accepted",
   "source":"ADMIN",
   "orderID":"012345",
   "shipmentID":"543210",
   "externalOrderID":"AM_TEST_1531922876",
   "returnID":"01010101",
   "manufacturerID":"11111",
   "catalogID":"0",
   "retailerID":"00000",
   "returnLocationID":"11111",
   "externalStoreID":"1",
   "returnLocationName":"ZZZ Store 1",
   "createdTime":"2018-07-23 14:34:30",
   "acceptedTime":"2018-07-23 14:34:41",
   "clearedTime":null,
   "returnItems":[  
      {  
         "returnItemID":"22222",
         "itemID":"020202",
         "quantity":"2.00",
         "status":"accepted",
         "reason":"Changed my mind",
         "partNumber":"TestProduct1",
         "upc":null,
         "sku":null
      }
   ],
   "orderType":null,
   "data":null,
   "scope":{  
      "mfgID":"11111",
      "catalogID":"0"
   }
}

Reject Return Notification
A Reject Return Notification is triggered when the return is rejected by the fulfiller before completion, which puts the original order back into the “FULFILLED_ORDER” state instead of “RETURN_INITIATED.” It adds one additional parameter to the data body:

FieldTypeDescription
returnTotalnumberThe total cost of the return that was deleted

This example shows the deletion of an example return.

{  
   "eventTypeID":"return_deleted",
   "status":"Deleted",
   "source":"ADMIN",
   "orderID":"012345",
   "shipmentID":"543210",
   "externalOrderID":"00112233",
   "returnID":"01010101",
   "manufacturerID":"11111",
   "catalogID":"15",
   "retailerID":null,
   "returnLocationID":null,
   "externalStoreID":null,
   "returnLocationName":null,
   "returnTotal":899.99,
   "createdTime":"2018-07-23 23:12:19",
   "acceptedTime":null,
   "clearedTime":null,
   "returnItems":[  
      {  
         "returnItemID":"22222",
         "itemID":"020202",
         "quantity":"1.00",
         "status":"pending",
         "reason":"Changed my mind",
         "partNumber":"TestProduct1",
         "upc":null,
         "sku":null
      }
   ],
   "orderType":null,
   "data":null,
   "scope":{  
      "mfgID":"11111",
      "catalogID":"15"
   }
}

Clear Return Notification
A Clear Return Notification is triggered when the return is completed, which includes the successful processing of all refunds and placing the return into “CLEARED_RETURN” status. This example shows the clearing of an example return.

{  
   "eventTypeID":"return_cleared",
   "status":"Cleared",
   "source":"ADMIN",
   "orderID":"012345",
   "shipmentID":"543210",
   "externalOrderID":"AM_TEST_1531922876",
   "returnID":"01010101",
   "manufacturerID":"11111",
   "catalogID":"0",
   "retailerID":"00000",
   "returnLocationID":"11111",
   "externalStoreID":"1",
   "returnLocationName":"ZZZ Store 1",
   "createdTime":"2018-07-23 14:34:30",
   "acceptedTime":"2018-07-23 14:34:41",
   "clearedTime":"2018-07-24 07:35:09",
   "returnItems":[  
      {  
         "returnItemID":"22222",
         "itemID":"020202",
         "quantity":"2.00",
         "status":"accepted",
         "reason":"Changed my mind",
         "partNumber":"TestProduct1",
         "upc":null,
         "sku":null
      }
   ],
   "orderType":null,
   "data":null,
   "scope":{  
      "mfgID":"11111",
      "catalogID":"0"
   }
}

Re-Open Return Notification
A Re-Open Return Notification is triggered when a completed, closed return is reopened to make additional line-item returns. This places the return back into the initial “OPEN_RETURN” status. This example shows the reopening of an example return.

{  
   "eventTypeID":"return_reopened",
   "status":"Open",
   "source":"CCUI",
   "orderID":"012345",
   "shipmentID":"543210",
   "externalOrderID":"00112233",
   "returnID":"01010101",
   "manufacturerID":"11111",
   "catalogID":"0",
   "retailerID":"00000",
   "returnLocationID":null,
   "externalStoreID":null,
   "returnLocationName":null,
   "createdTime":"2018-07-23 16:34:05",
   "acceptedTime":null,
   "clearedTime":null,
   "returnItems":[  
      {  
         "returnItemID":"999888",
         "itemID":"888999",
         "quantity":"1.00",
         "status":"pending",
         "reason":"Customer changed mind",
         "partNumber":"0123456789",
         "upc":"0123456789",
         "sku":"3030303-0922"
      },
      {  
         "returnItemID":"666777",
         "itemID":"777666",
         "quantity":"1.00",
         "status":"pending",
         "reason":"Customer changed mind",
         "partNumber":"0987654321",
         "upc":"0987654321",
         "sku":"3010301-1388"
      },
      {  
         "returnItemID":"444555",
         "itemID":"555444",
         "quantity":"1.00",
         "status":"pending",
         "reason":"Customer changed mind",
         "partNumber":"01020304",
         "upc":"01020304",
         "sku":"4010300-0415"
      }
   ],
   "orderType":null,
   "data":null,
   "scope":{  
      "mfgID":"11111",
      "catalogID":"0"
   }
}

Return Failure Notification
A Return Failure Notification is triggered when a refund fails on the third processing attempt. Like the Rejected Return Notification, Return Failure includes the total value of the return in the notification data. Additionally, note that this notification is sent in addition to the generic Payment Transaction Error Notification.

FieldTypeDescription
returnTotalnumberThe total value of the return that failed.
{  
   "eventTypeID":"return_errored",
   "status":"Accepted",
   "source":"ADMIN",
   "orderID":"0000000",
   "shipmentID":"43764077",
   "externalOrderID":"T-Live-Testing-aaa_1543512440",
   "returnID":"111111",
   "manufacturerID":"010101",
   "catalogID":"0",
   "retailerID":"101010",
   "returnLocationID":"22222",
   "externalStoreID":"00001",
   "returnLocationName":"00001-Example Store",
   "returnTotal":373.05,
   "createdTime":"2018-11-29 19:29:32",
   "acceptedTime":"2018-11-29 19:30:09",
   "clearedTime":null,
   "returnItems":[  
      {  
         "returnItemID":"00011",
         "itemID":"00022",
         "quantity":"1.00",
         "status":"accepted",
         "reason":"Changed my mind",
         "partNumber":"10111",
         "upc":"1234",
         "sku":"1234"
      },
      {  
         "returnItemID":"00033",
         "itemID":"00044",
         "quantity":"1.00",
         "status":"accepted",
         "reason":"Changed my mind",
         "partNumber":"20222",
         "upc":"1234",
         "sku":"1234"
      }
   ],
   "orderType":"IN_STORE_PICKUP",
   "data":null,
   "scope":{  
      "mfgID":"22222",
      "catalogID":"0"
   }
}