Skip to end of banner
Go to start of banner

Create Return Order API (Beta)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Inbound | POST  | /return/return-orders

Summary

This API is used to create B2C return orders in Omni.

Description

This API is used to create B2C return orders in Omni. One order item represents only one quantity of an SKU. If there are multiple quantities of the same SKU then multiple order items should be created.

Request

{
  "forwardOrderCode": "108",
  "returnOrderCode": "100078",
  "locationCode": "Wid234",
  "returnOrderTime": "2020-10-16T20:22:28.000+05:30",
  "returnOrderStatus" : "RETURN_CREATED",
  "expectedDate" : "2020-10-16T20:22:28.000+05:30",
  "orderItems": [
    {
      "itemCode": "I10098",
      "reason": "Different Size",
      "channelSkuCode": "10007345",
      "name" : "Name",
      "brand": "Brand1",
      "color": "Black",
      "category": "Footwear",
      "subCategory": "Shoe",
      "serialNumber": "100",
      "price" : 100.00,
      "finalAmountPaid" : 100.00,
      "imageUrl": "xyz",
      "storeCreditsUsed": 0.0,
      "subTaxItemData": [
        {
          "type": "type",
          "rate": 10,
          "taxPerUnit": 10,
          "taxTotal": 10
        }
      ]
    }
  ],
  "orderType": "CUSTOMER_RETURN",
  "awbNumber": "HYN402",
  "transporter": "transporter",
  "currencyCode": "INR",
  "regionType": "INDIAN",
  "returnReason": "damaged product",
  "sellerGstin": "29AADCP7081J1ZY",
  "consigneeGstin": "29AAHCT2518N1ZW",
  "shipmentDimension": {
    "breadth": 10,
    "height": 10,
    "length": 10,
    "weight": 1
  },
  "dropAddress": {
    "name": "customerName",
    "line1": "address line 1",
    "line2": "address line 2",
    "line3": "address line 3",
    "city": "Bengaluru",
    "state": "Karnataka",
    "zip": "560076",
    "country": "INDIA",
    "email": "email.com",
    "phone": "9999999999"
  },
  "pickupAddress": {
    "name": "customerName",
    "line1": "address line 1",
    "line2": "address line 2",
    "line3": "address line 3",
    "city": "Bengaluru",
    "state": "Karnataka",
    "zip": "560076",
    "country": "INDIA",
    "email": "email.com",
    "phone": "9999999999"
  },
  "orderDetails" : {
    "codValue": 0,
    "invoiceNumber": "INV-10",
    "invoiceTime": "2020-10-16T20:22:28.000+05:30",
    "invoiceValue": 100.00,
    "isCod": false,
    "forwardShipmentNumber": "101"
  }
}

 

Parameter Name

Data Type

Description

Mandatory

forwardOrderCode

String

Forward order code for which return order is being created.

yes

returnOrderCode

String

Unique identifier provided by the channel for the return order being created.

yes

locationCode

String

Location code of the warehouse where the return order will be received.

yes

returnOrderTime

String

Time at which return order got placed by customer
Format eg : 2020-10-16T20:22:28.000+05:30

no

returnOrderStatus

String

The Status of the return order

no

expectedDate

String

Expected date of return
Format eg : 2020-10-16T20:22:28.000+05:30

no

orderItems

Object[]

Array of order items, order items represent each line of return order.

yes

orderItems.itemCode

String

Unique identifier provided by the channel for the return order item.

yes

orderItems.reason

String

Reason for return as given by the customer.

yes

orderItems.channelSkuCode

String

SKU code for return order item.

yes

orderItems.name

String

Name of the product

Conditional Yes*

orderItems.brand

String

Brand of the product

Conditional Yes*†

orderItems.color

String

Color of the product

Conditional Yes*†

orderItems.category

String

Category of the product

Conditional Yes*†

orderItems.subCategory

String

Sub Category of the product

Conditional Yes*†

orderItems.serialNumber

String

Serial number of the product

Conditional Yes*†

orderItems.price

Double

Price of the product

Conditional Yes*

orderItems.finalAmountPaid

Double

Final amount paid for the product

Conditional Yes*

orderItems.imageUrl

String

Image url of the product

No

orderItems.storeCreditsUsed

Double

Store credits for this line item

No

orderItems.subTaxItemData

Object[]

List of sub tax items object

