Welcome to Dash101's API documentation. Dash101 Platform provides options for integration with external systems. Dash101 provides APIs which can be used to manage order lifecycle. This document aims to provide all of the information needed for developers to use Dash101 resources.
First, need to register with Dash101 and create an account. Click on the link to register. After registration is done, follow the below steps to create an API user and integrate Dash101's services into your platform 1. Login into Dash101 Portal and on the left-hand panel, click on "API Integration". 2. Click on the "Create New API User" button. Then on the pop-up menu, fill in an email and enter the appropriate password and confirm the password. 3. On Successful completion, the API user would be created. API User is characterized by API User Id, Email, and Password. All three attributes would be required in 'Generating Authentication Token' and an authentication token is required to use all further APIs provided by Dash101. Note:
Following standard response and error codes could be encountered, while using Dash101's API.
Code | Description |
---|---|
200 and 201 | API call is successful. |
400 | Bad Request. |
401 | Unauthorized request. |
404 | The requested resource is not found. |
422 | Unprocessable Entity. | 429 | Too many requests have been made in a short period of time (Throttling). |
500 | The server could not return the representation due to an internal server error. |
Following table contains order status codes and corresponding status
Order Status Code | Order Status |
---|---|
1 | Created |
2 | Approved |
2.5 | Pending Pickup |
3 | Dispatched |
4 | Delivered | 5 | Cancelled |
6 | Cancelled by Buyer |
7 | Returned to Origin |
9 | Return Request Initiated |
10 | Return Item picked up |
11 | Out for Delivery |
12 | Failed Delivery |
13 | Returning to Origin |
14 | Return Request Approved |
15 | Return Request Completed |
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Content-Type required | string Value: "application/json" |
email required | string API User's email |
password required | string API User's password |
{- "email": "string",
- "password": "string"
}
{- "authorization_token": "..."
}
You can check the serviceability between pickup and drop pincodes along with the prices and details of courier partners in real-time.
This API should be used to check if the pickup and drop pincode combination is serviceable by any of Dash101's courier partners. If serviceability is possible, the shipping related charges would be returned in the response.
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
pickup_pincode required | number Example: pickup_pincode=110092 Pickup Pincode |
drop_pincode required | number Example: drop_pincode=400708 Drop Pincode |
cod required | boolean Example: cod=true Whether order is COD(Cash on Delivery) or Prepaid. If this flag is set to false, order would be considered as Prepaid. |
weight required | number Example: weight=1.5 Weight of the package(in Kg). Minimum value should be 0.5kg and Maximum value can be 10Kg. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
{- "available_courier_companies": [
- {
- "courier_name": "Bluedart",
- "shipping_charges": 10,
- "cod_charges": 5,
- "total_charges": 15
}
]
}
This API should be used to get all the courier partners available to create a shipment.
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
{- "available_courier_companies": [
- {
- "courier_id": 4,
- "courier_name": "Delhivery"
}
]
}
Dash101 provides APIs to manage the flow of order creation. You can create, cancel in bulk or track the status of an order.
This API should be used to create an Order on Dash101's platform. All the required parameters should be passed for a successful call. Note:
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
order_id required | string [ 1 .. 20 ] characters Your Platform's Order Id. Allowed characters are A-Z, a-z, 0-9, "#" and "-" |
order_date | string Timestamp of order creation. The format should be yyyy-MM-dd HH:mm:ss. Timezone is IST. |
customer_name required | string Customer's name. Non-English characters are not allowed. |
customer_phone required | number [ 10 .. 11 ] characters Customer's contact number. Should be valid 10 digit mobile number or 11 digit landline number. |
customer_email | string Customer's Email |
delivery_address1 required | string <= 100 characters Customer's Address Line 1. Non-English characters are not allowed. |
delivery_address2 | string <= 100 characters Customer's Address Line 2. Non-English characters are not allowed. |
delivery_city required | string <= 50 characters Delivery City. Non-English characters are not allowed. |
delivery_pincode required | integer [ 6 .. 6 ] Delivery pincode |
order_total required | number <float> Total Order Value. Allowed to have max two decimal places. |
payment_method required | string Enum: "cod" "prepaid" Type of order, whether COD(Cash on Delivery) or Prepaid. |
required | Array of objects [ 1 .. 50 ] items Details of Order Items |
{- "order_id": "1234567",
- "order_date": "2021-02-12 12:30:10",
- "customer_name": "string",
- "customer_phone": 0,
- "customer_email": "string",
- "delivery_address1": "string",
- "delivery_address2": "string",
- "delivery_city": "string",
- "delivery_pincode": 6,
- "order_total": "101.50",
- "payment_method": "cod",
- "order_items": [
- {
- "name": "string",
- "sku": "string",
- "quantity": 1,
- "selling_price": "10.50"
}
]
}
{- "dash101_order_id": "2345675432",
- "order_status": "Created",
- "order_status_code": "1"
}
This API should be used to create an Order on Dash101's platform. All the required parameters should be passed for a successful call. Note:
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
order_id required | string [ 1 .. 20 ] characters Your Platform's Order Id. Allowed characters are A-Z, a-z, 0-9, "#" and "-" |
order_date | string Timestamp of order creation. The format should be yyyy-MM-dd HH:mm:ss. Timezone is IST. |
customer_name required | string Customer's name. Non-English characters are not allowed. |
customer_phone required | number [ 10 .. 11 ] characters Customer's contact number. Should be valid 10 digit mobile number or 11 digit landline number. |
customer_email | string Customer's Email |
delivery_address1 required | string <= 100 characters Customer's Address Line 1. Non-English characters are not allowed. |
delivery_address2 | string <= 100 characters Customer's Address Line 2. Non-English characters are not allowed. |
delivery_city required | string <= 50 characters Delivery City. Non-English characters are not allowed. |
delivery_pincode required | integer [ 6 .. 6 ] Delivery pincode |
order_total required | number <float> Total Order Value. Allowed to have max two decimal places. |
payment_method required | string Enum: "cod" "prepaid" Type of order, whether COD(Cash on Delivery) or Prepaid. |
required | Array of objects [ 1 .. 50 ] items Details of Order Items |
{- "order_id": "1234567",
- "order_date": "2021-02-12 12:30:10",
- "customer_name": "string",
- "customer_phone": 0,
- "customer_email": "string",
- "delivery_address1": "string",
- "delivery_address2": "string",
- "delivery_city": "string",
- "delivery_pincode": 6,
- "order_total": "101.50",
- "payment_method": "cod",
- "order_items": [
- {
- "name": "string",
- "sku": "string",
- "quantity": 1,
- "selling_price": "10.50"
}
]
}
{- "dash101_order_id": "2345675432",
- "order_status": "Created",
- "order_status_code": "1",
- "message": "Order already present"
}
This API should be used to cancel orders in bulk. Max 10 orders are allowed be cancelled in one request. Both your platform's order id(against key order_id) and Dash101's order id(against key dash101_order_id) can be passed in the cancellation request. Note:
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
required | Array of objects [ 1 .. 10 ] items |
{- "order_ids": [
- {
- "order_id": "123456"
}
]
}
{- "uncancelled_order_ids": [
- {
- "order_id": "string",
- "error": "string"
}
], - "uncancelled_dash101_order_ids": [
- {
- "dsh101_order_id": 1234554321,
- "error": "string"
}
], - "cancelled_order_ids": [
- "string"
], - "cancelled_dash101_order_ids": [
- 1234554321
]
}
This API should be used to track an order. Either order_id or dash101_order_id needs be passed to fetch order details.
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
dash101_order_id | any If details of order needs to fetched through Dash101's order id, then it needs to passed against this parameter. |
order_id | any If details of order needs to fetched through Your platform's order id, then it needs to passed against this parameter. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
{- "order_details": {
- "order_id": "34566GQ",
- "dash101_order_id": 5432123456,
- "suborder_details": [
- {
- "dash101_suborder_id": 678998765,
- "product_name": "Cotton Shirt",
- "courier_name": "Bluedart",
- "awb_code": "string",
- "tracking_status": "Created",
- "tracking_status_code": "1",
- "pickup_date": "2021-01-15 10:12:12",
- "delivered_date": "2021-01-15 10:12:12",
- "tracking_url": "string",
- "suborder_track_activities": [
- {
- "status_date": "2021-01-12 14:05:11",
- "status": "Created",
- "status_code": "1",
- "attempt_number": "3",
- "reason": "Rejected by customer"
}
]
}
]
}
}
Dash101 provides APIs to create and get pickup locations. You can create a pickup location and use it for creating a shipment
This API should be used to create a pickup location to be used for pickup while creating a shipment Notes:
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
pickup_seller_name required | string [ 1 .. 100 ] characters Full name of the seller. Non English characters are not allowed |
pickup_seller_phone required | string Customer's contact number. Should be valid 10 digit mobile number. |
pickup_address1 required | string [ 10 .. 100 ] characters Flat number and building name of the pickup address. Non English characters are not allowed. |
pickup_address2 required | string [ 1 .. 100 ] characters Road and locality of the pickup address. Non English characters are not allowed. |
pickup_landmark | string Pickup address landmark, if any. Non English characters are not allowed |
pickup_city required | string <= 50 characters Pickup address city. Non English characters are not allowed |
pickup_pincode required | string 6 characters Pickup address pincode. Should be a valid pincode. |
{- "pickup_seller_name": "El Nino",
- "pickup_seller_phone": "8421019501",
- "pickup_address1": "1 XYZ Apartments",
- "pickup_address2": "ABC Road KMN Nagar",
- "pickup_landmark": "Famous Stall",
- "pickup_city": "Mumbai",
- "pickup_pincode": "400080"
}
{- "pickup_location_id": "8921105879"
}
This API should be used to get all the pickup locations available to create a shipment.
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
{- "available_pickup_locations": [
- {
- "pickup_location_id": 1021501251,
- "pickup_seller_name": "El Nino",
- "pickup_seller_phone": 5,
- "pickup_address_1": "123 ABC Appartments",
- "pickup_address_2": "XYZ Road KLM Nagar",
- "pickup_landmark": "Statue of liberty",
- "pickup_city": "Atlantis",
- "pickup_pincode": "414141"
}
]
}
Shipment APIs provide functionality to manage shipments against an order which is created. You can create a shipment against a valid order.
Once a pickup location is successfully created, you can use this API to ship an order created via direct integration. Either order_id or dash101_order_id needs to be passed to create a shipment against it. Notes:
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
order_id | string [ 1 .. 20 ] characters Your Platform's Order Id to create a shipment against it. Allowed characters are A-Z, a-z, 0-9, "#" and "-". If dash101_order_id has been provided then this has to be blank. |
dash101_order_id | string Dash 101 Order Id to create shipment against it. If order_id has been provided then this has to be blank. |
courier_partner_id required | string The courier partner id through which order has to be shipped. |
dead_weight required | string The dead weight (in kgs) of the shipment to be created. Minimum value 0.1 and maximum value 10. |
length required | string The length (in cms) of the shipment to be created. Minimum value 0.5 |
breadth required | string The breadth (in cms) of the shipment to be created. Minimum value 0.5 |
height required | string The height (in cms) of the shipment to be created. Minimum value 0.5 |
pickup_location_id required | string The pickup location id for the shipment to be created. |
{- "order_id": "1234567",
- "dash101_order_id": "8421019501",
- "courier_partner_id": "4",
- "dead_weight": "4.3",
- "length": "1.2",
- "breadth": "5.2",
- "height": "2.6",
- "pickup_location_id": "8501501010"
}
{- "tracking_number": "8921105019012940",
- "courier_partner_id": "4",
- "courier_partner_name": "Delhivery",
- "scheduled_pickup_date": "2020-2-2",
- "scheduled_pickup_timeslot": "13:00-18:00",
- "pickup_request_number": "2409124021",
- "routing_code": "PUN/HJD/",
- "order_status": "Pending Pickup",
- "order_status_code": "2.5",
- "shipping_charges": "13.23",
- "cod_charges": "1.3",
}
This API should be used to re-attempt delivery for a shipment in the failed delivery state.
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
trackingNumber required | string Tracking number of shipment. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
preferred_delivery_date | string The date on which the seller wants the delivery of the shipment to be reattempted. Format would be yyyy-MM-dd If registering response before 4PM , minimum date should be tomorrow's date , else minimum date should day after day after tomorrow's date |
updated_customer_address | string The updated address of the customer (should only include flat number, building name, road, locality, landmark; should NOT include city, state or pincode). Original address will be considered if this is empty. Should be at least 10 characters long. |
alternate_customer_mobile | string Alternate mobile number of the customer on which the delivery agent could call the customer for delivery. |
{- "preferred_delivery_date": "2020-02-12",
- "updated_customer_address": "ABC DEF GHIJ LMNO",
- "alternate_customer_mobile": "9999999990"
}
{- "status_code": 200,
- "message": "success"
}
This API should be used to give an RTO (Return to Origin) instruction on a shipment in the failed delivery state
apiUserId required | integer <int64> Pass API User Id, created from Dash101's API Integration section. |
trackingNumber required | string Tracking number of shipment. |
Authorization required | string Example: Authorization:Bearer <token value> Authorization Token |
Content-Type required | string Value: "application/json" |
rto_reason required | string Enum: 1 2 3 4 5 6 Reason for RTO. Should be a value between 1 and 6 (both inclusive)
| ||||||||||||||
rto_comments | string Any additional comments the seller wishes to provide. Maximum 255 characters |
{- "rto_reason": "1",
- "rto_comments": "Customer MIA"
}
{- "status_code": 200,
- "message": "success"
}