1.       Enterprise Electronic Labelling System

This document outlines the specifications required for clients who require access to our API system to generate electronic labels.

EziShipping provides its API consignment generation in JSON format.

 

PLEASE NOTE:

Any API Integration should not have more than 2 API calls per min. Any accounts that exceed this limit may be notified, and any excessive calls may be blocked.

Non-payment of Account may result in immediate suspension of access to all our system including API.

2.       Consignment Generation (JSON) Request

 

The client sends EziShipping a request in the following format and if it meets all the
criteria, the response will be in a JSON format with the tracking information.

The Request details are as below:

HTTP Methods POST
Authentication method Basic Auth
API URL
MRL Logistics
https://api.mrllogistics.com/v3.4/customers/{CustomerID}/consignment/
API URL
Sampson Express
https://api.sampsonexpress.com.au/v3.4/customers/{CustomerID}/consignment/

The below information will be provided to by the IT department when API access activates on your account.

  • API Username
  • API Key (Password)
  • Customer ID
  • Account Number
  • Account Name
  • Carrier Account Number

2.1     Fields description

Category Field Name Required Filed Field Type and Size Description
Account Details        
accountNumber YES numeric Will be provided by carrier
  accountName YES Will be provided by carrier
  carrierAccountNumber YES numeric

digits

Will be provided by carrier
Connote Details
  bookingType YES 1 character “D” (Delivery),“R” (Return),“T” (Third Party)
  serviceType YES 5 characters “EXPKG” (KG Service for parcel, box, non-palletised freight)

“EXPFP” (Full Pallet Service)

“EXPHP” (Half Pallet Service)

  ref1 NO 100 characters
  ref2 NO 40 characters
Pickup Address
  address1 YES 200 characters
  address2 NO 200 characters
  suburb YES
  State YES 3 letters
  postcode YES 4 digits
  company YES 150 characters
  Contact NO 200 characters
  number NO 20 characters
  email NO 150 characters
Delivery Address
  address1 YES 200 characters
  address2 NO 200 characters
  suburb YES
  State YES 3 letters
  postcode YES 4 digits
  company YES 150 characters
  Contact NO 200 characters
  number NO 20 characters
  email NO 150 characters
Pickup/Deliver Options
  scheduledDate NO 10 characters Delivery schedule date. The date should not be a weekend, or not in the past. E.G. If today’s date is 02/01/2019, and you put 31/01/2018, it will not accept it as that date is in the past
  isTimeslotDelivery YES 1 letter “Y” or “N”

 

  scheduledTimeStart NO 5 characters This should be filled if “isTimeslotDelivery” is Y
  scheduledTimeEnd NO 5 characters This should be filled if “isTimeslotDelivery” is Y
  despatchDate 10 characters The date should not be a weekend, or not in the past. E.G. If today’s date is 02/01/2019, and you put 31/01/2018, it will not accept it as that date is in the past
  specialInstruction 40 characters
  tailLiftPickup 1 letter “Y” or “N”
  tailLiftDelivery 1 letter “Y” or “N”
  handUnload 1 letter “Y” or “N”
Items
  description YES string Pallet, Box, skid, roll and …
  qty YES numeric
  weight YES numeric In KG
  Length YES numeric In CM
  width YES numeric In CM
  height YES numeric In CM
  Ref NO 15 characters
  dgGoods Yes 1 letter “Y” or “N”
CHECP / LOSCAM NO This section is optional
  qty YES numeric
  action YES “exchange” or “transfer”
  dockNumber NO character This field is not available in “exchange” action.

2.1     Sample query:

