0% found this document useful (0 votes)
39 views

Ekart B2C API Document

The Ekart B2C API documentation provides detailed information on various APIs including Create Shipment, Track Shipment, Serviceability and SLA, Cancel/RTO, and Update Shipment APIs. Each section outlines the required input parameters, sample request and response payloads, and validation rules for successful API calls. The documentation serves as a comprehensive guide for developers to integrate and utilize Ekart's shipping services effectively.

Uploaded by

user6softpulse
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Ekart B2C API Document

The Ekart B2C API documentation provides detailed information on various APIs including Create Shipment, Track Shipment, Serviceability and SLA, Cancel/RTO, and Update Shipment APIs. Each section outlines the required input parameters, sample request and response payloads, and validation rules for successful API calls. The documentation serves as a comprehensive guide for developers to integrate and utilize Ekart's shipping services effectively.

Uploaded by

user6softpulse
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 51

Ekart B2C API Documentation

1. Create Shipment API


1.1 Forward
Input Parameters
Sample Request Payload
Sample Response Payload
1.2 Reverse
Input Parameters
Sample Request Payload
Sample Response Payload
hsPro1.2.1 Smart Checks
Input Parameters
Sample Request Payload
1.3 HandInHand(HIH) Services
Description
Sample Request Payload Prexo/REPLACEMENT
Sample Response Payload

2. Track Shipment API


Sample Request Payload
Sample Response Payload

3. Serviceability and SLA API


3.1 Forward
Input Parameters
Sample Request Payload
Sample Response Payload
3.2 Reverse
Input Parameters
Sample Request Payload
Sample Response Payload
3.3 Prexo/Replacement
Input Parameters
Sample Request Payload
Sample Response Payload

Failure

4. Critical Updates Integration


Sample Push Update Payload
Slotted update (in case of large slotted delivery)
4. Cancel/RTO API
Sample Request Payload
Sample Response Payload
5. Cancel RVP API
Sample Request Payload
Sample Response Payload

6. Update Shipment API


6.1 Update Dispatch_Date
Sample Request Payload
Sample Response Payload
6.2 RFR, Update Customer Contact, Update Customer Address
7. Auth API

1. Create Shipment API


The create shipment API allows clients to send the service and shipment information to Ekart
systems.

1.1 Forward
Stage API URL - https://staging.ekartlogistics.com/v2/shipments/create
Production API URL - https://api.ekartlogistics.com/v2/shipments/create

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Input Parameters
The section contains the description of all the fields available (including the optional fields)
in the create shipment API.

Attribute Values expected Validation Error Message


(Mandatory - (Max Length)
yes/no)

client_name Unique merchant code Client name should "Client name is null "
(Mandatory - YES) shared once at the time of not be blank “Invalid client name
client on-boarding by eKart <value>”
Client name should
be valid <value> is the value
sent in the payload

goods_category Must be one of the following If the field is passed, Goods category is
(Mandatory - NO) values: it should not be null either null or empty
1. ESSENTIAL or empty.
2. NON_ESSENTIAL Invalid goods
If not passed default value category, Provided
will be NON_ESSENTIAL value: <value>

service_code Service availed by client: Must be present and "serviceCode :


(Mandatory - YES) should be valid from Invalid Service Code,
1. REGULAR the list given in Provided value:
2. ECONOMY ( surface description [<service_code>]"
only transportation
i.e. never by air) service_code is the
3. NDD value sent for
service code

Indicates if it is a forward Must be present and "serviceDetails[0].se


delivery or a reverse pickup. should be FORWARD rviceLeg : Service
This should always be only leg is null, Provided
Service_leg ‘FORWARD’ value:
(Mandatory - YES) [<service_leg>]"

<Service_leg> is
the value passed for
this field

service_types Must be one of the following Must be a valid No error. Value will
(Mandatory - NO) values: value be ignored
1. REGIONAL_HANDOVE
R
2. DELAYED_DISPATCH

passing delayed dispatched


postpones pickup by 1
month.

amount_to_collec Indicates the amount to be Should be an "amountToCollect :


t collected from the customer INTEGER. If value is Amount to collect
(Mandatory - NO) in decimals, the should not exceed
decimals will be 50000, Provided
removed value: [abc]",
"amountToCollect :
Should >= 0 and Amount to collect is
<=50,000 Invalid, Provided
value: [abc]"

dispatch_date Indicates the dispatch date Should be in date "dispatchDate :


(Mandatory - NO) of the shipment, if the format given below: Invalid Date Format,
shipment is to be dispatched yyyy-MM-dd Provided value:
by vendor at some later HH:mm:ss [date_value]"
date And in Indian
standard time zone
(GMT+5:30)
Customer_promis Indicates the date promised Should be in date "customerPromiseDa
e_date to the end customer. format given below: te : Invalid Date
(Mandatory - NO) yyyy-MM-dd Format, Provided
HH:mm:ss value: [date_value]"
And in Indian
standard time zone
(GMT+5:30)

delivery_type Indicates whether the Default value is "deliveryType :


(Mandatory - NO) shipment is small, medium SMALL Invalid delivery type,
(Mandatory - for or large shipment (as per Provided value:
Large) Ekart’s definition). Should be [<delivery_type>]"
one of:
1. SMALL
2. MEDIUM
3. LARGE

Source - data section: Either one of location code or address in source and return sections is
mandatory.

location_code Location codes must have Either one of "source : Location


(Mandatory - NO) been sent by eKART location code or code and Address
engineering team initially address in source both are null,
when onboarding details and return sections Provided value:
were shared by the client is mandatory. [Locations(address=
(Max Length- 120) null,
locationCode=)]"

Source - address

first_name Name of the seller "source.address.first


(Mandatory - YES) (Max Length- 120) Name : Name is null
or empty, Provided
value: []"

address_line1 Address of the destination address_line1 can’t source address_line1


(Mandatory - YES) location be empty is empty
(Max Length- 255)
address_line2
(Mandatory - NO)

pincode Pincode of the destination Should not be empty source pincode is


(Mandatory - YES) location empty
(Max Length- 10) Should strictly be a 6
digit pincode Invalid source
pincode <value>

city (Max Length- 64) Should not be empty "source.address.city


(Mandatory - YES) : City is null or
empty, Provided
value: []"

state (Max Length- 64) Should not be empty


(Mandatory - YES)

primary_contact_ seller phone number Could be empty seller contact


number (Max Length- 21) number is empty
(Mandatory - YES)

email_id “Email id is invalid”


(Mandatory - NO)

Destination address - data section

first_name Name of the customer "destination.address.


(Mandatory - YES) (Max Length- 120) firstName : Name is
null or empty,
Provided value: []"

address_line1 Address of the destination address_line1 can’t destination


(Mandatory - YES) location be empty address_line1 is
(Max Length- 255) empty

address_line2
(Mandatory - NO)

pincode Pincode of the destination Should not be empty destination pincode


(Mandatory - YES) location is empty
(Max Length- 10)
Should strictly be a 6 Invalid destination
digit pincode pincode <value>

city (Max Length- 64) Should not be empty "destination.address.


(Mandatory - YES) city : City is null or
empty, Provided
value: []"

state State of destination location


(Mandatory - YES) (Max Length- 64)

primary_contact_ Customer phone number Should not be empty "destination.address.


number (Max Length- 21) primaryContactNum
(Mandatory - YES) ber : Contact
number is empty or
null, Provided value:
[<primary_contact_n
umber>]"

email_id “Email id is invalid”


(Mandatory - NO)

Return_location
Contains the details of the location whether the RTO shipments have to be returned. If neither
the location_code nor the address is present, source location will be considered as the
return_location.

location_code Location codes must have Either one of "returnLocation :


(Mandatory - NO) been sent by eKART location code or Location code and
engineering team initially address in source Address both are
when onboarding details and return sections null, Provided value:
were shared by the client is mandatory. [Locations(address=
(Max Length- 120) null,
locationCode=)]"

first_name Name of the customer "returnLocation.addr


(Mandatory - YES) (Max Length- 120) ess.firstName :
Name is null or
empty, Provided
value: []"

address_line1 Address of the destination address_line1 can’t "returnLocation.addr


(Mandatory - YES) location be empty ess.addressLine1 :
(Max Length- 255) Address is null or
empty, Provided
value: []"

address_line2
(Mandatory - NO)

pincode Pincode of the destination Should not be empty destination pincode