Conditional Yes*†

subTaxItemData.type

String

Type of tax applicable

Conditional Yes*†

subTaxItemData.rate

Double

Tax rate for this tax type

Conditional Yes*†

subTaxItemData.taxPerUnit

Double

Tax applicable for this type of tax per unit

Conditional Yes*†

subTaxItemData.taxTotal

Double

Total tax for this tax type

Conditional Yes*†

orderType

String

Type of return. Possible values - SELF_SHIP,CUSTOMER_RETURN,RETURN_TO_ORIGIN

Conditional Yes*

awbNumber

String

Courier tracking number.

If courier partner integration done via Increff, then can be ignored.

(Otherwise YES)

transporter

String

Courier partner name.

If courier partner integration done via Increff, then can be ignored.

(Otherwise YES)

currencyCode

String

Currency

Conditional Yes*

regionType

String

Can take two values:INDIAN and INTERNATIONAL, specifying the region type of order

Conditional Yes*

sellerGstin

String

Seller GSTIN. If logisticAggregatorType=CLICKPOST, then this field is mandatory. If logisticAggregatorType=SHIPROCKET, then this field can be null

Conditional Yes*

consigneeGstin

String

Consignee GSTIN

Conditional Yes*†

returnReason

String

The reason due to which the order was returned

Conditional Yes*

shipmentDimension

Object

Package Dimensions

Conditional Yes*

shipmentDimension.breadth

Double

Breadth of package. Default value can be set as 1

yes

shipmentDimension.height

Double

Height of package. Default value can be set as 1

yes

shipmentDimension.length

Double

Length of package. Default value can be set as 1

yes

shipmentDimension.weight

Doubke

Weight of package. Default value can be set as 200

yes

dropAddress

Object

Shipping Address (Warehouse address)

Conditional Yes*

dropAddress.name

String

Name of Warehouse POC

Yes

dropAddress.line1

String

1st line of warehouse’s address

Yes

dropAddress.line2

String

2nd line of warehouse’s address

No

dropAddress.line3

String

3rd line of warehouse’s address

No

dropAddress.city

String

City of Warehouse

Yes

dropAddress.state

String

State of Warehouse

Yes

dropAddress.zip

String

ZIP/Pin code of Warehouse

Yes

dropAddress.country

String

Country of warehouse

Yes

dropAddress.email

String

Email of warehouse

Yes

dropAddress.phone

String

Phone Number of warehouse POC

Yes

pickupAddress

Object

Billing address of the customer

Conditional Yes*

pickupAddress.name

String

Name of customer

Yes

pickupAddress.line1

String

1st line of customer’s address

Yes

pickupAddress.line2

String

2nd line of customer’s address

No

pickupAddress.line3

String

3rd line of customer’s address

No

pickupAddress.city

String

City of customer

Yes

pickupAddress.state

String

State of customer

Yes

pickupAddress.zip

String

ZIP/Pin code of customer

Yes

pickupAddress.country

String

Country of customer

Yes

pickupAddress.email

String

Email of customer

Yes

pickupAddress.phone

String

Phone Number of customer

Yes

orderDetails

Object

Order Details

Conditional Yes*

orderDetails.codValue

Double

If order is of type COD, then this should be greater than 0

Yes

orderDetails.invoiceNumber

String

Invoice Id of the order. If logisticAggregatorType=CLICKPOST, then this field is mandatory. If logisticAggregatorType=SHIPROCKET, then this field can be null

Conditional yes*

orderDetails.invoiceTime

String

Invoice Time of the order. If logisticAggregatorType=CLICKPOST, then this field is mandatory. If logisticAggregatorType=SHIPROCKET, then this field can be null
Format eg : 2020-10-16T20:22:28.000+05:30

Conditional yes*

orderDetails.invoiceValue

Double

Invoice value

Yes

orderDetails.isCod

Boolean

True if the order is of COD type

Yes

orderDetails.forwardShipmentNumber

String

Forward Shipment Number

No

 

  • These fields are mandatory if courier partner integration needs to be done via Increff(ie. in cases where the channel does not have the AWB and transporter details and wants increff to fetch these details through the integration between increff and logistic aggregator)

*† These fields are dependant on the Courier partner being integrated with, if it is mandatory for the courier partner, then they must be sent.

Response

Empty Body

HttpStatus : 200

  • No labels