3	{
4	    "accountNumber": "1234567",
5	    "accountName": "AccountName",
6	    "carrierAccountNumber": " PLT1234",
7	    "bookingType ": "D",
8	    "serviceType": "EXPFP",
9	    "ref1": "ref1",
10	    "ref2": "ref2",
11	    "pickupAddress": {
12	        "address1": "19 Studley Court",
13	        "address2": "",
14	        "suburb": "Derrimut",
15	        "state": "VIC",
16	        "postcode": "3030",
17	        "company": "SENDER COMPANY",
18	        "contact": "TEST TEAM",
19	        "number": "0390000000",
20	        "email": "[email protected]"
21	    },
22	    "deliveryAddress": {
23	        "address1": "WAREHOUSE A/B",
24	        "address2": " 6 INGLIS ROAD",
25	        "suburb": "INGLEBURN",
26	        "state": "NSW",
27	        "postcode": "2565",
28	        "company": "TEST COMPANY",
29	        "contact": "TEST CONTACT",
30	        "number": "0390000000",
31	        "email": "[email protected]"
32	    },
33	    "scheduledDate": "2019-01-30",
34	    "isTimeslotDelivery": "y",
35	    "scheduledTimeStart": "09:15",
36	    "scheduledTimeEnd": "12:00",
37	    "despatchDate": "2019-01-29",
38	    "specialInstruction": "special instruction",
39	    "tailLiftPickup": "Y",
40	    "tailLiftDelivery": "Y",
41	    " handUnload ": "Y",
42	    "items": [{
43	        "description": "PALLET",
44	        "palletSpaces": 1,
45	        "qty": 1,
46	        "weight": 120,
47	        "length": 120,
48	        "width": 120,
49	        "height": 160,
50	        "ref": "TEST REF1",
51	        "dgGoods": "N"
52	    }, {
53	        "description": "PALLET",
54	        "palletSpaces": 1,
55	        "qty": 1,
56	        "weight": 800,
57	        "length": 120,
58	        "width": 120,
59	        "height": 140,
60	        "ref": "TEST REF2",
61	        "dgGoods": "N"
62	    }],
63	    "chep": {
64	        "qty": 1,
65	        "action": "exchange",
66	        "dockNumber": ""
67	    },
68	    "loscam": {
69	        "qty": 1,
70	        "action": "transfer",
71	        "dockNumber": "trf12345678"
72	    }
73	}

Please note that the CHEP and Loscam (the codes in blue fonts) section are optional. Please use if the connote contains CHEP or Loscam pallets to transfer or exchange.

2.1     JSON Sample Result after you submit your data

74	{
75	    "success": true,
76	    "error": {
77	        "code": 0,
78	        "message": ""
79	    },
80	    "response": {
81	        "accountNumber": "1234567",
82	        "accountName": "AccountName",
83	        "carrierAccountNumber": "PLT1234",
84	        "connote": "CAAK090645",
85	        "bookingType": "D",
86	        "serviceType": "EXPFP",
87	        "ref1": "ref1",
88	        "ref2": "ref2",
89	        "pickupAddress": {
90	            "addressCode": "",
91	            "address1": "19 Studley Court",
92	            "address2": "",
93	            "suburb": "Derrimut",
94	            "state": "VIC",
95	            "postcode": "3030",
96	            "company": "SENDER COMPANY",
97	            "contact": "TEST TEAM",
98	            "number": "0390000000",
99	            "email": "[email protected]"
100	        },
101	        "scheduledDate": "2019-01-30",
102	        "isTimeslotDelivery": "Y",
103	        "scheduledTimeStart": "09:15",
104	        "scheduledTimeEnd": "12:00",
105	        "despatchDate": "2019-01-29",
106	        "deliveryAddress": {
107	            "addressCode": "",
108	            "address1": "WAREHOUSE A/B",
109	            "address2": " 6 INGLIS ROAD",
110	            "suburb": "INGLEBURN",
111	            "state": "NSW",
112	            "postcode": "2565",
113	            "company": "TEST COMPANY",
114	            "contact": "TEST CONTACT",
115	            "number": "0390000000",
116	            "email": "[email protected]"
117	        },
118	        "specialInstruction": "",
119	        "tailLiftPickup": "Y",
120	        "tailLiftDelivery": "Y",
121	        "handUnload": "Y",
122	        "estimatePrice": 428.26,
123	        "estimateGST": 42.83,
124	        "estimateTotalPrice": 471.09,
125	        "chep": {
126	            "qty": "1",
127	            "action": "exchange",
128	            "dockNumber": ""
129	        },
130	        "loscam": {
131	            "qty": "1",
132	            "action": "transfer",
133	            "dockNumber": "trf12345678"
134	        },
135	        "items": [{
136	                "description": "PALLET",
137	                "palletSpaces": 1,
138	                "qty": 1,
139	                "weight": 120,
140	                "length": 120,
141	                "width": 120,
142	                "height": 160,
143	                "ref": "TEST REF1"
144	            },
145	            {
146	                "description": "PALLET",
147	                "palletSpaces": 1,
148	                "qty": 1,
149	                "weight": 800,
150	                "length": 120,
151	                "width": 120,
152	                "height": 140,
153	                "ref": "TEST REF2"
154	            }
155	        ]
156	    }
157	}