(Mandatory - YES) location is empty
(Max Length- 10)
Should strictly be a 6 Invalid destination
digit pincode pincode <value>

city (Max Length- 64) Should not be empty "returnLocation.addr


(Mandatory - YES) ess.city : City is null
or empty, Provided
value: []"

state (Max Length- 64)


(Mandatory - YES)

primary_contact_ Customer phone number Should not be empty "destination.address.


number (Max Length- 21) primaryContactNum
(Mandatory - YES) ber : Contact
number is empty or
null, Provided value:
[<primary_contact_n
umber>]"

email_id “Email id is invalid”


(Mandatory - NO)

Shipment Details

client_reference_id Client’s reference id for the Can be same as Invalid Client


(Mandatory - NO) shipment ‘tracking_id’ Reference ID <ID>
(Max Length- 15) Length should be <
16

Tracking_id The tracking id of the Should not be NULL / -"trackingId :


(Mandatory - YES) shipment. This field will blank Tracking Id can not
uniquely identify the Should be in proper be empty, Provided
shipment for a client. format (3 characters value:
(Max Length- 14) of merchant code [<TRACKING_ID>]"
followed by ‘C’, ‘P’ -"trackingId : Invalid
depending shipment tracking ID, Provided
is COD or PREPAID value:
followed by 10 [<TRACKING_ID>]"
unique digits)

Shipment_value Value of the shipment in Can be a float or shipment_value is


(Mand INR. integer not in correct format
atory - YES) Max value 100000

return_label_desc_ Text to be displayed while Length should be


1 printing the return label less than 75 chars
(Mandatory - NO) (will not reject if this
fails)

Return_label_desc_ Text to be displayed while Length should be


2 printing the return label less than 75 chars
(Mandatory - NO) (will not reject if this
fails)

shipment_dimensions
First max value of LBH can be 75, second max value can be 55. Max volumetric weight
(L*B*H/6000) can be 21.25

Length Length of the shipment Should be a positive shipment_length


(Mandatory - NO) (cms) float. invalid
(Mandatory - for
Large)

Breadth Breadth of the shipment Should be a positive shipment_breadth


(Mandatory - NO) (cms) float invalid
(Mandatory - for
Large)

Height Height of the shipment Should be a positive shipment_height


(Mandatory - NO) (cms) float invalid
(Mandatory - for
Large)

Weight Weight of the shipment (kg). Should be a positive -shipment_weight


(Mandatory - YES) Max value- 12 (not for large) float invalid
Min value- 0.1 -Shipment weight
exceeds max
allowed value-
12(not for large)

Shipment Item Details


A shipment can contain multiple items. Should contain at-least 1 item. This section contains the
details that need to be added for each of the items present in the shipment
product_id Product number for the
(Mandatory - NO) shipment item (as per
(Mandatory - for client)
Large) (Max Length- 64)

category Category of the shipment This is shared with


(Mandatory - NO) item. Like - ‘Mobiles’, BD
(Mandatory - for ‘Apparels’, etc
Large) (Max Length- 120)

Product_title Name of the shipment item


(Mandatory - NO) (Max Length- 255)

Quantity Quantity of the shipment Should not be blank "shipmentItems[0].q


(Mandatory - YES) item in the shipment Should be an integer uantity : quantity is
empty or null,
Provided value:
[<quantity>]"

Total_sale_value Total sale value of the given Should be a float total_sale_value is


Mandatory - NO) shipment item. not in correct format

Total_tax_value Total tax value of the given Should be a float total_tax_value is not
Mandatory - NO) shipment item. in correct format

Tax_breakup Breakup of GST into cgst, Should not be blank "shipmentItems[0].c


(Mandatory - NO) sgst and igst Should be a float ost.taxBreakup.igst :
IGST is empty or
null, Provided value:
[<cgst,igst,sgst>]"

seller_reg_name Registered name of the Should not be blank seller_reg_name is


(Mandatory - NO) seller not present
(Max Length- 255)

Gstin_id GSTIN of seller Should not be blank gstin_id is not


(Mandatory - Yes) (Max Length- 30) present

Hsn HSN of the shipment item, Required if shipment hsn is not present
(Mandatory - NO) should be an 8 digit value value exceeds HSN value is invalid
50000

ern Electronic Reference Required if shipment


(Mandatory - NO) number for the invoice value exceeds
50000

discount Discount provided for the Should be float discount is not in


(Mandatory - NO) shipment item correct format

Order_id Order id for the shipment Should not be NULL Shipment Item
(Mandatory - YES) item (this corresponds to Attribute ORDER_ID
the order id provided by the is null"
ecommerce platform)
(Min Length- 6,
Alphanumeric)

Invoice_id Invoice ID for the Should not be NULL "Shipment Item


(Mandatory - YES) transaction Attribute INVOICE_ID
Should not exceed is null"
character limit of 16

Alphanumeric with /
and - are only
allowed

item_dimension The dimensions of the item.


(Mandatory - NO) Will contain the length,
breadth, height and weight
information of the shipment
item. If incorrect format is
provided, we will consider
the value as 0:0:0:0.

brand_name The brand name of the


(Mandatory - NO) shipment item which should
be used while
communicating with the end
customers.

Handling Attributes

isFragile Indicates whether the Should not be NULL "Shipment Handling


(Mandatory - NO) shipment item is fragile. In Attribute isFragile
case of invalid input has invalid value :
(anything other than TRUE <value>"
or FALSE), we will consider it
as FALSE.

isDangerous Indicates whether the Should not be NULL "Shipment Handling


(Mandatory - NO) shipment item is dangerous. Attribute
In case of invalid input isDangerous has
(anything other than TRUE invalid value :
or FALSE), we will consider it <value>"
as FALSE.

Sample Request Payload


{
"client_name": "MerchantCode",
"goods_category": "ESSENTIAL",
"services": [
{
"service_code": "REGULAR",
"service_details": [
{
"service_leg": "FORWARD",
"service_data": {
"service_types":[
{
"name": "regional_handover",
"value": "true"
},
{
"name": "delayed_dispatch",
"value": "true" #If this value is sent as TRUE in creation call then pickup
date will be d+30
}
],
“vendor_name”:”Ekart”,
"amount_to_collect": 1000,
"dispatch_date": "2018-10-29 11:30:00",
"customer_promise_date": "",
"delivery_type": "SMALL",
"source": {
“location_code”:”ABC_del_01”
},
"destination": {
"address": {
"first_name": "AVThamizhmahan",
"address_line1": "123/22 Garden Vazhudaretty Post Villupuram",
"address_line2": "Tamil Nadu",
"pincode": "400066",
"city": "Villupuram",
"state": "Tamil Nadu",
"primary_contact_number": "1234567890",
"email_id":"[email protected]"
}
},
"return_location": {
"address": {
"first_name": "AVThamizhmahan",
"address_line1": "3/1675 ES Garden Vazhudaretty Post Villupuram",
"address_line2": "Tamil Nadu",
"pincode": "400066",
"city": "Villupuram",
"state": "Tamil Nadu",
"primary_contact_number": "",
"email_id":"[email protected]"
}
}
},

"shipment": {
"client_reference_id": "ABCD",
"tracking_id": "CLTC0000000001",
"shipment_value": 2000,
"shipment_dimensions": {
"length": {
"value": 1
},
"breadth": {
"value": 1
},
"height": {
"value": 1
},
"weight": {
"value": 1
}
},
"return_label_desc_1": "",
"return_label_desc_2": "",
"shipment_items": [
{
"product_id": "134883075",
"category": "Apparel",
"product_title": "Mast&HarbourBlackHandbag: Handbags",
"quantity": 1,
"cost": {
"total_sale_value": 500,
"total_tax_value": 100,
“tax_breakup”:{
“cgst”:0.0,
“sgst”:0.0,
“igst”:100.0
}
},
"seller_details": {
"seller_reg_name": "Seller Registered Legal Name",
“gstin_id”:””
},
“hsn” :””,
“ern”:””,
“discount”:0.0,
"item_attributes": [
{
"name": "order_id",
"value": "ABCD"
},
{
"name": "invoice_id",
"value": "INV1234"
},
{
"name": "item_dimensions",
"value": "l:b:h:w"
},
{
"name": "brand_name",
"value": "Peter England"
}
],
"handling_attributes": [
{
"name": "isFragile",
"value": "false"
},
{
"name": "isDangerous",
"value": "false"
}
]
}
]
}
}
]
}
]
}

