Dash101 Direct Integration (1.0)

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.

Getting Started

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:

  • Once the password is reset for the API user, all previously generated authorization tokens would be invalidated.
  • After marking an API user inactive, all API calls for the user would be temporarily blocked.

Document and API usage guidelines

  • order_id in APIs request and response would refer to order id provided by you whereas, dash101_order_id would refer to Dash101's order id
  • We may be adding extra fields in the response of certain APIs as we build, so implementation should be done in such a way that integration doesn't fail in addition of fields in response.

Errors and Response Codes

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.

Order Status Codes and Order Status

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

Authorization

  • The authorization token is required to use all protected APIs of Dash101. Use this API to validate your API user and generate an authorization token.
  • The authorization token is valid for 20 days from the time of generation. So you need to re-generate the token once it expires.
  • Make sure, not to share the authorization token in publicly accessible areas.
  • The authorization token needs to be passed in the header of all API calls in the format Authorization:Bearer {{Token Value}}

Generate authentication token

path Parameters
apiUserId
required
integer <int64>

Pass API User Id, created from Dash101's API Integration section.

header Parameters
Content-Type
required
string
Value: "application/json"
Request Body schema: application/json
email
required
string

API User's email

password
required
string

API User's password

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "authorization_token": "..."
}

Courier Partners

You can check the serviceability between pickup and drop pincodes along with the prices and details of courier partners in real-time.

Check pincode serviceability and get shipping price

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.

path Parameters
apiUserId
required
integer <int64>

Pass API User Id, created from Dash101's API Integration section.

query Parameters
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.

header Parameters
Authorization
required
string
Example: Authorization:Bearer <token value>

Authorization Token

Content-Type
required
string
Value: "application/json"

Responses

Response samples

Content type
application/json
{
  • "available_courier_companies": [
    ]
}

Get all courier partners available

This API should be used to get all the courier partners available to create a shipment.

path Parameters
apiUserId
required
integer <int64>

Pass API User Id, created from Dash101's API Integration section.

header Parameters
Authorization
required
string
Example: Authorization:Bearer <token value>

Authorization Token

Content-Type
required
string
Value: "application/json"

Responses

Response samples

Content type
application/json
{
  • "available_courier_companies": [
    ]
}

Orders

Dash101 provides APIs to manage the flow of order creation. You can create, cancel in bulk or track the status of an order.

Create an order V1

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:

  • Once order is created against your platform's order_id, it should be not repeated again to create another order. Such request would be rejected, even if previously created order is cancelled.

path Parameters
apiUserId
required
integer <int64>

Pass API User Id, created from Dash101's API Integration section.

header Parameters
Authorization
required
string
Example: Authorization:Bearer <token value>

Authorization Token

Content-Type
required
string
Value: "application/json"
Request Body schema: 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

Responses

Request samples

Content type
application/json
{
  • "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",
    <