3.       Book a Pickup API

The client sends EziShipping a request in the following format and if it meets all the
criteria the response will be in a JSON format with the confirmed pickup number.

The Request details are as below:

 

HTTP Methods POST
Authentication method Basic Auth
API URL
MRL Logistics
https://api.mrllogistics.com/v3.4/customers/{CustomerID}/bookpickup/
API URL
Sampson Express
https://api.sampsonexpress.com.au/v3.4/customers/{CustomerID}/bookpickup/

 

The below information will be provided to by the IT department when API access activates on your account.

  • API Username
  • API Key (Password)
  • Customer ID
  • Carrier Account Number

3.1.          Fields description

Category Field Name Required Filed Field Type and Size Description
Account Details        
carrierAccountNumber YES characters This will be provided by carrier
Pickup Date/Time
pickupDate YES 10 characters The format is “yyyy-mm-dd”

e.g. “2020-11-08”

readyTime YES “10:00”
 

Instructions

closingTime

instructions

YES

YES

 

5 characters

 

 

 

“15:00”

“some instructions”

Connotes
connotes YES 10 characters Single connote format:

“connotes”:[“CAAO1123450]

 

Multiple connote format:

“connotes”:[“CAAO1123450″,” CAAO1123451″,”CAAO1123452″, “CAAO1123453]

3.2.          Sample query:

  • Book a pickup for a single connote:
{
    "carrierAccountNumber": "PLT1234",
    "pickupDate": "2020-11-08",
    "readyTime": "10:00",
    "closingTime": "15:00",
    "instructions": "some instructions",
    "connotes": ["CAAO1123450"]
}
  • Book a pickup for multiple connotes:
{
    "carrierAccountNumber": "PLT1234",
    "pickupDate": "2020-11-08",
    "readyTime": "10:00",
    "closingTime": "15:00",
    "instructions": "some instructions",
    "connotes": ["CAAO1123450", "CAAO1123451", "CAAO1123452"]
}

3.3.          JSON Response from Ezishipping

This response is the sample for the multiple connotes request:

{
    "success": true,
    "error": {
        "code": 0,
        "message": ""
    },
    "response": {
        "carrierAccountNumber": " PLT1234",
        "bookingNo": "BP12345",
        "instructions": "some instructions",
        "pickupAddress": {
            "addressCode": null,
            "address1": "119 STUDLEY COURT",
            "address2": "",
            "suburb": "Derrimut",
            "state": "VIC",
            "postcode": "3026",
            "company": "TEST",
            "contact": "MR TEST",
            "number": "1300164797",
            "email": "[email protected]"
        },
        "tailLiftPickup": "N",
        "items": [{
                "description": " CAAO1123450, TEST CONNOTE , TEST CONNOTE ,",
                "qty": "1",
                "weight": "1",
                "length": "10",
                "width": "10",
                "height": "10",
                "deliveryState": "VIC"
            },
            {
                "description": " CAAO1123451,  ,  ,",
                "qty": "20",
                "weight": "20",
                "length": "21",
                "width": "22",
                "height": "23",
                "deliveryState": "VIC"
            },
            {
                "description": " CAAO1123452,  ,  ,",
                "qty": "1",
                "weight": "50",
                "length": "51",
                "width": "52",
                "height": "53",
                "deliveryState": "VIC"
            }
        ]
    }
}