Sample Response Payload


Success
{
"request_id": "R01",
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED"
}
]
}

Failure
1. Payload validation - 400 Response Status
{
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_REJECTED",
"message": [
"Largest value of dimension exceeds max allowed value - 75.0"
]
}
],
"request_id": "4cd55a87-1c1e-4a8d-aa48-6410a3cb8d07"
}

2. Duplicate Tracking ID used - 400 Response Status


{
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_REJECTED",
"message": [
"Shipment already exists with the same tracking ID"
]
}
],
"request_id": "8200966e-cc48-4ba9-902f-a520dc5a0d33"
}

3. Serviceability Failure - 400 Response Status


{
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_REJECTED",
"message": [
"No vendor has pickup serviceability"
]
}
],
"request_id": "e6ce3001-9771-4874-8a82-036b388f9c88"
}

4. Ineligible movement based on Orange/Green/Red zones - 400 Response Status


{
"response": [
{
"status": "REQUEST_REJECTED",
"message": [
"Movement is not allowed"
]
}
],
"request_id": "42ba78cb-8176-4bd0-9c9b-ef0c9a6f5c31"
}

5. Rate limit Exceeded - 403 Response status


{
"forbidden": "Rate limit exceeded"
}
Response Codes:
200 - Request received
400 - Bad request (validation failed, message will contain the exact validation failed)
401 - Authorization failed
404 - Resource not found
403 - Forbidden (Rate limit exceeded)
500 - Service is down

1.2 Reverse
Stage API URL - https://staging.ekartlogistics.com/v2/shipments/create
Production API URL - https://api.ekartlogistics.com/v2/shipments/create

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Input Parameters
The section contains the description of all the fields available (including the optional fields)
in the create shipment API for RVP shipments.

Attribute Values expected Validation Error Message


(Mandatory -
yes/no)

client_name Unique merchant code Client name should "Client name is null "
(Mandatory - YES) shared once at the time not be blank “Invalid client name
of client on-boarding by <value>”
eKart Client name should
be valid <value> is the value
sent in the payload

goods_category Must be one of the If the field is Goods category is


(Mandatory - NO) following values: passed, it should either null or empty
3. ESSENTIAL not be null or
4. NON_ESSENTIAL empty. Invalid goods
If not passed default category, Provided
value will be value: <value>
NON_ESSENTIAL

service_code Service availed by client: Must be present "serviceCode :


(Mandatory - YES) RETURNS_SMART_CHECK and should be valid Invalid Service Code,
RETURNS_BASIC_CHECK from the list given Provided value:
RETURNS_CLOSED_BOX in description [<service_code>]"

service_code is the
value sent for
service code

service_leg Indicates if it is a forward Must be present "serviceDetails[0].se


(Mandatory - YES) delivery or a reverse and should be rviceLeg : Service
pickup. ‘REVERSE’ only leg is null, Provided
This should always be value:
‘REVERSE’ [<service_leg>]"

<Service_leg> is
the value passed for
this field

delivery_type Indicates whether the Default value is "deliveryType :


(Mandatory - NO) shipment is small, SMALL Invalid delivery type,
medium or large Provided value:
shipment (as per Ekart’s [<delivery_type>]"
definition). Should be one
of:
1. SMALL
2. MEDIUM
3. LARGE

Source details: Either location_code or the address should be present. If both are
present, preference will be given to location_code over address.

location_code Location codes must have Either one of "source : Location


(Mandatory - NO) been sent by eKART location code or code and Address
engineering team initially address in source both are null,
when onboarding details and return sections Provided value:
were shared by the client is mandatory. [Locations(address=
(Max Length- 120) null,
locationCode=)]"

Source - address

first_name Name of the seller "source.address.first


(Mandatory - YES) (Max Length- 120) Name : Name is null
or empty, Provided
value: []"

address_line1 Address of the address_line1 can’t source address_line1


(Mandatory - YES) destination location be empty is empty
(Max Length- 255)
address_line2
(Mandatory - NO)

pincode Pincode of the destination Should not be source pincode is


(Mandatory - YES) location empty empty
(Max Length- 10)
Should strictly be a Invalid source
6 digit pincode pincode <value>

city (Max Length- 64) Should not be "source.address.city


(Mandatory - YES) empty : City is null or
empty, Provided
value: []"

state (Max Length- 64) Should not be


(Mandatory - YES) empty

Destination: Location code of the facility where the item has to be returned. Either
location_code or the address should be present. If both are present, preference will be
given to location_code over address.

location_code Location codes must have Either one of the "destination :


(Mandatory - NO) been sent by eKART location code or Location code and
engineering team initially address in source Address both are
when onboarding details and return sections null, Provided value:
were shared by the client is mandatory. [Locations(address=
(Max Length- 120) null,
locationCode=)]"

Destination - address

first_name Name of the seller "Destination.address


(Mandatory - YES) (Max Length- 120) .firstName : Name is
null or empty,
Provided value: []"

address_line1 Address of the address_line1 can’t Destination


(Mandatory - YES) destination location be empty address_line1 is
(Max Length- 255) empty

address_line2
(Mandatory - NO)

pincode Pincode of the destination Should not be source pincode is


(Mandatory - YES) location empty empty
(Max Length- 10)
Should strictly be a Invalid source
6 digit pincode pincode <value>

city (Max Length- 64) Should not be "Destination.address


(Mandatory - YES) empty .city : City is null or
empty, Provided
value: []"

state (Max Length- 64) Should not be


(Mandatory - YES) empty

Shipment Details

client_reference Client’s reference id for Can be same as


_id (Mandatory - the shipment ‘tracking_id’
NO) (Max Length- 15)

Tracking_id The tracking id of the Should not be "trackingId :


(Mandatory - YES) shipment. This field will NULL / blank Tracking Id can not
uniquely identify the Should be in be empty, Provided
shipment for a client. proper format (3 value:
(Max Length- 14) characters of [<TRACKING_ID>]"
merchant code
followed by ‘R’
indicating Reverse
shipment, followed
by 10 unique
digits)

Shipment_value Value of the shipment in Can be a float or shipment_value is


(Mandatory - YES) INR. integer not in correct format
Max value 100000

shipment_dimensions
First max value of LBH can be 75, second max value can be 55. Max volumetric weight
(L*B*H/6000) can be 21.25

Length Length of the shipment Should be a shipment_length


(Mandatory - NO) (cms) positive float. invalid
(Mandatory - for
Large)

Breadth Breadth of the shipment Should be a shipment_breadth


(Mandatory - NO) (cms) positive float invalid
(Mandatory - for
Large)

Height Height of the shipment Should be a shipment_height


(Mandatory - NO) (cms) positive float invalid
(Mandatory - for
Large)

Weight Weight of the shipment Should be a -shipment_weight


(Mandatory - YES) (kg). positive float invalid
Max value- 12 (not for -Shipment weight
large) exceeds max
Min value- 0.1 allowed value-
12(not for large)

Shipment Item Details


A reverse shipment can contain one and only one item. This section contains the details
that need to be added for each of the items present in the shipment

product_id Product number for the


(Mandatory - NO) shipment item (as per
(Mandatory - for client)
Large) (Max Length- 64)

category Category of the shipment


(Mandatory - NO) item. Like - ‘Mobiles’,
(Mandatory - for ‘Apparels’, etc
Large) (Max Length- 120)

Product_title Name of the shipment


(Mandatory - NO) item
(Max Length- 255)

Quantity Quantity of the shipment Should not be "shipmentItems[0].q


(Mandatory - NO) item in the shipment blank uantity : quantity is
Should be an empty or null,
integer Provided value:
[<quantity>]"

Total_sale_valu Total sale value of the Should be a float total_sale_value is


e given shipment item. not in correct format
(Mandatory - NO)

Total_tax_value Total tax value of the Should be a float total_tax_value is not


(Mandatory - NO) given shipment item. in correct format

Tax_breakup Breakup of GST into cgst, Should not be "shipmentItems[0].c


(Mandatory - NO) sgst and igst blank ost.taxBreakup.igst :
Should be a float IGST is empty or
null, Provided value:
[<cgst,igst,sgst>]"

seller_reg_nam Registered name of the Should not be seller_reg_name is


e seller blank not present
(Mandatory - NO) (Max Length- 255)

Gstin_id GSTIN of seller Should not be gstin_id is not


