Clickway_API_Technical_Document
Clickway_API_Technical_Document
Click-Way API
Technical Document
[Author name]
3-1-2023
0
Contents
Introduction ......................................................................................................................................... 2
Login ...................................................................................................................................................... 2
Json Objects ........................................................................................................................................ 2
Receive Json .................................................................................................................................... 2
Retuned Json ................................................................................................................................... 2
Get Quote ........................................................................................................................................... 3
Json Objects ........................................................................................................................................ 3
Receive Json .................................................................................................................................... 3
Retuned Json ................................................................................................................................... 4
Create Shipment................................................................................................................................ 5
Json Objects ........................................................................................................................................ 5
Receive Json .................................................................................................................................... 5
Retuned Json ................................................................................................................................... 6
Json Object Examples.............................................................................................................................. 7
Login Objects....................................................................................................................................... 7
Receive Object ................................................................................................................................ 7
Return Object .................................................................................................................................. 7
Get Quote Objects .............................................................................................................................. 7
Receive Object ................................................................................................................................ 7
Return Object .................................................................................................................................. 7
Create Shipment Objects .................................................................................................................... 8
Receive Object ................................................................................................................................ 8
Return Object .................................................................................................................................. 8
1|Page
Introduction
This document was designed for IT professionals as a technical document to communicate and
understand the Click-Way API process.
1) Login
2) Get Quote
3) Create Shipment
4) Json Sample Objects
All responses include a statusCode if this is 0 the transaction was successful any other code refers to
various different issues while posting/processing of information.
Login
The login process needs to happen first and returns a key that is valid for 1 hour and is used in the
headers for every post done.
https://www.clickwaycouriers.co.za/API/Login
Json Objects
Receive Json
Field Name Description Data Type Required
Username Email that was registered on Click-Way String True
website
Password Password used to login to Click-Way String True
website
Retuned Json
Field Name Description Data Type
status_code The status code of the transaction int
Status_description The description of the status string
Key This is the Authentication Key string
2|Page
Get Quote
This post also requires a ‘ApiKey’ Header that is returned by the Login Method.
This Is the second step in creating a shipment, it is vital do this step not only to get the quoted price
for the parcels being sent but also to validate the suburb and postal codes for the shipment.
https://www.clickwaycouriers.co.za/API/GetQuote
Json Objects
Receive Json
Field Name Description Data Type Required
SenderSuburb Sender Postal code String True
SenderPostalCode Sender Postal Code String True
ReceiverSuburb Receiver Suburb String True
ReceiverPostalCode Receiver Postal Code String True
Parcels Array of Parcel Objects Array True
Parcel
Field Name Description Data Type Required
Height The height of the parcel being sent Decimal True
Width The width of the parcel being sent Decimal True
Length The length of the parcel being sent Decimal True
Weight The weight of the parcel being sent Decimal True
Description This is a description of the what’s in the String True
parcel that’s being sent.
3|Page
Retuned Json
Field Name Description Data Type
status_code The status code of the transaction int
Status_description The description of the status string
This is a list of errors that went wrong with the Array of
ErrorList
transaction strings
This is the closest match to the suburb that was
SenderSuburb submitted, this is also the suburb that should be used in
the Create Shipment Post String
This is the closest match to the postal code that was
SenderPostalCode submitted, this is also the postal code that should be
used in the Create Shipment Post String
This is the closest match to the suburb that was
ReceiverSuburb submitted, this is also the suburb that should be used in
the Create Shipment Post String
This is the closest match to the postal code that was
ReceiverPostalCode submitted, this is also the postal code that should be
used in the Create Shipment Post String
Quotes Array of Quote object Array
Quote
Field Name Description Data Type
ServiceType The service type being quoted for. String
ONP => Overnight, delivery the next working day.
PEC = > Economy, 1 - 3 Days Delivery.
QuotedPrice This is the cost of the shipment. Decimal
This is excluding the cost for insurance insurance.
4|Page
Create Shipment
This post also requires a ‘ApiKey’ Header that is returned by the Login Method.
https://www.clickwaycouriers.co.za/API/CreateShipment
Json Objects
Receive Json
Field Name Description Data Type Required
SenderName The Name of the sender String True
SenderContactNumber The Mobile number of the sender. String True
This should be a valid 10 digit ZA
mobile number country dialing code
should not be added
SenderEmailAddress The email Address of the sender String True
SenderAddress The Address of the sender. String True
SenderBussinessPark This is an additional address field for String False
Estate/Business Park/Complex of the
sender
SenderSuburb This is the Suburb of the sender. String True
This field also needs to be populated
by the SenderSuburb returned from
the GetQuote Post.
SenderPostalCode This is the Postal code of the sender. String True
This field also needs to be populated
by the SenderPostalCode returned
from the GetQuote Post.
ReceiverName The Name of the receiver String True
ReceiverContactNumber The Receiver Mobile Number. String True
This should be a valid 10 digit ZA
mobile number country dialing code
should not be added
ReceiverEmailAddress The Email address of the receiver String True
ReceiverAddress The Address of the Receiver String True
ReceiverBusinessPark This is an additional address field for String False
Estate/Business Park/Complex of the
receiver
ReceiverSuburb This is the Suburb of the receiver. String True
This field also needs to be populated
by the ReceiverSuburb returned from
the GetQuote Post.
ReceiverPostalCode This is the Postal code of the receiver. String True
This field also needs to be populated
by the ReceiverPostalCode returned
from the GetQuote Post.
5|Page
ServiceType This is the chosen Service type from String True
the GetQuote Post
CollectToday True if the collection needs to be Boolean True
booked for today.
False if the collection needs to be
booked for the next business day.
Note: Same day collections only
available before 14:00 if after this
time it will default to the following
business day.
RequireInsurance True if insurance is required on the Boolean True
shipment.
Note. This was not calculated into the
Quoted Value, Insurance is only
available for Insurance Value
between R500 and R5000.
InsuranceAmount This is the Rand Value of the Decimal Only if
Shipment. RequireInsurance
is True
DiscountCode This is a Promotional Code for The String False
Click-Way website
Parcels Array of Parcel Objects Array True
Parcel
Field Name Description Data Type Required
Height The height of the parcel being sent Decimal True
Width The width of the parcel being sent Decimal True
Length The length of the parcel being sent Decimal True
Weight The weight of the parcel being sent Decimal True
Description This is a description of the what’s in the String True
parcel that’s being sent.
Retuned Json
Field Name Description Data Type
status_code The status code of the transaction Int
Status_description The description of the status String
Array of
ErrorList This is a list of errors that went wrong with the transaction
strings
WaybillNumber The Waybill Number used for tracking the shipment. String
DownloadURL This is a URL where the PDF of the Waybill can be viewed. String
6|Page
Json Object Examples
This is the layout of the Json object being sent and received. The values used are demonstration
purposes only and cannot be used for testing.
Login Objects
Receive Object
{
"Username": "[email protected]",
"Password": "Password@1234"
}
Return Object
{
"statusCode": 0,
"statusDescription": "transaction successfull",
"Key": "10c30f7b11a64554901165c07dae01a2"
}
7|Page
Create Shipment Objects
Receive Object
{
"SenderName": "John Doe",
"SenderContactNumber": "0726548265",
"SenderEmailAddress": "[email protected]",
"SenderAddress": "1 Doe str",
"SenderBussinessPark": "",
"SenderSuburb": "Sandton",
"SenderPostalCode": "2090",
"ReceiverName": "r Test",
"ReceiverContactNumber": "0854562189",
"ReceiverEmailAddress": "[email protected]",
"ReceiverAddress": "2 Jane Str",
"ReceiverBusinessPark": "",
"ReceiverSuburb": "Bonaero Park",
"ReceiverPostalCode": "1619",
"ServiceType": "ONP",
"CollectToday": true,
"RequireInsurance": false,
"InsuranceAmount": 0,
"DiscountCode": "",
"Parcels": [
{
"Height": 30,
"Width": 40,
"Length": 1,
"Weight": 1,
"Description": "Test Parcel"
}
]
}
Return Object
{
"statusCode": 0,
"statusDescription": "Transaction Successfull",
"ErrorList": [],
"WaybillNumber": "CWC14271001",
"DownloadURL":" https://www.clickwaycouriers.co.za/Home/PrintWaybill/11041"
}
8|Page