Speed Trans API Integration
- 1 Introduction
- 2 Booking API
- 3 Process EWay API
- 3.1 Request Body
- 3.2 Sample cURL
- 3.3 Sample Response Success :
- 3.4 Sample Response Failure :
- 3.5 Tracking API
- 3.6 Request Body:
- 3.7 Sample cURL :
- 3.8 Sample Response Success :
- 3.9 Sample Response Failure :
- 3.10 Status Mapping
- 3.11 NDR Mapping
- 4 Positive Test Cases
- 5 Negative Test Cases
- 6 Boundary Test Cases
Jira Link | |
---|---|
Document owner | @Khushi Verma |
Introduction
Carrier Partner : Speed Trans
Version :
Logo :
Integrations :
Booking
Process EWay
Tracking
Documentation :
Base URLs : http://speedextrans.com/api/relencelrdetails/
Booking API
URL : http://speedextrans.com/api/RelenceLrDetails/ProcessCnote
<Booking API has <POST> request type>
Request Body
Body Parameter | Shipsy Field | Mandatory | Data Type | Character Limit | Valid values/examples |
---|---|---|---|---|---|
userCode | address_hub_code else hub_code (Will be handled via CFM) | Yes | string | 6 | R00608 (Will be provided by the Speed Trans Team)
|
Password | address_hub_code else hub_code (Will be handled via CFM) | Yes | string | 6 | R00608 (Will be provided by the Speed Trans Team) |
consigneeCode | destination_details.account_id | Yes | string | 12 | xxxxxxxxxxxxxx |
consigneeAddress | destination_details.address_line_1+2+3+4 | No | string | 300 | Address of the consignee |
consigneePinCode | destination_details.pincode | No | string | 6 | Pincode of the consignee |
consigneeEmail | destination_details.email | No | string | 200 | Email Address of the consignee |
consigneePhone | destination_details.phone | No | string | 50 | Phone number of the consignee |
consignorAddress | origin_details.address_line_1+2+3+4 | No | string | 300 | Address of the consignor |
toPinCode | destination_details.pincode | No | string | 6 | Pincode of the consignor |
consignorEmail | origin | No | string | 200 | Email Address of the consignor |
consignorPhone | origin_details.phone | No | string | 25 | Phone number of the consignor |
| sap_trip_number | Yes | string | 12 |
|
weight | weight | Yes | string | 6+2 | 000.00 |
totalBoxes | piece_count() | Yes | string | 5 | Total number of boxes |
invoices.invoiceDate | eway_bill_list.invoice_date else order creation date | Yes | string | NA | YYYY/MM/DD format |
invoices.invoiceNo | eway_bill_list.invoice_number else invoice_number | Yes | string | 25 | Invoice Number Eg : 2003007915 |
invoices.invoiceValue | eway_bill_list.invoice_value else invoice_amount | Yes | string | 10+2 | Invoice Amount Eg : 15662.25 |
boxDetails.length | pieces_detail[].length | Yes | string | 2+2 | Length Eg : 10.25 |
boxDetails.breadth | pieces_detail[].breadth | Yes | string | 2+2 | Breadth Eg : 10.25 |
boxDetails.height | pieces_detail[].height | Yes | string | 2+2 | Height Eg : 10.25 |
boxDetails.volume | pieces_detail[].volume | No | string | 2+2 | Volume Eg : 67 |
boxDetails.NoofBox | if separate child CN is on, | No | string | 4 | Total number of boxes Eg : 20 |
Response Body
Body Parameter | Shipsy Field |
---|---|
LrNo | courier_partner_reference_number |
Error Detail | failure_reason |
ErrorStatusCode | failure_reason_code |
UserCode | Password | Warehouse / Plant |
---|---|---|
R00608 | R00608 | Y524 Trends Tumkur |
R01443 | R01443 | R975 Trends Chennai |
R01774 | R01774 | SB41 Trends Nilakottai |
R01874 | R01874 | S535 Footprint nelamangala |
R01889 | R01889 | S352 Footprint Dankuni |
R01838 | R01838 | SJ14 Trends Hoskote |
R01888 | R01888 | R741 Trends Dankuni |
R01890 | R01890 | SYAR Trends Dankuni |
The masters maintained for this will be dynamic.
Sample cURL :
curl --location 'http://speedextrans.com/api/RelenceLrDetails/ProcessCnote' \
--header 'Content-Type: application/json' \
--data '{
"lrdetail": {
"userCode": "R01774",
"Password": "R01774",
"consigneeCode": "10101",
"consigneeAddress": "SSSS",
"consigneePinCode": "540002",
"consigneeEmail": "consigneeEmail",
"consigneePhone": "consigneePhone",
"fromPinCode": "fromPinCode",
"consignorAddress": "consignorAddress",
"consignorPinCode": "consignorPinCode",
"consignorEmail": "consignorEmail",
"consignorPhone": "consignorPhone",
"toPinCode": "67002",
"weight": "4000.00",
"tripNo": "1234567890",
"totalBoxes": "500",
"invoiceDetail": [
{
"invoiceDate": "2024-10-01",
"invoiceNo": "50000",
"invoiceValue": "70000"
}
],
"boxNoDetail": [
{
"boxNo": "123456"
}
],
"boxDetail": [
{
"breadth": "10",
"height": "5",
"length": "6",
"numberOfBoxes": "20",
"volume": "67"
}
]
}
}'
Sample Response Success :
{
"speedlrNo": "2",
"speedstatus": "",
"speedmessage": "Sucessfull :2"
}
Sample Response Failure :
{
"message": "An error has occurred."
}
Process EWay API
URL : http://speedextrans.com/api/relencelrdetails/ProcessEway
<Process EWay API has <POST> request type>
This API is for for pushing Ewaybill Nos against LR
When shipment data is present in the softdata call, then both the Booking API and EWay Bill API will be called together.
Request Body
Body Parameter | Shipsy Field |
---|---|
UserCode | Creds |
Password | Creds |
lrNo | courier_partner_reference_number |
| eway_bill_list.invoice_number else invoice_number |
| eway_bill_list.ewb_number else eway_bill |
Sample cURL
Sample Response Success :
Sample Response Failure :
Tracking API
URL :http://speedextrans.com/api/relencelrdetails/ProcessTracking
<Tracking API has <POST> request type>
Request Body:
Body Parameter | Shipsy Field |
---|---|
userCode | Creds |
Password | Creds |
lrno | courier_partner_reference_number |
Sample cURL :
Sample Response Success :
Sample Response Failure :
Status Code | Status | Remarks |
---|---|---|
0 | Booked |
|
1 | Outward / In-Transit |
|
2 | Reached at Branch |
|
3 | Out for Delivery |
|
4 | Delivered |
|
5 | Undelivered | Can check Remarks in UndeliveredRemarks |
Status Mapping
3PL Status | Shipsy Status |
---|---|
Booking Accepted | pickup_awaited |
Outward | intransittohub |
In Transit | intransittohub |
| reachedathub |
Out for Delivered | outfordelivery |
Delivered | delivered |
NDR Mapping
Reason Name | NDR Mapping |
---|---|
Natural Calamity | others |
Office Closed | consignee_not_available |
Customer not at destination | consignee_not_available |
Refused | consignee_refused_delivery |
Accident or Break Down | others |
Hold by Store | others |
No Space | others |
Box Lost | others |
RTO | others |
Appointment Delivery | others |
HU Issue (Handling Unit Issue) | others |
PI Issue (Pincode Issue) | others |
Positive Test Cases
Test Case ID | Description | Steps | Expected Result | Comments |
---|---|---|---|---|
TC01 | Successful order creation with mandatory fields | Provide valid values for all mandatory fields in the request body. | { “speedlrno” : “2”, “speedstatus” : ““, “speedmessage” : “successful : 2” } | Ensure the order is successfully created with the provided details. |
TC02 | Successful order creation with all fields | Provide valid values for all fields in the request body, including optional fields. | { “speedlrno” : “2”, “speedstatus” : ““, “speedmessage” : “successful : 2” } | Ensure the order is successfully created with all provided details. |
Negative Test Cases
Test Case ID | Description | Steps | Expected Result | Comments |
---|---|---|---|---|
TC03 | Missing mandatory field (e.g., consignorCode ) | Remove a mandatory field (e.g., consignorCode) from the request body. | { “error” : “An error has occurred.” }
| Ensure an error is returned for missing mandatory fields. |
TC04 | Missing mandatory field (e.g., weight) | Remove a mandatory field (e.g., weight) from the request body. | { “error” : “An error has occurred.” } | Ensure an error is returned for missing mandatory fields. |
Boundary Test Cases
Test Case ID | Description | Steps | Expected Result | Comments |
---|---|---|---|---|
TC05 | Maximum character limit for consignor code | Provide consignor code with 12 characters. | Response: SUCCESS or ERROR | Ensure the system handles the maximum character limit for consignor code correctly. |
TC06 | Maximum character limit for Invoice Number | Provide a Invoice Number with 25 characters. | Response: SUCCESS or ERROR | Ensure the system handles the maximum character limit for consignor.name correctly. |
TC07 | Maximum character limit for Invoice Number | Provide a Invoice Number with 20 characters. | Response: SUCCESS or ERROR | Ensure the system handles the maximum character limit for Invoice Number correctly. |
Version | Date | Comment |
---|---|---|
Current Version (v. 17) | Feb 03, 2025 15:17 | Khushi Verma |
v. 16 | Jan 21, 2025 04:17 | Khushi Verma |
v. 15 | Jan 09, 2025 07:54 | Khushi Verma |
v. 14 | Nov 26, 2024 11:27 | Khushi Verma |
v. 13 | Nov 26, 2024 08:31 | Khushi Verma |
v. 12 | Nov 25, 2024 11:20 | Khushi Verma |
v. 11 | Oct 22, 2024 07:35 | Khushi Verma |
v. 10 | Oct 03, 2024 05:47 | Khushi Verma |
v. 9 | Oct 01, 2024 12:50 | Khushi Verma |
v. 8 | Sept 30, 2024 09:40 | Khushi Verma |
v. 7 | Sept 27, 2024 10:25 | Khushi Verma |
v. 6 | Sept 27, 2024 09:38 | Khushi Verma |
v. 5 | Sept 27, 2024 07:35 | Khushi Verma |
v. 4 | Sept 25, 2024 11:45 | atharav.1 |
v. 3 | Sept 24, 2024 05:34 | Khushi Verma |
v. 2 | Sept 23, 2024 09:04 | Khushi Verma |
v. 1 | Sept 22, 2024 08:03 | Khushi Verma |