(Mandatory - Yes) (Max Length- 30) blank present

Hsn HSN of the shipment Required if hsn is not present


(Mandatory - NO) item, should be an 8 digit shipment value HSN value is invalid
value exceeds 50000

ern Electronic Reference Required if


(Mandatory - NO) number for the invoice shipment value
exceeds 50000

discount Discount provided for the Should be float discount is not in


(Mandatory - NO) shipment item correct format

Order_id Order id for the shipment Should not be Shipment Item


(Mandatory - YES) item (this corresponds to NULL Attribute ORDER_ID
the order id provided by is null"
the ecommerce platform)
(Min Length- 6,
Alphanumeric)

Invoice_id Invoice ID for the Should not be "Shipment Item


(Mandatory - YES) transaction NULL Attribute INVOICE_ID
is null"

item_dimension The dimensions of the


(Mandatory - NO) item. Will contain the
length, breadth, height
and weight information of
the shipment item. If
incorrect format is
provided, we will consider
the value as 0:0:0:0.

Pickup Information (Mandatory - NO)


Basic information about the item to be picked up from the customer location
reason Reason for the customer
(Mandatory - NO) return

sub_reason
(Mandatory - NO)

Reason_descrip Description of the reason


tion for customer return
(Mandatory - NO)

Image Image URL of the item to


(Mandatory - NO) be picked

Smart pickup checks


Category specific pickup checks will be performed. The list of checks to be decided based
on the discussion with the client

Item_title The name of the Should not be Item title in smart


shipment item being blank checks cannot be
picked empty
(Max Length- 255)

checks (key) The name of the check to


be performed.For eg.
D_DAMAGE_CTH_CHECK.

inputs Input to perform the


check. For eg. for
performing brand check,
the input will be brand
name

is_mandatory Flag indicating whether Should not be Is mandatory


the check is mandatory or null/blank required
optional
Should be one of
the following: true Invalid is_mandatory
or false value <value>

Sample Request Payload


{
"client_name":"MerchantCode",
"goods_category": "ESSENTIAL",
"services":[
{
"service_code":"RETURNS_SMART_CHECK",
"service_details":[
{
"service_leg":"REVERSE",
"service_data":{
"amount_to_collect":0,
"delivery_type":"SMALL",
"source":{
"address":{
"first_name":"AVThamizhmahan",
"address_line1":"3/1675 ES Garden Vazhudaretty Post Villupuram",
"address_line2":"Tamil Nadu",
"pincode":"400066",
"city":"Villupuram",
"state":"Tamil Nadu",
"primary_contact_number":""
}
},
"destination":{
"location_code":"ABC_del_01"
}
},
"shipment":{
"client_reference_id":"ABCD",
"tracking_id":"CLTC0000000001",
"Shipment_value":2000,
"shipment_dimensions": {
"length": {
"value": 1
},
"breadth": {
"value": 1
},
"height": {
"value": 1
},
"weight": {
"value": 1
}
},
"shipment_items":[
{
"product_id":"134883075",
"product_title":"Mast&HarbourBlackHandbag: Handbags",
"category":"Apparel",
"quantity":1,
"cost": {
"total_sale_value": 500,
"total_tax_value": 100,
"tax_breakup":{
"cgst":"0.0",
"sgst":"0.0",
"Igst":"0.0"
}

},
"seller_details":{
"seller_reg_name":"Seller Registered Legal Name",
“gstin_id”:””
},
“hsn”:””,
“ern”:””,
“discount”:””,
"item_attributes":[
{
"name":"order_id",
"value":"ABCD"
},
{
"name":"invoice_id",
"value":"INV1234"
}
],
"pickup_info":{
"reason":"OTHER_REASON",
"sub_reason":"OTHER_REASON",
"reason_description":"Customer requested for Return"
},
"smart_checks":[
{
"item_title":"BodyTantrumSolidMen'sGreyTrackPants",
"checks":{
"D_DAMAGE_CTH_CHECK":{
"inputs":{

},
"is_mandatory":false
},
"M_BRAND_CHECK_ON_PRODUCT_FOOTWEAR":{
"inputs":{
"brand_name":"BodyTantrum"
},
"is_mandatory":true
},
"M_PRODUCT_IMAGE_COLOR_PATTERN_MATCH":{
"inputs":{
"item_image":"http: //www.abc.xyz"
},
"is_mandatory":true
},
"M_BRAND_CHECK_ON_PRODUCT_APPAREL":{
"inputs":{
"brand_name":"BodyTantrum"
},
"is_mandatory":true
},
"P_TAG_AVAILABLE_CHECK":{
"inputs":{
},
"is_mandatory":true
}
}
}
]
}
]
}
}
]
}
]
}

Sample Response Payload


Success
{
"request_id": "R02",
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED"
}
]
}

Failure
1. {
"request_id": "R02",
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_REJECTED",
"message": "Reason for Request Rejection"
}
]
}
2. Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

Response Codes:
200 - Request received
400 - Bad request (validation failed, message will contain the exact validation failed)
401 - Authorization failed
404 - Resource not found
403 - Forbidden (Rate limit exceeded)
500 - Service is down
hsPro1.2.1 Smart Checks

Input Parameters
The section contains the description of all the smart checks available in the create shipment
API for RVP shipments.

The payload will contain the information of smart check keys and their corresponding inputs
along with if the check is mandatory.

Checks Inputs
M_BASIC_IMAGE_MATCH ITEM_IMAGE
M_PRODUCT_IMAGE_COLOR_PATTERN_MATCH ITEM_IMAGE
M_BRAND_CHECK_ON_PRODUCT_ALL BRAND_NAME
M_BRAND_CHECK_ON_PRODUCT_APPAREL BRAND_NAME
M_BRAND_CHECK_ON_TAG_ALL BRAND_NAME
M_BRAND_CHECK_ON_PRODUCT_FOOTWEAR BRAND_NAME
M_SIZE_CHECK_ON_PRODUCT_ALL SIZE
M_SIZE_CHECK_ON_PRODUCT_FOOTWEAR SIZE
M_SIZE_CHECK_ON_TAG_ALL SIZE
C_IMEI_CHECK IMEI_NO
M_BRAND_PRODUCT_TYPE_TV PRODUCT_TYPE_BRAND_NAME
M_PRODUCT_TYPE_CAPACITY_WM PRODUCT_TYPE_CAPACITY
M_PRODUCT_TYPE_CAPACITY_REF PRODUCT_TYPE_CAPACITY
M_PRODUCT_TYPE_REF PRODUCT_TYPE
M_PRODUCT_TYPE_TV PRODUCT_TYPE
M_PRODUCT_TYPE_WM PRODUCT_TYPE
M_SIZE_CHECK_TV SIZE
M_CAPACITY_CHECK_REF CAPACITY
M_CAPACITY_CHECK_WM CAPACITY
M_MODEL_CHECK MODEL_NAME
M_BRAND_CHECK_AC PRODUCT_TYPE_BRAND_NAME
M_TYPE_CHECK_AC PRODUCT_TYPE_CAPACITY
M_CAPACITY_AC CAPACITY
D_DAMAGE_CTH_CHECK null
D_STAIN_CHECK null
D_SCREEN_DAMAGE_CHECK null
D_MAJOR_BODY_DAMAGE_CHECK null
D_SWITCH_ON_CHECK null
D_BODY_DAMAGE_CHECK_LAPTOP_PREXO null
D_SCREEN_DAMAGE_TV null
D_BODY_DAMAGE_TV null
D_BODY_DAMAGE_REF null
D_BODY_DAMAGE_WM null
D_WORKING_CONDITION_TV null
D_WORKING_CONDITION_REF null
D_WORKING_CONDITION_WM null
D_BODY_DAMAGE_AC null
D_DISPLAY_PANEL_DAMAGE_CHECK_LAPTOP null
D_DISPLAY_ISSUE_CHECK_LAPTOP null
D_HINGES_DAMAGE_CHECK null
D_KEYS_MISSING_OR_DAMAGED_CHECK null
D_SCREEN_COMING_OUT_CHECK_MOBILE null
D_DISPLAY_ISSUE_CHECK_MOBILE null
D_BODY_DAMAGE_CRACKS_CHECK null
D_BODY_PARTS_MISSING_DAMAGED_CHECK null
D_BATTERY_BULGE_OR_BENT_CHECK null
D_FUNCTIONAL_CHECK null
D_BATTERY_MISSING_DAMAGED_CHECK null
D_RUST_DAMAGE_AC null
C_ICLOUD_LOCK_CHECK null
C_SERIAL_CHECK_LAPTOP_RVP SERIAL_NO
C_SERIAL_CHECK_LAPTOP_PREXO SERIAL_NO
C_SCREEN_LOCK_CHECK null
C_SIRI_CHECK null
C_LEGAL_INFO_CHECK null
C_SERIAL_CHECK_ON_BOX SERIAL_NO
C_SERIAL_CHECK SERIAL_NO
C_LAPTOP_PROCESSOR_CHECK PROCESSOR_TYPE
C_SERIAL_CHECK_ELECTRONICS SERIAL_NO
C_SERIAL_CHECK_LIFESTYLE SERIAL_NO
C_SERIAL_CHECK_WITHOUT_VALIDATION SERIAL_NO
C_SAMSUNG_FAKE_CHECK null
C_LAPTOP_DOA_SEAL_INTACT null
COMPLETION_CODE CODE
P_AVAILABILITY_CHECK ITEM_DESCRIPTION QUANTITY
P_TAG_AVAILABLE_CHECK null
P_BOX_AVAILABLE_CHECK null
P_BOX_CONDITION_CHECK null
P_WARRANTY_AVAILABLE_CHECK null
P_MRP_VALUE_CHECK MRP_VALUE
CHARGER_AVAILABLE_CHECK null
CHARGER_EARPHONE_AVAILABLE_CHECK null
P_DOA_SEAL_CHECK null
P_CHARGER_USB_AVAILABLE_CHECK ITEMS_NAME
P_BOX_AVAILABLE_CHECK_WITH_INPUT ITEM_NAME
COPPER_PIPE_AVAILABLE_CHECK_AC null
CHARGER_AVAILABLE_CHECK_WITH_INPUT ITEM_TYPE
P_QUANTITY_AC null

