Use this endpoint to register multiple parcels. A maximum of 100 parcels can be registered at one time.
Path
POST /register
Request
The request body is an array of parcels where each parcel must have 3 key pieces of information -
- Info - this contains information about the parcel (e.g. weight, dimensions, tracking number, etc.)
- Sender - describes the contact information of the parcel’s sender
- Receiver - desribes the contact information of the parcel’s receiver
A sample request body looks like below -
{
"customer_id": "6097515d8765a531d11c6404",
"shipper_id": "608bbf6790528b6eb5d27d37",
"parcels": [
{
"info": {
"tracking_no": "TRI12323128",
"weight": "2.0 KG",
"quantity": 1,
"price": 5,
"currency": "RM",
"fragile": true
},
"sender": {
"name": "ThiyraashSender",
"phone_no": "+01116495901",
"phone_alt": "+01116495901",
"add1": "NO 20,TAMAN BAHAGIA SS2 PETALING JAYA",
"add2": "",
"add3": "",
"add4": "",
"postcode": "40000",
"city": "Kuala Lumpur",
"state": "Kuala Lumpur",
"country": "MY"
},
"receiver": {
"name": "Baraa",
"phone_no": "+01116495901",
"phone_alt": "+01116495901",
"add1": "",
"add2": "",
"add3": "",
"add4": "",
"postcode": "40000",
"city": "Kuala Lumpur",
"state": "Kuala Lumpur",
"country": "MY"
}
}
]
}
Parcel Fields
Field | Details | Comments |
---|---|---|
customer_id | string , required | Customer Id |
shipper_id | string , required | Shipper Id |
parcels.info | Object , required | Parcel Info |
parcel.sender | Object , required | Sender Info |
parcel.receiver | Object , required | Receiver Info |
parcel | array of objects , required | List of Parcel |
parcel.info.tracking_no | string ,min 6 chactacter ,required | Tracking Number |
parcel.info.weight | string , required | Weight |
parcel.info.quantity | int , required , >= 1 | Quantity |
parcel.info.currency | string , optional | Currency |
parcel.info.price | double , optional | Price |
parcel.info.fragile | bool , default = false | Fragile |
parcel.sender.name | string , required | Name |
parcel.sender.phone | string , required | Phone |
parcel.sender.alternate | string , optional | Alternate Phone |
parcel.sender.email | string , optional | |
parcel.sender.add1 | string , required | Address Line 1 |
parcel.sender.add2 | string , optional | Address Line 2 |
parcel.sender.add3 | string , optional | Address Line 3 |
parcel.sender.add4 | string , optional | Address Line 4 |
parcel.sender.postcode | string , required | Postcode |
parcel.sender.city | string , required | City |
parcel.sender.state | string , required | State |
parcel.sender.country | string , required | Country List |
parcel.receiver.name | string , required | Name |
parcel.receiver.phone | string , required | Phone |
parcel.receiver.alternate | string , optional | Alternate Phone |
parcel.receiver.email | string , optional | |
parcel.receiver.add1 | string , required | Address Line 1 |
parcel.receiver.add2 | string , optional | Address Line 2 |
parcel.receiver.add3 | string , optional | Address Line 3 |
parcel.receiver.add4 | string , optional | Address Line 4 |
parcel.receiver.postcode | string , required | Postcode |
parcel.receiver.city | string , required | City |
parcel.receiver.state | string , required | State |
parcel.receiver.country | string , required | Country List |
Response
On success, response looks like below -
{
"error": 0,
"message": "Parcel has been successfully registered",
"data": {}
}
If there is server error, the response would look like below -
{
"error": 500,
"message": "Internal Error occurred"
}
If validation on body on the request failed ( Example , missing required field) -
{
"error": 400,
"message": "Some parcels failed to registered",
"data": {
"errors": [
{
"tracking_no": "TRI3212323",
"error": "Weight cannot be empty"
}
]
}
}