4.             PDF Generation Requirements

 

Consignment Notes (connotes) and Labels are easily generated using the EziShipping portal. For convenience and standardisation, connotes and labels can also be generated via API using the below information.

4.1.          Label Generation

The Request details are as below:

 

HTTP Methods GET
Authentication method Basic Auth
API URL
MRL Logistics
https://api.mrllogistics.com/v3.4/customers/{CustomerID}/consignment/{connote number}/labels/
API URL
Sampson Express
https://api.sampsonexpress.com.au/v3.4/customers/{CustomerID}/ consignment/{connote number}/labels/

 

 

The below information will be provided to by the IT department when API access activates on your account.

  • API Username
  • API Key (Password)
  • Customer ID

 

This will return the label file in Base64 encoded. You can use any Base64 decoder for the response and generate the pdf file for you.

Below is a sample response. The below code message will not be decodable using any Base64 as its just an example, however, the real response is fully decodable.

 

{
    "success": true,
    "error": {
        "code": 0,
        "message": ""
    },
    "response": {
        "filename": "CAAC700000.pdf",
        "fileContent": "JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovQ29udGVudHMgNCAwIFI+PgplbmRvYmoKNCAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggODc0Pj4Kc3RyZWFtCnicjVZZk9o4EH6fX9GPSRXj0eWLNzMws94kkAVnk1TlRWMLRhljs7ZhQn59JB/4IqktKFvd+tT99aUygb9vkGHa8HozC+DuAYNrIATBFhZBoyGoVeFybTqmQRzYQyWqp5Ji2MBgm/VkDWDXEa2FyinpOVUqQgyHgWkyjQsieEMQQm8h+P4b"
    }
}

4.2.          Connote Generation

The Request details are as below:

 

HTTP Methods GET
Authentication method Basic Auth
API URL
MRL Logistics
https://api.mrllogistics.com/v3.4/customers/{CustomerID}/consignment/PDF/{consignment}
API URL
Sampson Express
https://api.sampsonexpress.com.au/v3.4/customers/{CustomerID}/consignment/PDF/{consignment}

 

 

The below information will be provided to by the IT department when API access activates on your account.

  • API Username
  • API Key (Password)
  • Customer ID

 

This will return the connote file in Base64 encoded. You can use any Base64 decoder for the response and generate the pdf file for you.

Below is a sample response. The below code message will not be decodable using any Base64 as its just an example, however, the real response is fully decodable.

 

{
    "success": true,
    "error": {
        "code": 0,
        "message": ""
    },
    "response": {
        "fileContent": "JVBERi0xLjMKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL1Jlc291cmNlcyAyIDAgUgovQ29udGVudHMgNCAwIFI+PgplbmRvYmoKNCAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggODc0Pj4Kc3RyZWFtCnicjVZZk9o4EH6fX9GPSRXj0eWLNzMws94kkAVnk1TlRWMLRhljs7ZhQn59JB/4IqktKFvd+tT99aUygb9vkGHa8HozC+DuAYNrIATBFhZBoyGoVeFybTqmQRzYQyWqp5Ji2MBgm/VkDWDXEa2FyinpOVUqQgyHgWkyjQsieEMQQm8h+P4b"
    }
}

If you require any further information / assistance, please feel free to contact us through https://www.mrlglobal.com/contact-us/.