Sample Request Payload


{
"smart_checks": [{
"item_title": "BodyTantrumSolidMen'sGreyTrackPants",
"checks": {
"D_DAMAGE_CTH_CHECK": {
"inputs": {

},
"is_mandatory": false
},
"D_STAIN_CHECK": {
"inputs": {

},
"is_mandatory": false
},
"M_BRAND_CHECK_ON_PRODUCT_FOOTWEAR": {
"inputs": {
"brand_name": "BodyTantrum"
},
"is_mandatory": true
},
"M_PRODUCT_IMAGE_COLOR_PATTERN_MATCH": {
"inputs": {
"item_image": "http: //www.abc.xyz"
},
"is_mandatory": true
},
"M_BRAND_CHECK_ON_PRODUCT_APPAREL": {
"inputs": {
"brand_name": "BodyTantrum"
},
"is_mandatory": true
},
"P_TAG_AVAILABLE_CHECK": {
"inputs": {

},
"is_mandatory": true
}
}
}]
}

1.3 HandInHand(HIH) Services

Description
The HIH services include product exchange and replacement. The payload will contain the
information for both the forward and the reverse legs in case of HIH services. The
description of the fields have been covered in earlier sections.

Sample Request Payload Prexo/REPLACEMENT


{
"request_id":"R03",
"client_name":"CLIENT",
"goods_category": "ESSENTIAL",
"services":[
{
"service_code":"PREXO/REPLACEMENT",
"service_details":[
{
"service_leg":"FORWARD",
"service_data":{
"vendor_name":"Ekart",
"amount_to_collect":1000,
"dispatch_date":"",
"customer_promise_date":"",
"delivery_type":"SMALL",
"source":{
"location_code":"d0449ad65da3447e"
},
"destination":{
"address":{
"first_name":"AVThamizhmahan",
"address_line1":"3/1675 ES Garden Vazhudaretty Post Villupuram",
"address_line2":"Tamil Nadu",
"pincode":"400066",
"city":"Villupuram",
"state":"Tamil Nadu",
"primary_contact_number":""
}
}
},
"shipment":{
"client_reference_id":"ABCD",
"tracking_id":"CLTC0000000001",
"shipment_value":2000,
"shipment_dimensions":{
"length":{
"value":1
},
"breadth":{
"value":1
},
"height":{
"value":1
},
"weight":{
"value":1
}
},
"return_label_desc_1":"",
"return_label_desc_2":"",
"shipment_items":[
{
"Product_id":"134883075",
"category":"Apparel",
"product_title":"Mast&HarbourBlackHandbag: Handbags",
"quantity":1,
"cost":{
"total_sale_value":500,
"total_tax_value":100,
"tax_breakup":{
"cgst":0.0,
"sgst":0.0,
"igst":0.0
}
},
"seller_details":{
"seller_reg_name":"Seller Registered Legal Name",
"gstin_id":"asasas"
},
"hsn":"",
"ern":"",
"item_attributes":[
{
"name":"order_id",
"value":"ABCD"
},
{
"name":"invoice_id",
"value":"INV1234"
},
{
"name":"item_dimensions",
"value":"l:b:h:w"
},
{
"name":"brand_name",
"value":"Peter England"
}
],
"handling_attributes":[
{
"name":"isFragile",
"value":"false"
},
{
"name":"isDangerous",
"value":"false"
}
]
}
]
"associated_tracking_ids": [
"CLTR0000000002" //Tracking ID of the linked Reverse Shipment
]
}
},
{
"service_leg":"REVERSE",
"service_data":{
"vendor_name":"Ekart",
"amount_to_collect":0,
"delivery_type":"SMALL",
"source":{
"address":{
"first_name":"AVThamizhmahan",
"address_line1":"3/1675 ES Garden Vazhudaretty Post Villupuram",
"address_line2":"Tamil Nadu",
"pincode":"400066",
"city":"Villupuram",
"state":"Tamil Nadu",
"primary_contact_number":""
}
},
"destination":{
"location_code":"d0449ad65da3447e"
}
},
"shipment":{
"client_reference_id":"ABCD",
"tracking_id":"CLTR0000000002",
"shipment_value":2000,
"shipment_items":[
{
"product_id":"134883075",
"product_title":"Mast&HarbourBlackHandbag: Handbags",
"item_content":{

},
"category":"Apparel",
"quantity":1,
"cost":{
"total_sale_value":500,
"total_tax_value":100,
"tax_breakup":{
"cgst":100,
"sgst":0,
"igst":0
}
},
"seller_details":{
"seller_reg_name":"Seller Registered Legal Name",
"gstin_id":""
},
"item_attributes":[
{
"name":"order_id",
"value":"ABCD"
},
{
"name":"invoice_id",
"value":"INV1234"
}
],
"smart_checks":[
{
"item_title":"BodyTantrumSolidMen'sGreyTrackPants",
"checks":{
"D_DAMAGE_CTH_CHECK":{
"inputs":{

},
"is_mandatory":false
},
"D_STAIN_CHECK":{
"inputs":{

},
"is_mandatory":false
},
"M_BRAND_CHECK_ON_PRODUCT_FOOTWEAR":{
"inputs":{
"brand_name":"BodyTantrum"
},
"is_mandatory":true
},
"M_BRAND_CHECK_ON_PRODUCT_APPAREL":{
"inputs":{
"brand_name":"BodyTantrum"
},
"is_mandatory":true
},
"P_TAG_AVAILABLE_CHECK":{
"inputs":{

},
"is_mandatory":true
}
}
}
]
}
]
}
}
]
}
]
}

Sample Response Payload


{
"response": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED"
},
{
"tracking_id": "CLTR0000000002",
"status": "REQUEST_RECEIVED"
}
],
"request_id": "a1e60b4f-4e21-420c-a3a9-6c5c2556d5a8"
}

2. Track Shipment API


The track shipment API allows clients to track a shipment(s). Can provide a comma
separated list of tracking IDs in payload. Using this API client can pull the data of an ongoing
shipment or a delivered shipment. Please find list of all the status and their description here.

Stage API URL - https://staging.ekartlogistics.com/v2/shipments/track


Production API URL - https://api.ekartlogistics.com/v2/shipments/track

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Sample Request Payload


{"tracking_ids":["CLTC0000000001"]}

Sample Response Payload


