Magento API details

 

Overview

This document has details of all the API integrated with MAGENTO 2.4 and above.

API Documentation

https://magento.redoc.ly/

Understanding of APIs

Given the nature of software development, reasonable minor modifications are expected in future. Here are the clarifications on processes and APIs.

Proxy Flow

Channel API's

Channel API endpoints

Get List of Orders

Lists orders that match specified search criteria.(based on filters for status and created_at time)

/rest/default/V1/orders

Get an Order

Get order details for an order id

/rest/default/V1/orders/{orderId}

Get Order status

Get status of a specific order

/rest/default/V1/orders/{id}/statuses

Get Canceled orders List

Lists orders that match specified search criteria.(based on filters for status and updated_at time

/rest/default/V1/orders

Order Acknowledgment

Change order status to processing as an acknowledgement of order received

rest/default/V1/orders/orders/{orderId}/comments

Cancel order

Cancels a specified order.

/rest/default/V1/orders/{orderId}/cancel

Create Shipment

Performs persist operations for a specified shipment.

/rest/default/V1/shipment/

Create Invoice

Create invoice on magento

/rest/default/V1/order/{orderId}/invoice

Get Invoice

Get invoice details from magento based on the filter of order id

/rest/default/V1/invoices

Get Shipment

Get shipping label

/rest/default/V1/shipment/{shipmentId}

Create Manifest

No call to channel

null

Get Manifest

No call to channel

null

Update Inventory

Update the inventory of a specific sku

/rest/default/V1/products/{productSku}/stockItems/{itemId}

Credential Api

Get access token

/rest/V1/integration/admin/token

Return Orders

No call to channel(used to create a return order corresponding to a forward order in Increff Omni)

null

Handover Orders

The order is handed over to the delivery partner marking the order complete at magento panel

/rest/default/V1/order/{orderId}/ship

Fetch Orders

Get Orders: GET | /rest/default/V1/orders

Lists orders that match specified search criteria. This call returns an array of objects.

Order fetch is done based on search criteria with filters on fields, status and created_at time.These statuses are the order status when the order is created.

  • The items to be synced should have the product_type as simple.

  • The field method under payment should be cashondelivery for COD orders.

  • The increament_id will be used as the parent order id(will be displayed on invoice and shipping label) whereas, the internal order id(used to fetch order) will be used as the channel order id.

Request

QueryParams

Name

Type

Mandatory

Comments

searchCriteria[filterGroups][0][filters][0][conditionType]

String

yes

The type of condition on the filter on which we fetch the ordersPossible value: eq,gt

searchCriteria[filterGroups][0][filters][0][field]

String

 

yes

 

The filter field on which we fetch ordersPossible value: status,created_at

searchCriteria[filterGroups][0][filters][0][value]

String

yes

The value of the filter on the condition type upon which we filter the ordersPossible values: pending,processing,cod_pending,2021-10-11 00:25:48

 

Response

{ "items": [ { "base_currency_code": "INR", "base_discount_amount": 10.0, "base_shipping_amount": 50.0, "created_at": "2022-02-17 07:24:49", "discount_amount": 50, "entity_id": 11254, "grand_total": 25980.0, "discount_tax_compensation_amount": 10, "increment_id": "M000013856", "order_currency_code": "INR", "shipping_amount": 60, "status": "string", "items": [ { "base_original_price": 0, "base_price": 0, "base_price_incl_tax": 0, "base_row_total": 0, "base_row_total_incl_tax": 0, "base_tax_amount": 0, "discount_amount": 0, "item_id": 0, "name": "string", "order_id": 0, "original_price": 0, "price": 0, "price_incl_tax": 0, "product_type": "simple", "qty_canceled": 0, "qty_ordered": 0, "qty_refunded": 0, "row_total_incl_tax": 0, "sku": "string", "tax_amount": 0, "parent_item": {}, "product_option": { "extension_attributes": { "giftcard_item_option": {} } } } ], "billing_address": { "city": "string", "country_id": "string", "email": "string", "firstname": "string", "lastname": "string", "middlename": "string", "postcode": "string", "region": "string", "street": [ "string" ], "telephone": "string" }, "payment": { "method": "string" }, "extension_attributes": { "shipping_assignments": [ { "shipping": { "address": { "city": "string", "country_id": "string", "email": "string", "firstname": "string", "lastname": "string", "middlename": "string", "postcode": "string", "region": "string", "street": [ "string" ], "telephone": "string" } } } ], "cash_on_delivery_fee": 50.0, "base_cash_on_delivery_fee": 60.0, "amstorecredit_base_amount": 100.0, "amstorecredit_amount": 120.0, "applied_taxes": [ { "code": "GST-18", "title": "GST-18", "percent": 18, "amount": 3963.05, "base_amount": 3963.05 } ], "item_applied_taxes": [ { "type": "product", "item_id": 11593, "applied_taxes": [ { "code": "GST-18", "title": "GST-18", "percent": 18, "amount": 3963.05, "base_amount": 3963.05 } ] } ] } } ] }

HttpStatus : 200

Get Order Status:

GET | /rest/default/V1/orders/{id}/statuses

Gets the status for a specified order.

Request

Path parameter

Name

Type

Mandatory

Comments

id

Integer

yes

Order Id(The entity id of the order in magento)

Response

“processing”

HttpStatus : 200

Order Acknowledgment

POST | rest/default/V1/orders/orders/{id}/comments

This call is made to acknowledge that the order is received in our system and to make the status of order processing in the magento panel(if not already in processing).

Request

Path parameter

Name

Type

Mandatory

Comments

id

Integer

yes

Order Id(The entity id of the order in magento)

Response

True

HttpStatus : 200

Get Canceled Orders

GET | /rest/default/V1/orders

Lists orders that match specified search criteria. This call returns an array of objects.

Order fetch is done based on search criteria with filters on fields, status and updated_at time.These statuses are the order status when the order is created.

  • The items to be synced should have the product_type as simple.

Request

QueryParams

Name

Type

Mandatory

Comments

searchCriteria[filterGroups][0][filters][0][conditionType]

String

yes

The type of condition on the filter on which we fetch the ordersPossible value: eq,gt

searchCriteria[filterGroups][0][filters][0][field]

String

 

yes

 

The filter field on which we fetch ordersPossible value: status,created_at

searchCriteria[filterGroups][0][filters][0][value]

String

yes

The value of the filter on the condition type upon which we filter the ordersPossible values: canceled,cod_canceled,2021-10-11 00:25:48

Response

HttpStatus : 200

Cancel Order

POST | /rest/default/V1/orders/{id}/cancel

Cancels a specified order based on the order id of the order.

Request

Path parameter

Name

Type

Mandatory

Comments

id

Integer

yes

Order Id(The entity id of the order in magento)

Response

True

HttpStatus : 200

Shipment

Create Invoice

POST | /rest/default/V1/order/{orderId}/invoice

 This API call generates an invoice at magento for a specific order.

Note: This is not a mandatory call. For some clients the invoice generation on magento is done as soon as the order moves to processing status, so in cases in which such a job does not run at client end, this call generates invoice at magento, as without invoice generation, shipment creation cannot be done for magento.

Request

Path parameter

Name

Type

Mandatory

Comments

id

Integer

yes

Order Id(The entity id of the order in magento)

Response

HttpStatus : 200

Get Invoice

GET | /rest/default/V1/invoices

This API call is used to get the invoice details for the specified order based on search criteria. 

Request

QueryParams

Name

Type

Mandatory

Comments

searchCriteria[filterGroups][0][filters][0][conditionType]

String

yes

The type of condition on the filter on which we fetch the ordersPossible value: eq

searchCriteria[filterGroups][0][filters][0][field]

String

 

yes

 

The filter field on which we fetch ordersPossible value: order_id

searchCriteria[filterGroups][0][filters][0][value]

String

yes

The value of the filter on the condition type upon which we filter the ordersPossible values: The order id of the order for which invoice is to be fetched

Response

{ "items": [ { "base_currency_code": "INR", "base_discount_amount": 0, "base_shipping_amount": 0, "billing_address_id": 70058, "created_at": "2022-07-29 09:00:05", "discount_amount": 0, "entity_id": 1, "grand_total": 100, "discount_tax_compensation_amount": 0, "increment_id": "M000033958", "order_id": 1, "shipping_address_id": 1, "shipping_amount": 0, "store_to_base_rate": 0, "store_to_order_rate": 0, "subtotal": 100.0, "subtotal_incl_tax": 100, "tax_amount": 73.93, "total_qty": 1, "transaction_id": "pay_Jz7LmmJjjfMjPk", "updated_at": "2022-07-29 09:00:05", "items": [ { "base_discount_tax_compensation_amount": 0, "base_price": 690, "base_price_incl_tax": 690, "base_row_total": 616.07, "base_row_total_incl_tax": 690, "base_tax_amount": 73.93, "description": "", "entity_id": 167859, "discount_tax_compensation_amount": 0, "name": "Pack of 1 dress - off white", "parent_id": 33958, "price": 616.07, "price_incl_tax": 690, "product_id": 28618, "row_total": 616.07, "row_total_incl_tax": 690, "sku": "8907095618689", "tax_amount": 73.93, "order_item_id": 172596, "qty": 1 } ], "comments": [] } ], "search_criteria": { "filter_groups": [ { "filters": [ { "field": "order_id", "value": "1", "condition_type": "eq" } ] } ] }, "total_count": 1 }

HttpStatus : 200

Create Shipment

POST | /rest/default/V1/shipment/

Performs persist operation for a specified shipment

Request

{ "entity": { "created_at": "2022-11-30 12:28:00", "order_id": 46773, "items": [ { "sku": "8907095853998", "order_item_id": 235211, "qty": 2 } ], "tracks": [ { "order_id": 46773, "created_at": "2022-11-30 12:28:00", "parent_id": 46773, "weight": 1, "qty": 1, "description": "", "track_number": "11704910415542", "title": "Delhivery", "carrier_code": "11704910415542" } ], "comments": [ { "is_customer_notified": 0, "parent_id": 0, "comment": "comment", "is_visible_on_front": 0, "created_at": "2022-11-30 12:28:00", } ] } }

Name

Type

Mandatory

Comments

Entity

Object

yes

The complete Shipment interface

entity.orderId

Integer

yes

The order id((The entity id of the order in magento)

entity.createdAt

string

no

The time at which the order was created

entity.comments[]

Array of objects

no

This contains the comments if any corresponding to the shipment 

entity.items[]

Array of objects

yes

Array of shipment items

entity.tracks[]

Array of objects

yes

This object contains the tracking details for the shipment

entity.comments[]

comment

string

no

Comments if any needed for the shipment

createdAt

string

no

The time at which the order was created 

isCustomerNotified

integer

no

isCustomerNotified flag value

isVisibleOnFront

integer

no

isVisibleOnFront flag value

parentId

integer

no

Parent id(This is same as that of order id)

Entity.items[]

orderItemId

integer

yes

The order item code of the item

qty

number

yes

The quantity of the SKU ordered

sku

string

no

The channel SKU code 

Entity.tracks[]

carrierCode

string

yes

The awb number generated

orderId

integer

yes

Order id(The entity id of the order in magento)

qty

number

yes

A default value of 1 as one shipment per order is there

title

string

yes

The name of the courier partner

trackNumber

string

yes

The awb number generated(This is used to track the shipment)

createdAt

string

no

The order creation time stamp

Response

HttpStatus : 200

Get Shipment

GET | /rest/default/V1/shipment/{id}

Loads a specified shipment.

Request

Path parameter

Name

Type

Mandatory

Comments

id

Integer

yes

Shipment Id

Response

HttpStatus : 200

Update Inventory

PUT | /rest/default/V1/products/{productSku}/stockItems/{itemId}

This API will push the inventory count to the channel.

Request

Path parameter

Name

Type

Mandatory

Comments

itemId

String

yes

Item id

productSku

String

yes

SKU

 Request Body

Name

Type

Mandatory

Comments

stockItem

Object

yes

This object contains the details of the item for which inventory is to be updated

stockItem.is_in_stock

boolean

yes

This flag indicates that the inventory is in stock. If true, the inventory is in stock

stockItem.qty

Integer

yes

The quantity of the SKU to be updated

Response

32380(entity id)

HttpStatus : 200

Handover

POST | /rest/default/V1/order/{orderId}/ship

This API marks the order complete in magento.

Request

Path parameter

Name

Type

Mandatory

Comments

orderId

Integer

yes

Order Id

Response

2568 ( Handover ID)

HttpStatus : 200

Create Return Order

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

 

Parameter Name

Data Type

Description

Mandatory

forwardOrderCode

String

Forward order code for which return order is being created. This will be the entity_id of the forward order created in Increff Omni

yes

returnOrderCode

String

This is a unique identifier provided by the channel to identify the return order

yes

locationCode

String

Location code of the warehouse where the return order will be received. This is the location code of order in Increff Omni.

yes

returnOrderTime

String

Time at which return order got placed by customer. This should be in the format as mentioned
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

This is a unique identifier provided by the channel to identify the return order item.

yes

orderItems.reason

String

Reason for return as given by the customer.

yes

orderItems.enableDoorStepQc

String

Boolean value - true/false

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

Return Order Ack

Outbound | PUT  | {Client’s URL}

Summary

This API will call the channel with return order processing details.

Description

This API will call the channel with return order processing details.This API will only get triggered after the return order is received and processed.

Request

 

 

Parameter Name

Data Type

Description

Mandatory

returnOrderCode

String

Unique code used by the channel to identify the return order

yes

forwardOrderCode

String

ForwardOrderCode associated with the return order

yes

locationCode

String

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

yes

orderItems

Object[]

List of return items processed.

yes

orderItems.itemCode

String

Unique code used by the channel to identify the return order item

yes

orderItems.channelSkuCode

String

SKU code of return order item

yes

orderItems.qcReason

String

The reason due to which this return item has been marked qc fail

no

orderItems.qcStatus

String

The qcStatus of the return Item.

Possible values : PASS , FAIL

yes

orderItems.imageUrls

String[]

It contains the list of urls of the images of the return items .It will only be populated in case that item has been marked as fail.

no

Response

Empty body

HttpStatus : 200

Pushing Notifications to Magento front-end system

Outbound | POST | {Client’s URL}

Summary

This API will push notifications to the client’s system.

Description

This API will push notifications to the client’s systems. Notifications can be of the forward order statuses or it can be of return orders. These notifications pushed can be from both Clickpost and/or Shiprocket (based on the configuration).

Request (Forward Order Notification Payload)

The above request is a sample notification for a forward order notification.

Request (Return Order Notification Payload)

The above request is a sample notification payload for a return order notification. The return order details will be found in the returnOrderInfo object.

 

Parameter Name

Data Type

Description

Mandatory

forwardOrderCode

String

Forward Order Code

yes

forwardShipmentCode

String

Forward Shipment Code

no

notificationUpdateTime

Long

Epoch timestamp at which notification was received from channel

 

forwardAwb

String

Forward AWB for the order. If the notification is of forward order, this field would be present.

Conditional yes

notificationType

String

The type of notification that is being sent. The possible values are listed below.

yes

returnOrderInfo

Object

Return Order Information. Will be present if the notification type is a return type(AWB_GENERATED, RETURN_PICKUP, RTO etc.)

Conditional yes

returnOrderInfo.returnOrderId

String

Return Order Id

Conditional yes

returnOrderInfo.returnAwb

String

Return Awb

Conditional yes

returnOrderInfo.transporter

String

Courier for the return order

Conditional yes

returnOrderInfo.returnOrderTime

Long

Return Order Time

Conditional yes

logisticAggregatorInfo

Object

This contains the custom fields sent by Clickpost/Shiprocket

yes

logisticAggregatorInfo.logisticAggregatorType

String

Logistic Aggregator type. Can be CLICKPOST or SHIPROCKET

yes

logisticAggregatorInfo.logisticAggregatorMetaData

Object

Map of extra information that are passed to us by logistic aggregators. Example - Account Code, Security Key etc. in Clickpost’s case

yes

warehouseCode

String

Warehouse Code for the forward/return order. If the shipping label was generated through MiniOMS, then this field would be populated.

Conditional yes

items

Objects

The items for the forward/return order. Would be null in case of shiprocket forward order statuses

Conditional yes

items.itemId

String

Item Id

Conditional yes

items.sku

String

SKU of the item

Conditional yes

items.quantity

Integer

Quantity of the item

Conditional yes

 

Request (Invoice Notification Payload)

 

The above request is a sample notification payload for invoice generated notification. This notification will be sent when Invoice is generated in our system. The invoice document details will be found in the PushInvoice object.

 

Parameter Name

Data Type

Description

Mandatory

invoiceId

String

Id of the generated invoice

yes

documentUrl

String

Url of invoice document

yes

invoiceStatus

String

Status of invoice

yes

documentType

String

Invoice/Credit note

yes

forwardShipmentCode

String

Forward Shipment Code

yes

forwardOrderCode

String

Forward Order Code

yes

notificationType

NotificationType

The type of notification that is being sent. The possible values are listed below.

yes

notificationUpdateTime

Long

Epoch timestamp at which notification was received from channel

yes

Notification Type

The following are the types of notifications that can be sent to the client’s system

 

Notification Type

Applicable for

Description

SHIPPING_LABEL_GENERATED

Clickpost

Shipping Label has been generated

OUT_FOR_PICKUP

Clickpost,Shiprocket

Courier is out to pick up the shipment

RETURN_PICKED_UP

Clickpost

Courier has picked up the return order

OUT_FOR_DELIVERY

Clickpost,Shiprocket

Courier is out to deliver the shipment

FAILED_DELIVERY

Clickpost

shipment could not be delivered ( e.g. address not found, person not available)

DELIVERED

Clickpost,Shiprocket

Shipment delivered successfully

RTO

Clickpost,Shiprocket

Shipment could not be delivered and the shipment is now being sent back to its origin/Warehouse

RETURN_ORDER_PLACED

Clickpost

Customer has placed the return order

 

AWB_GENERATED

Clickpost

AWB is generated for the shipment

CANCELLED

Clickpost,Shiprocket

Shipment has been canceled (e.g customer cancellation) 

RTO_DELIVERED

Clickpost,Shiprocket

Shipment delivered to origin

EXCHANGE_PICKUP

Clickpost

fwd order picked up from warehouse to exchange against the return order

EXCHANGE_DELIVERED

Clickpost

Return order picked up, fwd order delivered

PICKUP_CANCELLED

Clickpost

shipment from warehouse canceled

SHIPMENT_STUCK

Clickpost

Shipment is stuck in transit

SLA_BREACHED

Clickpost

Shipment not delivered on time

LOST

Clickpost,Shiprocket

Shipment lost in transit

DAMAGED

Clickpost,Shiprocket

Shipment damaged in transit

INVOICED

Shiprocket

Invoice for shipment has been generated

READY_TO_SHIP

Shiprocket

Shipment Label has been generated

PICKUP_SCHEDULED

Shiprocket

Shipment pick up has been scheduled and pick request is sent to courier partner

SHIPPED

Shiprocket

Shipment dispatched from the Warehouse

PAYMENT_FAILED

Shiprocket

 

UNFULFILLABLE

Shiprocket

 

PICKUP_QUEUE

Shiprocket

Shipment is in queue for pickup post shipment pickup was scheduled

PICKUP_RESCHEDULED

Shiprocket

Pick up is rescheduled 

PICKUP_ERROR

Shiprocket

An order for which there is some error in pick up generation

CANCELLATION_REQUESTED

Shiprocket

Cancellation has been requested for the order

TRANSIT

Shiprocket

Shipment is in transit

UNDELIVERED

Shiprocket

Shipment could not be delivered in first attempt.

DELAYED

Shiprocket

Shipment is delayed but within SLA

PARTIAL_DELIVERED

Shiprocket

 

FULFILLED

Shiprocket

 

ARCHIVED

Shiprocket

 

REACHED_DESTINATION_HUB

Shiprocket

During transit shipment reached from one HUB to final HUB before delivering to customer

MISROUTED

Shiprocket

Shipment sent to wrong route

PICKED_UP

Clickpost,Shiprocket

Shipment picked up from the warehouse

RTO_ACKNOWLEDGED

Shiprocket

An order for which RTO is acknowledged by seller

REACHED_DESTINATION_HUB

Clickpost

 

 

FAQs

Que: How can I identify if the notification is for a forward order or a return order?

Ans: If the “returnOrderInfo“ field is null, then it is a forward order notification. If it is not null, it is a return order notification.

Nuances

Shipment

  • The required by time of Increff OMS(SLA) is set as 2 days from the time at which the order is created at channel.

Shipping Label

  • Shipping labels are generated by RMS.

  • The customer address details will not be changed after order creation.(If needed in case of a pin code not serviceable from clickpost)it should be raised and then will be changed from the database.

  • A set of default dimensions will be sent to the logistic aggregator(non configurable)

Invoice

  • Signature and logo png file to be provided by the client which further needs to be stored in the system.(By default increff logo is used in invoice)

  • From party location contact name will be shown in the from to address in invoice

  • The invoice will include item level discount(which is populated from magento in the discount field of the get order response payload)

  • The total discount will be shown in the invoice (it can also include the store credit if it is present in amstorecredit_amount inside the extension_attributes of the order response payload).

  • The cash on delivery fee is added to the shipping charge in case it is present in the field cash_on_delivery_fee inside the extension_attributes of order.

  • HSN code will be visible under Item tax code/HSN code

  • The pdf format supported is A4 size.

Two options for invoice creation: channel or RMS.

Channel

  • Tax breakup to be provided by the channel under the item_applied_tax object of the get order response(Invoice pdf creation will be based on these details). The code, percentage and amount will be visible in the invoice. The code should be IGST/CGST/SGST.

  • Logo png file to be provided by the client which further needs to be stored in the system.

RMS

  • Logistic Aggregator type to be selected from CLICKPOST, SHIPROCKET, SHIPWAY

  • The Invoice prefix and series(Integer) to be provided by client

Updates

Multi-warehousing support in Magento- 13-May-23

  • Introduced multi-warehousing support through our advanced order splitting and routing capabilities. This means that we can now split and route all orders to different locations mapped to the client-channel pair, providing seamless fulfillment across multiple locations.

  • As Magento does not support multi-warehousing and does not split orders based on location, we have implemented this functionality to support multi-warehousing.

All the orders will be split based on the selected logic of splitting and routing