Success
{
"CLTC0000000001": {
"shipment_type": "COD",
"cod_amount": "1999.0",
"shipment_id": "CLTC0000000001",
"shipment_value": "1999.0",
"order_id": "5180823923081454",
"external_tracking_id": "CLTC0000000001",
"delivery_type": "small",
"weight": "0.0",
"delivered": true,
"merchant_name": "ABC",
"history": [
{
"city": "Nirsa",
"status": "delivered",
"hub_notes": "30161417, Vikash Kumar Saw_1087905, ",
"cs_notes": "",
"event_date": "2018-08-28T18:03:33+0530",
"event_date_iso8601": "2018-08-28T18:03:33.000+05:30",
"hub_name": "NirsaHub_NRA",
"updated_datetime": "2018-08-28T18:03:33+0530",
"public_description": "Delivered to Customer"
},
{
"city": "Nirsa",
"status": "out_for_delivery",
"hub_notes": "30161417, Vikash Kumar Saw_1087905, ",
"cs_notes": "",
"event_date": "2018-08-28T07:38:28+0530",
"event_date_iso8601": "2018-08-28T07:38:28.000+05:30",
"hub_name": "NirsaHub_NRA",
"updated_datetime": "2018-08-28T07:38:28+0530",
"public_description": "Out for delivery"
},
{
"city": "New Delhi",
"status": "in_transit",
"hub_notes": "",
"cs_notes": "",
"event_date": "2018-08-24T23:48:41+0530",
"event_date_iso8601": "2018-08-24T23:48:41.000+05:30",
"hub_name": "Bamnoli Sort Centre",
"updated_datetime": "2018-08-24T23:48:41+0530",
"public_description": "Received at Bamnoli Sort Centre"
},
{
"city": "New Delhi",
"status": "in_transit",
"hub_notes": "",
"cs_notes": "",
"event_date": "2018-08-24T23:48:41+0530",
"event_date_iso8601": "2018-08-24T23:48:41.000+05:30",
"hub_name": "Bamnoli Sort Centre",
"updated_datetime": "2018-08-24T23:48:41+0530",
"public_description": "Shipment in-scanned at Bamnoli Sort Centre"
},
{
"city": "New Delhi",
"status": "in_transit",
"hub_notes": "",
"cs_notes": "",
"event_date": "2018-08-24T23:48:41+0530",
"event_date_iso8601": "2018-08-24T23:48:41.000+05:30",
"hub_name": "Bamnoli Sort Centre",
"updated_datetime": "2018-08-24T23:48:41+0530",
"public_description": "Dispatched to Bamnoli Sort Centre"
},
{
"status": "in_transit",
"event_date": "2018-08-24T23:48:42+0530",
"event_date_iso8601": "2018-08-24T23:48:42+05:30",
"city": "Dwarka",
"description": "Dispatched to Ekart Logistics",
"public_description": "Dispatched to Ekart Logistics",
"cs_notes": null
},
{
"status": "in_transit",
"event_date": "2018-08-24T23:48:40+0530",
"event_date_iso8601": "2018-08-24T23:48:40+05:30",
"city": "Dwarka",
"description": "Received At EKL_Bamnoli1 ",
"public_description": "Received At EKL_Bamnoli1 ",
"cs_notes": null
},
{
"status": "in_transit",
"event_date": "2018-08-24T19:41:23+0530",
"event_date_iso8601": "2018-08-24T19:41:23+05:30",
"city": "Dwarka",
"description": "dispatched_to_tc",
"public_description": "dispatched_to_tc",
"cs_notes": null
},
{
"status": "pickup_complete",
"event_date": "2018-08-24T17:27:14+0530",
"event_date_iso8601": "2018-08-24T17:27:14+05:30",
"city": "Dwarka",
"description": "shipment_pickup_complete",
"public_description": "shipment_pickup_complete",
"cs_notes": null
},
{
"status": "out_for_pickup",
"event_date": "2018-08-24T10:24:02+0530",
"event_date_iso8601": "2018-08-24T10:24:02+05:30",
"city": "Bangalore",
"description": "shipment_out_for_pickup",
"public_description": "shipment_out_for_pickup",
"cs_notes": null
},
{
"status": "pickup_scheduled",
"event_date": "2018-08-23T12:15:35+0530",
"event_date_iso8601": "2018-08-23T12:15:35+05:30",
"city": "Bangalore",
"description": "Expected at ekl-marketplace ",
"public_description": "Expected at ekl-marketplace ",
"cs_notes": null
},
{
"status": "shipment_created",
"event_date": "2018-08-23T12:15:35+0530",
"event_date_iso8601": "2018-08-23T12:15:35+05:30",
"city": "Bangalore",
"description": "Dispached by Seller",
"public_description": "Dispached by Seller",
"cs_notes": null
}
],
"receiver": {
"name": "RAJEEV",
"releation": "Self",
"relation": "Self",
"phone_number": "7777777777"
},
"current_hub": {
"name": "NirsaHub_NRA",
"address1": "New Bhamal, Shop No 1, Near Bank of India, Jamtara Road, Nirsa,
Dhanbad - 828205",
"address2": "null",
"city": "Nirsa",
"state": "Jharkhand",
"country": "India",
"pincode": "828206",
"zone": "East",
"description": null,
"display_name": "NirsaHub_NRA",
"coc_code": "NRA/NRA"
},
"assigned_hub": {
"name": "NirsaHub_NRA",
"address1": "New Bhamal, Shop No 1, Near Bank of India, Jamtara Road, Nirsa,
Dhanbad - 828205",
"address2": "null",
"city": "Nirsa",
"state": "Jharkhand",
"country": "India",
"pincode": "828206",
"zone": "East",
"description": null,
"display_name": "NirsaHub_NRA",
"coc_code": "NRA/NRA"
},
"sender": {
"city": "Bangalore",
"state": "Karnataka",
"pincode": "560067",
"address1": "ABC Pvt. Ltd",
"address2": "Bangalore, 560067. ",
"phone": null,
"email": null,
"name": "abc.com"
},
"customer": {
"city": "CHIRKUNDA",
"country": "",
"pincode": "828203",
"address1": "CHIRKUNDAEGARCOOR",
"address2": "HOTEL SUNNY",
"name": "RAJEEV",
"state": "JHARKHAND",
"phone": "7777777777",
"email": null
},
"items": [
{
"order_id": "5180823923081454",
"item_type": "Apparel",
"item_price": 1999,
"item_description": "Apparel"
}
],
"vendor": "E-Kart Logistics",
"mh_inscanned": true,
"rto_detail": null,
"slotted_delivery": true,

"expected_delivery_slot": { // for large slotted delivery


"start_time": "2018-08-30 20:00:00",
"end_time": "2018-08-30 22:00:00",
},
"expected_delivery_date": "2018-08-30 23:59:59", // for non slotted delivery
"rto": false,
"shipment_notes": [
{
"created_at": "2018-08-24T23:48:42+05:30",
"id": 2837675632,
"note": "AUTO-API-CALL",
"note_type": "vendor",
"shipment_id": 764493202,
"shipment_status_history_id": 6214675716,
"updated_at": "2018-08-24T23:48:42+05:30"
}
],
"shipment_tickets": null
}
}

Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

3. Serviceability and SLA API


The serviceability and SLA API allows clients to check the serviceability and SLA to service
that request.

3.1 Forward
Stage API URL - https://staging.ekartlogistics.com/v1/offerings
Production API URL - https://api.ekartlogistics.com/v1/offerings

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Input Parameters
The section contains the description of all the fields available (including the optional fields)
in the serviceability and SLA API for Forward type shipment.

Attribute Values expected Validation/ Error Message


(Mandatory - yes/no) Constraints

request_id A string to identify the


(Mandatory - No) request.
customer_pincode Pincode of the destination Should not be null Pincode is Invalid
(Mandatory - Yes) location. or empty

Should strictly be a
6 digit pincode

seller_pincode Pincode of the seller Should not be null Seller Pincode


(Mandatory - Yes) location. or empty cannot be null

Should strictly be a Pincode is Invalid


6 digit pincode

rto_pincode Pincode of the location Should not be null Pincode is Invalid


(Mandatory - No) where the shipment will or empty
be returned if RTO
Should strictly be a
6 digit pincode

length Length of the shipment


(Mandatory - No) (cms)

breadth Breadth of the shipment


(Mandatory - No) (cms)

height Height of the shipment


(Mandatory - No) (cms)

weight Weight of the shipment


(Mandatory - No) (kg)

dispatch_date Indicates the dispatch Should be in date Invalid Date Format


(Mandatory - No) date of the shipment. format given
below:
yyyy-MM-dd
HH:mm:ss
And in Indian
standard time zone
(GMT+5:30)

delivery_type Indicates whether the Should not be Invalid delivery type


(Mandatory - No) shipment is small, empty
medium or large shipment
(as per Ekart’s definition). Default value is
Should be one of: SMALL
1. SMALL
2. MEDIUM
3. LARGE

is_dangerous Indicates whether the Default value is


(Mandatory - No) shipment item is false
dangerous.
is_fragile Indicates whether the Default value is
(Mandatory - No) shipment item is fragile. false

service_type Indicates the type of Should not be null Invalid service type
(Mandatory - Yes) service request. Should be or empty.
FORWARD

Sample Request Payload


{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"dispatch_date": "2020-03-20 23:30:00",
"customer_pincode": "560034",
"seller_pincode": "400045",
"rto_pincode": "600032",
"length": 20.0,
"breadth": 0.5,
"height": 1.3,
"weight": 2.6,
"delivery_type": "Small",
"service_type": "FORWARD",
"is_dangerous": true,
"is_fragile": false
}

Sample Response Payload


Success
{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"serviceable": true,
"lane": "METRO",
"allowed_goods_category": "Essentials",
"prexo": true,
"prepaid_limit": 1000000,
"cod_limit": 49999,
"connections": {
"REGULAR": {
"serviceable": true,
"SLA": "3 days",
"packaging_requirement": "Any"
},
"ECONOMY": {
"serviceable": true,
"SLA": "5 days",
"packaging_requirement": "NonPlastic"
}
},
"rvp": true,
"cod": true
}

Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

3.2 Reverse
Stage API URL - https://staging.ekartlogistics.com/v1/offerings
Production API URL - https://api.ekartlogistics.com/v1/offerings

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Input Parameters
The section contains the description of all the fields available (including the optional fields)
in the serviceability and SLA API for Reverse type shipment.

Attribute Values expected Validation/ Error Message


(Mandatory - yes/no) Constraints

request_id A string to identify the


(Mandatory - No) request.

customer_pincode Pincode of the source Should not be null Pincode is Invalid


(Mandatory - Yes) location. or empty

Should strictly be a
6 digit pincode
seller_pincode Pincode of the seller Should not be null Both seller and RC
(Mandatory - One of location. or empty Pincode cannot be
seller_pincode or null.
rc_pincode is Should strictly be a
mandatory. If both 6 digit pincode Pincode is Invalid.
present rc_pincode will
be considered for
serviceability.)

rc_pincode Pincode of the location Should not be null Both seller and RC
(Mandatory - One of where the shipment will or empty Pincode cannot be
seller_pincode or be returned. null.
rc_pincode is Should strictly be a
mandatory. If both 6 digit pincode Pincode is Invalid
present rc_pincode will
be considered for
serviceability.)

length Length of the shipment


(Mandatory - No) (cms)

breadth Breadth of the shipment


(Mandatory - No) (cms)

height Height of the shipment


(Mandatory - No) (cms)

weight Weight of the shipment


(Mandatory - No) (kg)

dispatch_date Indicates the dispatch Should be in date Invalid Date Format


(Mandatory - No) date of the shipment. format given
below:
yyyy-MM-dd
HH:mm:ss
And in Indian
standard time zone
(GMT+5:30)

delivery_type Indicates whether the Should not be Invalid delivery type


(Mandatory - No) shipment is small, empty
medium or large shipment
(as per Ekart’s definition). Default value is
Should be one of: SMALL
SMALL
MEDIUM
LARGE

is_dangerous Indicates whether the Default value is


(Mandatory - No) shipment item is false
dangerous.

is_fragile Indicates whether the Default value is


(Mandatory - No) shipment item is fragile. false
service_type Indicates the type of Should not be null Invalid service type
(Mandatory - Yes) service request. Should be or empty.
REVERSE

Sample Request Payload


{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"dispatch_date": "2020-03-20 23:30:00",
"customer_pincode": "560034",
"seller_pincode": "400045",
"rc_pincode": "600032",
"length": 20.0,
"breadth": 0.5,
"height": 1.3,
"weight": 2.6,
"delivery_type": "Small",
"service_type": "REVERSE",
"is_dangerous": true,
"is_fragile": false
}

Sample Response Payload


Success
{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"serviceable": true,
"lane": "LOCAL",
"allowed_goods_category": "Any",
"connections": {
"REGULAR": {
"serviceable": true,
"SLA": "5 days"
},
"ECONOMY": {
"serviceable": false,
"reason": "NO_PICKUP_SERVICEABLE_VENDOR No vendor has pickup
serviceability"
}
}
}
Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

3.3 Prexo/Replacement
Stage API URL - https://staging.ekartlogistics.com/v1/offerings
Production API URL - https://api.ekartlogistics.com/v1/offerings

Http Method Type - POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Input Parameters
The section contains the description of all the fields available (including the optional fields)
in the serviceability and SLA API for Prexo/Replacement type shipment.

Attribute Values expected Validation/ Error Message


(Mandatory - yes/no) Constraints

request_id A string to identify the


(Mandatory - No) request.

customer_pincode Pincode of the destination Should not be null Pincode is Invalid


(Mandatory - Yes) location. or empty

Should strictly be a
6 digit pincode

seller_pincode Pincode of the seller Should cannot be Source Pincode


(Mandatory - Yes) location. null or empty cannot be null

Should strictly be a Pincode is Invalid.


6 digit pincode

rto_pincode Pincode of the location Should not be null Pincode is Invalid


(Mandatory - No) where the forward leg or empty
shipment will be returned
if RTO Should strictly be a
6 digit pincode

rc_pincode Pincode of the location Should not be null Pincode is Invalid


(Mandatory - No) where the reverse leg or empty
shipment will be returned
Should strictly be a
6 digit pincode

length Length of the shipment


(Mandatory - No) (cms)

breadth Breadth of the shipment


(Mandatory - No) (cms)

height Height of the shipment


(Mandatory - No) (cms)

weight Weight of the shipment


(Mandatory - No) (kg)

dispatch_date Indicates the dispatch Should be in date Invalid Date Format


(Mandatory - No) date of the shipment. format given
below:
yyyy-MM-dd
HH:mm:ss
And in Indian
standard time zone
(GMT+5:30)

delivery_type Indicates whether the Should not be Invalid delivery type


(Mandatory - No) shipment is small, empty
medium or large shipment
(as per Ekart’s definition). Default value is
Should be one of: SMALL
SMALL
MEDIUM
LARGE

is_dangerous Indicates whether the Default value is


(Mandatory - No) shipment item is false
dangerous.

is_fragile Indicates whether the Default value is


(Mandatory - No) shipment item is fragile. false

service_type Indicates the type of Should not be null Invalid service type
(Mandatory - Yes) service request. Should be or empty.
PREXO or REPLACEMENT

Sample Request Payload


{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"dispatch_date": "2020-03-20 23:30:00",
"customer_pincode": "560034",
"seller_pincode": "400045",
"rto_pincode": "600032",
"rc_pincode": "600032",
"length": 20.0,
"breadth": 0.5,
"height": 1.3,
"weight": 2.6,
"delivery_type": "Small",
"service_type": "PREXO",
"is_dangerous": true,
"is_fragile": false
}

Sample Response Payload


Success
{
"request_id": "82b317b3-8c7c-4fdd-ac78-6726f6e67f3b",
"serviceable": true,
"lane": "ZONAL",
"allowed_goods_category": "Essentials",
"prepaid_limit": 1000000,
"cod_limit": 49999,
"connections": {
"REGULAR": {
"serviceable": true,
"SLA": "5 days",
"packaging_requirement": "NonPlastic"
},
"ECONOMY": {
"serviceable": false,
"reason": "NO_PICKUP_SERVICEABLE_VENDOR No vendor has pickup
serviceability"
}
},
"cod": true
}
Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

4. Critical Updates Integration


This is an optional feature, but is very helpful to get live updates of all the important events
in a shipment lifecycle. To enroll for this feature, client needs to share an https endPoint
with the Ekart team, and Ekart will send all the updates of the shipment at this endpoint
along with the Tracking Id/AWB Number.
Please find details of all push updates here

Sample Push Update Payload


{
"reason": "",
"sub_reasons": [],
"request_id": null,
"vendor_tracking_id": "ABCC0001201928",
"merchant_reference_id": "ABCC0001201928",
"status": "delivered",
"shipment_type": "OutgoingShipment",
"remarks": "",
"merchant_code": "ABC",
"merchant_name": "ABC Corp.",
"event_date": "2019-01-27 20:47:52",
"courier_name": "flipkartlogistics-cod",
"seller_id": "ABC",
"location": "fkl_Binola_ABC",
"event": "shipment_delivered"
}

Slotted update (in case of large slotted delivery)

{
"reason": "",
"sub_reasons": [],
"request_id": null,
"vendor_tracking_id": "ABCC0001201928",
"merchant_reference_id": "ABCC0001201928",
"status": "delivered",
"shipment_type": "OutgoingShipment",
"remarks": "",
"merchant_code": "ABC",
"merchant_name": "ABC Corp.",
"event_date": "2019-01-27 20:47:52",
"expected_delivery_slot": {
"start_time": "2019-01-27 20:47:52",
"end_time": "2019-01-27 20:47:52",
},
"event_date": "2019-01-27 20:47:52",
"courier_name": "flipkartlogistics-cod",
"seller_id": "ABC",
"location": "fkl_Binola_ABC",
"event": "slot_update"
}

4. Cancel/RTO API
The create RTO API allows client to create an RTO for a shipment. This request will be
allowed if the shipment is not Out_for_delivery or if the shipment has not been already
delivered. This is not allowed for large post pickup

Stage API URL: https://staging.ekartlogistics.com/v2/shipments/rto/create


Production API URL: https://api.ekartlogistics.com/v2/shipments/rto/create

Http Method Type - PUT

Headers-
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Sample Request Payload


{
"request_id": "R04",
"request_details": [
{
"tracking_id": "CLTC0000000001",
"reason": "Reason for cancellation"
}
]
}

Sample Response Payload


Success
{
"request_id": "R04",
"response_details": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED/REQUEST_REJECTED",
"message": "Reason for Request Rejection"
}
]
}

Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}
5. Cancel RVP API
Cancel RVP Api allows clients to Cancel RVP Pickups for a shipment. This request will be
allowed if the shipment is not picked. Cancellation won’t be allowed post pickups. Only
single shipment is applicable as part of a single RVP request.

Stage API URL: https://staging.ekartlogistics.com/v2/shipments/rvp/cancel


Production API URL: https://api.ekartlogistics.com/v2/shipments/rvp/cancel

Http Method Type - PUT

Headers-

 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)


 Authorization : Bearer <Token>

Sample Request Payload


{
"request_id": "R04",
"request_details": [
{
"tracking_id": “<trackingId>”,
"reason": “<Reason for Cancellation>”
}
]
}

Sample Response Payload


Success 200
{
"request_id": "R04",
"response_details": [
{
"tracking_id": "<trackingId>",
"status": "REQUEST_RECEIVED",
"status_code": 200
}
]
}

Failure
Bad Request 400
{
"request_id": "R04",
"response_details": [
{
"tracking_id": "<trackingId>",
"status": "REQUEST_REJECTED",
“message”: [“<error message>”]
}
]
}

Rate limit Exceeded - 403 Response status


{
"forbidden": "Rate limit exceeded"
}

6. Update Shipment API


The update shipment API allows client to update selected fields in the create shipment
request. This is not allowed for large.

Stage API URL - https://staging.ekartlogistics.com/v2/shipments/ update


Production API URL - https://api.ekartlogistics.com/v2/shipments/update

Http Method Type -PUT


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

Sample Request Payload


{
"request_id": "R08",
"tracking_id": "CLTC0000000001",
"update_request_details": {
"service_data": {
"dispatch_date": "2017-03-02 00:00:00",
},
"shipment": {
"shipment_dimensions": {
"weight": {
"value": 1
}
}
}
}
}
Response
{
"request_id": "R08",
"response_details": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED/REQUEST_REJECTED",
"message": "Reason for Request Rejection"
}
]
}

6.1 Update Dispatch_Date

This allows the client to update the dispatch_date if the client is passing the value of
delayed_dispatch flag as true in the create request. This is not allowed for large. Pls note
that if you are passing the delayed_dispatch flag as TRUE then the pickup date will be d+30.

Sample Request Payload


{
"request_id": "R08",
"tracking_id": "CLTC0000000001",
"update_request_details": {
"service_data": {
"dispatch_date": "2017-03-02 00:00:00"
},
"shipment": {}
}
}

Sample Response Payload


Success
{
"request_id": "R08",
"response_details": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED/REQUEST_REJECTED",
"message": "Reason for Request Rejection"
}
]
}

Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}
6.2 RFR, Update Customer Contact, Update Customer Address

Stage API URL - https://staging.ekartlogistics.com/v2/shipments/update_shipment


Production API URL - https://api.ekartlogistics.com/v2/shipments/update_shipment

Http Method Type -PUT


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : Bearer <Token>

RFR:
{
"update_request_type": "RESCHEDULE_DELIVERY_DATE",
"update_request_details": {
"updated_delivery_date": "2022-11-04"
},
"tracking_id": "<tracking_id>"
}

Update Customer Contact:


{
"tracking_id": "<tracking_id>",
"update_request_type": "CUSTOMER_CONTACT",
"update_request_details": {
"customer_address": {
"primary_contact_number": “<phone_number>”
}
}
}

Update Customer Address:


{
"tracking_id": "<tracking_id>",
"update_request_type": "CUSTOMER_DETAILS",
"update_request_details": {
"customer_address": {
"address_line1": "<address line 1>",
"address_line2": "<address line 2>",
"city": "<city>",
"state": "<state>",
"pincode": "<pincode>",
"primary_contact_number": "<phone_number>"
}
}
}

Response
{
"request_id": "R08",
"response_details": [
{
"tracking_id": "CLTC0000000001",
"status": "REQUEST_RECEIVED/REQUEST_REJECTED",
"message": "Reason for Request Rejection"
}
]
}

7. Auth API
This allows the client to get a bearer token which will be used to authenticate all the other
APIs.

Stage API URL - https://staging.ekartlogistics.com/auth/token


Production API URL - https://api.ekartlogistics.com/auth/token

Http Method Type -POST


Headers-
 Content-Type : application/json
 HTTP_X_MERCHANT_CODE : (As shared by Ekart Team)
 Authorization : (As shared by Ekart Team)
 This API will use Basic Auth mode. All the other APIs will follow Bearer Authentication.

Sample Response Body:

Success
{
"Authorization": "Bearer
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJla2wtZHVyaW4tc3RhZ2UiLCJhdWQiOiJ7XCJ
tZXJjaGFudFwiOlwiTVlOXCJ9IiwiZ3JhbnRfdHlwZSI6ImNsaWVudF9jcmVkZW50aWFscyIsInNjb3
BlIjpbInVzZXIucHJvZmlsZSJdLCJpc3MiOiJodHRwOi8vMTAuMjQuMC4xNjUiLCJleHAiOjE2Mzc1Nz
k3NjYsImlhdCI6MTYzNzU3NjE2NiwianRpIjoiZTkzMTIyOGItYWE3Ni00YzU1LThkNzctYzhkNDU2Z
TZjOGI3IiwiY2xpZW50X2lkIjoiZWtsLWR1cmluLXN0YWdlIn0.B4mgv7m3fwUvdIZ5teq9WJblxooj
Ve4Pg-yvxzh3KWmKno_r-
XFTBUOAwjk4KxzNBa068NgJr3uxbLmObh22RPSHKiRl8adB85vsDjohHgt0iAvXv4QWIrF9fDbSg
W5nzRT1vPo-BtTu7QA1BupqLQb-_sUcWHfsuRFe1bmFq1iV-
nkzKdUPoL_w1rz89mY3Z6cqLUZ61KfzpRz6yR7A2gIw_HT31Tw5BUdcw435vAiVzdsMpYeFhl2E
cY0jJlN7eg8zBbacP-ObqUADyV8LBmMlY01of5eEJYeT6QOdZBEGaSbsaLv6-
LekES1NAETmLL2HoBmSXH0JlYMl13BEA"
}

Failure
Rate limit Exceeded - 403 Response status
{
"forbidden": "Rate limit exceeded"
}

Invalid Credentials - 401 Response status


{
"unauthorised": "invalid_user_credential"
}

Token Details:
a. Expiry Time - 60min. Request a new token before that or you will get unauthorised
response on all APIs

You might also like