NAV

Introduction

Welcome to the NeoTMS API!

This documentation provides details of each endpoints for the NeoTMS APIs. The major of examples are provided in javascript, however the APIs can be used with any language supporting Http and Json.

Authentication

HTTP headers

Typical headers should be sent in the request:

Content-Type: application/json
Authorization: Token XXXX

The authentication and authorization is implemented in the Authorization http header. The format of the header is:

Authorization: Token Base64(accessToken|customerId)

Example:

Authorization: Token NWFkZmRmOGItOTQ4YS00ZjQ5LWFlY2ItNjcxM2YwNWE5NGVmfDk4NTMxMjk5LWJhNjEtNGY5OC1iY2RlLTVkYjlhZjMxMzgxOA==

Internal organisation users can use organisationId in place of customerId when the users do not wish to work with a specific customer, so the header can be:

Authorization: Token Base64(accessToken|organisationId)

To obtain the accessToken, the client shall use token API.

There is no clash between organisationId and customerId in the Authorization header, as they are GUID and globally unique across all objects.

Request for initial token (login)

This endpoint is to get the initial accessToken used in subsequent requests.

It is similar to the login process of traditional web systems.

The request json:

UserForm = {
  "loginId":"harry@company.com",
  "password":"12345"
}

Javascript request:


var _httpClient=new  HttpClient();
var model = JSON.stringify(UserForm);
var headers = {
      'Content-Type' : 'application/json'
    };
var req = new Request(URL, 'POST', headers, model);
var apicall = _httpClient.send(req);

Example response

{
  "accessToken":"XXXXXXXX",
  "accessTokenExpiry":"yyyy-MM-dd HH:mm:ss",
  "organisationIds":[],
  "customerIds": [],
  "userGuid":xxxx,
  "refreshToken": "XXXXXX",
  "refreshTokenExpiry":"yyyy-MM-dd HH:mm:ss",
  "isDriver": false,
  "isSuperUser": false,
  "isOrganisationCustomerUser": false,
  "isOrganisationStaff": true
}

HTTP Request URL

Request Properties

Attribute Description Type   Optional /   Mandatory
loginId login ID, typically it is the email or unique id assigned by the organisation     string     Mandatory
password Password for the user     string     Mandatory

Support for encrypted password will be added in the near future.

Response Properties

Attribute Description Type
userGuid the UUID of the user string
accessToken Access token string
accessTokenExpiry Access token expiry time datetime
refreshToken Refresh token string
refreshTokenExpiry Refresh token expiry time datetime
customerIds List of customerId associated with the user uuid[]
organisationIds List of organisationId associated with the user uuid[]
isDriver indicate if this is a driver. Driver has authorization to view (not edit) to the data of all customers within an organisation true/false
isSuperUser indicate if this is a super user (root) who is authorized to all organisations, all customers true/false
isOrganisationCustomerUser indicate if this is a customer user. Customer user can only access data of customer in the list of customerIds returned true/false
isOrganisationStaff indicate if this is an organisation staff. staff can access data from the list or organisationIds and customerIds returned. If no customerIds returned, the staff implicitly has access to all customers' data within the organisations true/false

In the response, the refreshToken has a longer lifetime than the accessToken and is used for renewing the accessToken without over-frequently transmitting loginId and password over the network.

After the accessTokenExpiry time, client will need to refresh the accessToken (if the refreshToken hasn't expired), or request for a totally new accessToken and new refreshToken by providing loginId + password.

Refresh token (keep alive)

When the accessToken expires, but the freshToken hasn't expired, the client should use this endpoint to obtain a new accessToken. This will reduce the chance of sending loginId+password frequently over the network. If the accessToken expires AND the refreshToken also expires, the client will need to use the 'Request for access token' end point (providing loginId and password) to get the accessToken and refreshToken again.

The request json is empty, only the Authorization header is examined:

{}

Javascript request:


var _httpClient=new  HttpClient();
var model = {};
var headers = {
      'Content-Type' : 'application/json',
      'Authorization': 'Token ' + Base64(refreshToken|userGuid)
    };
var req = new Request(URL, 'POST', headers, model);
var apicall = _httpClient.send(req);

Example response (new accessToken and refreshToken returned)

{
  "accessToken":"XXXXXXXX",
  "accessTokenExpiry":"yyyy-MM-dd HH:mm:ss",
  "refreshToken": "XXXXXX",
  "refreshTokenExpiry":"yyyy-MM-dd HH:mm:ss"
}

HTTP Request URL

The request is empty, only the Authorization header (=base64(refreshtoken|userGuid)) is important in this request.

Response Properties

Attribute Description Type
accessToken the new access token string
accessTokenExpiry the new access token expiry time datetime
refreshToken the new refresh token string
refreshTokenExpiry the new refresh token expiry time datetime

This end point also returns a new freshToken to be used in subsequent refresh requests.

The userGuid in the header (Base64 format) is the userGuid returned by the initial token request. This ID is GUID, not the loginId.

Invalidate token early (logout)

accessToken automatically expires at the specified period. However, if the client wishes to invalidate (release) it early (so that the token cannot be compromised), the client can use this end point.

It is similar to the logout process of traditional web systems.

Javascript request:

var _httpClient = new  HttpClient();
var headers = {
      'Content-Type'  : 'application/json',
      'Authorization' : 'Token xxxxx'
    };
var req = new Request(URL, 'POST', headers);
var apicall = _httpClient.send(req);

Response is empty with status 200.

HTTP Request

This will invalidate both accessToken and refreshToken.

Display API generated images

File attachment (DB)

During consignment operation, there are images or signatures captured and stored into DB, and may be required to display at some screens. Because the displaying of the image is using the img src="" tag, the authHeader cannot be supplied. Therefore, this endpoint accepts auth string in the query.

example HTML code

<img src="webapi/file-attachment/view/c4cb220c-9251-481b-9b74-3daf46a1febd?auth=xxxxxx" />

HTTP Request

Request parameter

Parameter Description Type Optional / Mandatory Length
id the image id (in the table of file attachment) uuid mandatory
auth the authorization token as it was sent by header (without the word Token and must be url-encoded after base64-encoded) string mandatory

Generated contents(folder)

Binary generated contents can be: the PDF print-out (invoice, statement). These contents are generated temporarily and removed after a specified period of time. This can be viewed outside of javascript (in another window etc...) and auth query parameter can be supplied.


window.open("webapi/generated-content/view/pdf/c4cb220c-9251-481b-9b74-3daf46a1febd?auth=xxxxxx");

HTTP Request

Request parameter

Parameter Description Type Optional / Mandatory
id the content id (generated from the code) uuid mandatory
type the type of content (informed from previous api call) (pdf,jpg,jpeg,png) text mandatory
auth the authorization token as it was sent by header (without the word Token and must be url-encoded after base64-encoded) string mandatory

User profile (current user)

The endpoints in this set of API is used to select default organisations, default customer, update password, get profile information ..etc.. of the current user

Select default organisation

This end points is to set the default organisation the user wants to work with. The default organisation will be returned at the first place in the authentication (login) process.

Javascript request:

var _httpClient = new HttpClient();
var headers = {
    'Authorization':'Token xxxx'
    }
var id = 'yyyy';//default organisationId user wants to work with
var req = new Request(URL + '/master/my-profile/organisations/' + id + '/select','PUT',headers);

Response is the list of organisations with the selected organisation at the top;

[
    {
        "name": "Test",
        "addressLine1": "27-31 Wilson Street",
        "suburb": "ROYAL PARK",
        "postcode": "5014",
        "state": "SA",
        "country": "AU",
        "phoneNumber": "08 8249 2249",
        "billingType": "organisation",
        "billingDate": "2020-11-20T00:00:00",
        "timeZone": "AEST",
        "insertTime": "2021-07-19T11:42:58.635635",
        "id": "1bc86266-abdf-4454-9ba5-72bfa865af6d",
        "isActive": true,
        "insertUserId": "bf06f550-9c71-4a4c-9774-83996d3d629f",
        "taxName": "GST",
        "taxRate": 0.10,
        "addressBooks": [],
        "articleMasters": [],
        "customers": []
    },
    {
        "name": "TEST 1",
        "addressLine1": "PO Box 215",
        "addressLine2": "Port Adelaide Business Centre",
        "suburb": "Port Adelaide",
        "postcode": "5005",
        "state": "SA",
        "country": "AU",
        "phoneNumber": "08 8249 2249",
        "contactName": "",
        "email": "",
        "billingType": "organisation",
        "billingDate": "2020-11-02T00:00:00",
        "timeZone": "ACDT",
        "insertTime": "2020-11-02T13:50:00",
        "id": "35c12f9b-ec89-4296-baad-89d16f93ad6f",
        "isActive": true,
        "insertUserId": "bf06f550-9c71-4a4c-9774-83996d3d629f",
        "taxName": "GST",
        "taxRate": 0.10,
        "addressBooks": [],
        "articleMasters": [],
        "customers": []
    }
]

If the user has no access to the organisation, 401 (unauthorized) response code will be returned

HTTP Request

Request parameter on URL

Parameter Description Type Optional / Mandatory Length
id the organisation id to set as default uuid mandatory

Change password

Javascript request:

var _httpClient = new HttpClient();
var headers = {
    'Authorization':'Token xxxx'
    }
var changePassForm = {
    currentPassword:'xxxx',
    newPassword: 'yyyy'
}
var id = 'yyyy';//default organisationId user wants to work with
var req = new Request(URL + '/master/my-profile/passwd','PUT',changePassForm, headers);

Response is empty with status 2xx (success)

HTTP Request

Request parameter

Parameter Description Type Optional / Mandatory Length
currentPassword the current password text mandatory
newPassword the new password text mandatory

Get user profile

This endpoint returns the current user profile information (name, email ..etc..)

Javascript request

var _httpClient = new HttpClient();
var headers = {
    'Authorization':'Token xxxx'
    }
var req = new Request(URL + '/master/my-profile','GET', headers);

Response sample:

{
    "id": "f7c8da9d-dae8-4631-9961-c6385961a155",
    "type": "organisationStaff",
    "loginId": "xxxx@yyyy.zzz",
    "firstName":"John",
    "lastName":"Citizen",
    "phoneNumber":"0000000",
    "timeZone":"AEDT",
    "lastPasswordChangeDate": "2021-11-16T16:42:57.413064",
    "isActive": true,
    "lastAuthTokenRefreshTime": "",
    "insertUserId": "bf06f550-9c71-4a4c-9774-83996d3d629f",
    "updateUserId": "f7c8da9d-dae8-4631-9961-c6385961a155",
    "insertTime": "2020-11-09T16:06:00.239809",
    "updateTime": "2021-11-19T10:20:11.741364",
    "lastRefreshTokenRefreshTime": "2021-11-19T10:20:11.741184",
    "organisations": [
        {
            "name": "Test",
            "addressLine1": "27-31 Wilson Street",
            "suburb": "ROYAL PARK",
            "postcode": "5014",
            "state": "SA",
            "country": "AU",
            "phoneNumber": "08 8249 2249",
            "billingType": "organisation",
            "billingDate": "2020-11-20T00:00:00",
            "timeZone": "AEST",
            "insertTime": "2021-07-19T11:42:58.635635",
            "id": "1bc86266-abdf-4454-9ba5-72bfa865af6d",
            "isActive": true,
            "insertUserId": "bf06f550-9c71-4a4c-9774-83996d3d629f",
            "taxName": "GST",
            "taxRate": 0.10,
            "addressBooks": [],
            "articleMasters": [],
            "customers": []
        },
        {
            "name": "TEST",
            "addressLine1": "PO Box 215",
            "addressLine2": "Port Adelaide Business Centre",
            "suburb": "Port Adelaide",
            "postcode": "5005",
            "state": "SA",
            "country": "AU",
            "phoneNumber": "08 8249 2249",
            "contactName": "",
            "email": "",
            "billingType": "organisation",
            "billingDate": "2020-11-02T00:00:00",
            "timeZone": "ACDT",
            "insertTime": "2020-11-02T13:50:00",
            "id": "35c12f9b-ec89-4296-baad-89d16f93ad6f",
            "isActive": true,
            "insertUserId": "bf06f550-9c71-4a4c-9774-83996d3d629f",
            "taxName": "GST",
            "taxRate": 0.10,
            "addressBooks": [],
            "articleMasters": [],
            "customers": []
        }
    ],
    "customers": []
}

HTTP Request

Update user profile

This end point can update user's firstName, lastName, phoneNumber, timeZone, and loginId. (loginId must be unique globally)

Javascript request:

var _httpClient = new HttpClient();
var headers = {
    'Authorization':'Token xxxx'
    }
var updateProfileForm = {
    lastName:'xxxx',
    firstName: 'yyyy',
    phoneNumber:'00000000',
    timeZone:'AEST',
}

var req = new Request(URL + '/master/my-profile','PUT',updateProfileForm, headers);

Response is the same as the get profile request with updated information

HTTP Request

Request parameter

Parameter Type Description
lastName text
firstName text
phoneNumber text
timeZone text do not provide this field if user doesn't want to change
loginId text new loginId must be unique, do not provide this field if user doesn't want to change

Usage Information

Field Formats

Learn about field formats used by the API services.

Decimal Number formats

Throughout the documentation, we use the following notation to indicate the format of fields containing fixed point or   decimal numbers: N.M N is the maximum number of digits to the left of the   decimal point, and M is the maximum number of digits to the right of the   decimal point. For example, "6.2" means up to 6 digits left of the   decimal point and up to 2 digits to the right. When there is no imposed limit on the number of digits to the left of the   decimal point, we use this notation: N.2, N.3, ... This means the maximum number of digits on the right of the   decimal point is provided, but there is no limit on the number of digits on the left. In these cases, extremely large numbers are possible. When providing a   decimal value to an API service, in all cases the API service treats the   decimal point and fractional part as   Optional. For example, sending "9" is the same as sending "9.0".

Date and Time formats

Except where otherwise indicated, the API services use below Date/Time format for request/ response fields:

yyyy - mm - dd T hh : mm : ss . ms

where:

-yyyy is the year.

-mm is the month.

-dd is the day.

-The letter T signifies that the time will follow.

-hh is the hour in 24 hour time.

-mm is the minute of the hour and.

-ss is the secord of the minute.

-. represents the fractional secords.

-ms is the minisecond.

UUID format

All IDs used in the system is UUID which has 36 characters length. Example: 123e4567-e89b-12d3-a456-426614174000

Http response code

Code Name Description
2xx Sucess Request completed sucessfully.
400 Bad Request The request was invalid, violating data constraints ..etc..
401 Unauthorized The request did not include an authentication token or the authentication token was expired.
403 Forbidden The client did not have permission to access the requested resource.
404 Not Found The requested resource was not found..
405 Method Not Allowed The HTTP method in the request was not supported by the resource. For example, the DELETE method cannot be used with the Agent API.
409 Conflict The request causes a conflict, (duplicated consignment number, duplicated code ..etc..)
429 Too many requests The client is calling the API at a higher rate than expected.
5xx Server error The server encountered a critial error internally during processing the request.

Hilight error field

Example error reponse:

{
  "errors": {
    "SortField": //the field name causing error
    [
      "The field SortField is required.", //error 1, 
        //there is no error code, client can only display the message as-is
      "The field SortField must be one of 'InsertTime', 'InsertId'" // error 2
    ],
    "Email": //the field name causing error
    [
        "RANGE - The field Email must be between 20-50 characters", //error 1
        "FORMAT - The field Email must have format xxx@domain" // error 2
    ],
    "CustomerConsignmentNumber":
    [
        "CONFLICT - The same CustomerConsignmentNumber already exists"
    ]
    ""://whole object business rule error, no specific fields specified
    [
       "No matching route found for consignment"
    ]
  }
}

Hilight the error fields on screen, remove the code, replace text label and display the message

onError:

for(let errorFieldName in response.errors)
{
  if(errorFieldName != ""){
     document.getElementsByName(errorFieldName)[0].style.borderColor='red';
     for(let idx in respsonse.errors[errorFieldName])
     { 
       let errorMessage = response.errors[errorFieldName][idx]
        .replace(/^[A-Z0-9]+\s\-\s/,'')
        .replace(errorFieldName,'field name label');
       //show error message
     }
  }else {//whole business object rule error
     for(let idx in respsonse.errors[errorFieldName])
     { 
       let errorMessage = response.errors[errorFieldName][idx]
        .replace(/^[A-Z0-9]+\s\-\s/,'')
       //show error message
     }  
  }
}

In case of constraint violations (for example: the request expect to have a field but the json body doesn't have that field), http status 400 is returned with following data:

Attribute Type Description
errors object
errors.<FieldName> array FieldName is the field causing the rror
errors.<FieldName>[] string each element is an error (a field can have multiple errors).

The client then can examine each field of the errors object to highlight the error field on the screen for users. However, because the FieldName is javascript name, it may not be the same as the label displayed next to the field name on screen, the client should replace that FieldName in the error string with the correct label displayed for the field.

The FieldName can be empty which indicates whole object business logic error.

The error string may sometimes start with some upper case letters prefix as error code(ex: CONFLICT, ...). The client can use this code to translate the message into appropriate language if required or remove this code from displaying if no translation is needed. When there is no code (no prefix), the client can just display the message as-is.

Show API generated images

Refer to display image or signature for details

Ping the API server

This endpoint is used to 'ping' the API server (to see if the API server is up). No authorization is needed.

var _httpClient = new  HttpClient();
var headers = {};
var req = new Request('/ping', 'GET', headers);
var apicall = _httpClient.send(req);

HTTP Request URL

Response example:

{
  "buildTime": "2021-08-04 13:52:50+10:00",
  "msg":"API running ok",
  "startupTime":"2021-08-04 14:52:50+10:00"
}

Common Http Request

The common urls for CRUD actions are

Http method url example (PUT and POST have json in the body) description
POST POST /consignment create an object with data in the json body and return the object created
GET /{id} GET /consignment/21efbf95-4d77-4b03-abef-1414137adc8f return the object with id provided on url
PUT /{id} PUT /consignment/21efbf95-4d77-4b03-abef-1414137adc8f update the object with id provided on url and data in the json body and return the object updated
PUT PUT /consignment check data in the json, if object.id exists, update; if object.id doesn't exist, create it, then return the object created.
DELETE /{id} DELETE consignment/21efbf95-4d77-4b03-abef-1414137adc8f delete the object with id provided in URL.
POST /query POST /consignment/query/ search for objects with the search criteria provided in the body json

Search (query) Request

Most object supports quick search through the /query url using a POST request.

Example:

let searchRequest = 
{
    searchField: "Code",
    searchValue: "AB",
    searchType: "*",
    sortField: "InsertTime",
    sortAsc: false,
    pageNo: 2,
    pageSize: 40,
}
let _httpClient = new  HttpClient();
let headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 let req = new Request('/master/article/query' , 'POST', headers, searchRequest);
 var apicall = httpClient.send(req);

Response Example:

{
    "rowCount" : 85,
    "pageCount": 3, 
    "startRow": 41,
    "endRow": 80,
    "result":// array of article objects
     [
       {},{},{},
     ]
}

In the above example, total rows is 85 rows matched and divided in 3 pages, the requested page 2 is from row 41 to row 80

HTTP Request

Request properties

Property Type Description
searchField string the field name of the object to apply the search criteria
searchValue string the value to match with the search field
searchType 1 char specify how to match, *: match any where, ^: prefix match, $: suffix match, =: exact match
sortField string the field name of the object to sort the result
sortAsc boolean whether to sort ascending or descending
pageSize number how many record per page in the result
pageNo number which page (start from 1) to get the result

Response properties

Property Type Description
rowCount number server calculates and returns the total number of rows
pageCount number server calculates and return total number of pages
startRow number the row index of the requested page (from 1)
endRow number the row index of the end of the requested page
result [{},{}] array of objects of the requested page

Api Call And Details

Service URL Method
Create Customer /master/customer POST
Get Customer /master/customer/{id} GET
Update Customer /master/customer/{id} PUT
Delete Customer /master/customer/{id} DELETE
Create Article Type /master/articletype POST
Get Article Type /master/articletype/{id} GET
Update Article Type /master/articletype/{id} PUT
Delete Article Type /master/articletype/{id} DELETE
Create Article /master/articleMaster POST
Get Article /master/articleMaster/{id} GET
Update Article /master/articleMaster/{id} PUT
Query Article /master/articleMaster/query POST
Delete Article /master/articleMaster/{id} DELETE
Create Product /master/product POST
Get Product /master/product/{id} GET
Update Product /master/product/{id} PUT
Delete Product /master/product/{id} DELETE
Create Additional Service /master/additionalservice POST
Get Additional Service /master/additionalservice/{id} GET
Update Additional Service /master/additionalservice/{id} PUT
Delete Additional Service /master/additionalservice/{id} DELETE
Create Service /master/service POST
Get Service /master/service/{id} GET
Update Service /master/service/{id} PUT
Delete Service /master/service/{id} DELETE
Create Depot /master/depot POST
Get Depot /master/depot/{id} GET
Update Depot /master/depot/{id} PUT
Delete Depot /master/depot/{id} DELETE
Create Driver /master/driver POST
Get Driver /master/driver/{id} GET
Update Driver /master/driver/{id} PUT
Delete Driver /master/driver/{id} DELETE
Create Zone /master/zone POST
Get Zone /master/zone/{id} GET
Update Zone /master/zone/{id} PUT
Delete Zone /master/zone/{id} DELETE
Create Zone Line /master/zoneline POST
Get Zone Line /master/zoneline/{id} GET
Update Zone Line /master/zoneline/{id} PUT
Delete Zone Line /master/zoneline/{id} DELETE
Create Ratecard /master/ratecard POST
Get Ratecard /master/ratecard/{id} GET
Update Ratecard /master/ratecard/{id} PUT
Delete Ratecard /master/ratecard/{id} DELETE
Create Ratecard Line /master/ratecardline POST
Get Ratecard Line /master/ratecardline/{id} GET
Update Ratecard Line /master/ratecardline/{id} PUT
Delete Ratecard Line /master/ratecardline/{id} DELETE
Create Ratecard Line Charge /master/ratecardlinecharge POST
Get Ratecard Line Charge /master/ratecardlinecharge/{id} GET
Update Ratecard Line Charge /master/ratecardlinecharge/{id} PUT
Delete Ratecard Line Charge /master/ratecardlinecharge/{id} DELETE
Create Consignment /consignment POST
Get Consignment /consignment/{id} GET
Update Consignment /consignment/{id} PUT
Delete Consignment /consignment/{id} DELETE
Query Consignment /consignment/query POST
Get Label /label/{organisationId}/{consignmentid} GET
Create Consignment Leg /consignment-leg/ POST
Query Consignment Leg /consignment-leg/query POST
Consignment Leg Process /consignment-leg/{consignmentLegId}/processname PUT
Create Runsheet /runsheet POST
Get Runsheet /runsheet/{id} GET
Update Runsheet /runsheet/{id} PUT
Delete Runsheet /runsheet/{id} DELETE
Create Runsheet Template /runsheetTemplate POST
Get Runsheet Template /runsheetTemplate/{id} GET
Update Runsheet Template /runsheetTemplate/{id} PUT
Create Schedule Job /ScheduledJob POST
Get Schedule Job /ScheduledJob/{id} GET
Update Schedule Job /ScheduledJob/{id} PUT
Delete Schedule Job /ScheduledJob/{id} DELETE

Dangerous Good

Dangerous goods are solids, liquids or gases that are harmful to people, property and the environment. Dangerous Goods include substances that are; explosive, flammable, spontaneously combustible, oxidising, toxic, corrosive and water reactive. Some commonly used dangerous goods include; petrol, solvents, paints, acids and pesticides.

Here is some example of dangerous good:

Type Type Detail Class Division Subsidiary Risk
Explosives Substances and articles which have a mass explosion hazard. 1 1.1
Explosives Substances and articles which have a projectile hazard, but not a mass explosion hazard. 1 1.2
Explosives Substances and articles which have a fire hazard and a minor blast hazard or a minor projectile hazard or both. 1 1.3
Explosives Substances and articles that present no significant hazard; only a small hazard in the event of ignition or initiation during transport with any effects largely confined to the package. 1 1.4
Explosives Very intensive substances which have a mass explosion hazard. 1 1.5
Explosives Extremely insensitive articles which do not have a mass explosion hazard. 1 1.6
Gases Flammable Gas 2 2.1
Gases Non-flammable non toxic gas 2 2.2
Gases Toxic Gas 2 2.3
Flammable liquids Flammable liquids 3 3
Flammable Solids Flammable Solids 4 4.1
Flammable Solids Spontaneous Combustibles 4 4.2
Flammable Solids Substances which in contact with water emit flammable gases 4 4.3
Oxidising Agents Oxidising Agents 5 5.1
Organic Peroxides Oxidising Agents 5 5.2
Toxic Substances Toxic Substances 6 6.1
Corrosive Substances Corrosive Substances 8

To know more about dangerous goods list please click here.

Please download the pdf file for more details about dangerous goods item detail for shipment Here.

Article Master

Data Fields

Parameter Description Type   Optional /   Mandatory
code Unique code   string   Mandatory
description Name of the article or item.   string   Optional
articleTypeId The id of the article type   string   Mandatory
isActive The article can be used in consignment or not   boolean   Mandatory
spaceConversionWidth Value must be in m   decimal   Optional
spaceConversionHeight Value must be in m   decimal   Optional
spaceConversionLength Value must be in m   decimal   Optional

Create

This endpoint create the article master

Example request

 {
 "code": "Standard Pallet",
 "description": "Palletized Wine Cartons",
 "articleTypeId": "84d839be-ff57-4be1-8f46-66bd0fa40b52",
 "isActive": true,
 "spaceConversionWidth": 120,
 "spaceConversionHeight": 80,
 "spaceConversionLength": 120
 }

Javescript:

 var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Article);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = httpClient.send(req);

Response example:

 {
 "id":"xxxx",
 "organisationId":"xxxx",
 "code": "Standard Pallet",
 "description": "Palletized Wine Cartons",
 "articleTypeId": "84d839be-ff57-4be1-8f46-66bd0fa40b52",
 "isActive": true,
 "spaceConversionWidth": 120,
 "spaceConversionHeight": 80,
 "spaceConversionLength": 120
 }

HTTP Request

Get

This api is used to get the detail of a article.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
 "id":"xxxx"
 "code": "Standard Pallet",
 "description": "Palletized Wine Cartons",
 "articleTypeId": "84d839be-ff57-4be1-8f46-66bd0fa40b52",
 "labelPerQuantity": 1,
 "isActive": true,
 "spaceConversionWidth": 120,
 "spaceConversionHeight": 80,
 "spaceConversionLength": 120
 }

HTTP Request

Response Json Parameters

To know more about response parameter please refer to Click Here section.

Update

This endpoint gets the detail of a article type.

Json request be like:

 {
 "id":"xxxx"
 "code": "Standard Pallet",
 "description": "Palletized Wine Cartons",
 "articleTypeId": "84d839be-ff57-4be1-8f46-66bd0fa40b52",
 "labelPerQuantity": 1,
 "isActive": true,
 "spaceConversionWidth": 120,
 "spaceConversionHeight": 80,
 "spaceConversionLength": 120
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Article);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Article  detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please refer to Click here section.

Delete

This endpoint delete the detail of a article.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Article  detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the article.   string   Mandatory 40

Article Type

Create

This endpoint create fright type for the organisation .

Request JSON structured like this:

 {

  "code":"CTN",
  "description":"CARTONS",
 }
var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ArticleType);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'POST', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
  "code":"200",
  "message":"Article type has been created!!",
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
code A unique id for the fright type for the organisation.   string   Mandatory 15
description Description of the fright type.   string   Mandatory 40

Get

This endpoint get the detail of a fright type.

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
   "id":"xxxxxx",
  "code":"CTN",
  "description":"CARTONS",
 }

HTTP Request

Response Json Parameters

To know more about response parameter please refer to Create Article Type section.

Update

This endpoint udpate the detail of a article type.

Json request be like:

 {
   "id":"xxxxxx",
  "code":"CTN",
  "description":"CARTONS",
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Articletype);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Article Type detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here for more detail.

Delete

This endpoint delete the detail of a article type.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Article type detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the article type.   string   Mandatory 40

Additional Service

Create

This endpoint create a additional service for the organisation.

Request JSON structured like this:

 {

       "serviceName " : "General Plus",
        "description " : null,
        "isRequiredApproval " : true,
        "isDisplayDriver " : false,
        "isDriverNoteRequired " : false,
        "isPhotoRequired " : true,
        "isShowConsignmentDate " : false,
        "isHideConsignementDate " : false,
        "isShowPricing " :true,
        "isAddSpecialinstruction " :false,
        "isForceSingleConsignment " : false,
        "defaultCustomerRate " : true,
        "defaultCustomerBasePercentage " : true,
        "defaultCustomerMinCharge " : true,
        "defaultAgentRate " : true,
        "defaultAgentPricePercentage " : true,
        "defaultAgentCharge " :true,
        "isAutoAddCustomer " : false,
        "isExcludeAllLeveis " : true,
        "isChargeFlateRate " : false,
        "isDisableAtlcreation " : true
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Product);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
   "code":"200",
   "message":"Additional service has been created!!"
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
serviceName Name of the additional service.   string   Mandatory 40
description Description of the service.   string   Optional 40
isRequiredApproval Value must be true if service approval is required from customer site.   boolean   Optional N/A
isDisplayDriver Value must be true if service is visible for driver.   boolean   Optional N/A
isDriverNoteRequired Value must be true if driver note is required for the service.   boolean   Optional N/A
isPhotoRequired If photo is required while deliver the consignment of service then value must be true.   boolean   Optional N/A
isShowConsignmentDate Value must be true if need to show consignment created date.   boolean   Optional N/A
isHideConsignementDate Value must be ture if consignment date is hidden.   boolean   Optional N/A
isShowPricing Value must be true if price is showing in consignment level for the service.   boolean   Optional N/A
isAddSpecialinstruction Value must be true if additional instruction is required.   boolean   Optional N/A
isForceSingleConsignment Value must be true if only one consignment can be done for the service.   boolean   Optional N/A
defaultCustomerRate If rate is as customer for the service value must be true.   boolean   Optional N/A
defaultCustomerBasePercentage If GST and other charge percentage is as per customer then value must be true.   boolean   Optional N/A
defaultCustomerMinCharge If minimun charge of customer is using for rating then value must be true.   boolean   Optional N/A
defaultAgentRate   boolean   Optional N/A
defaultAgentPricePercentage   boolean   Optional N/A
defaultAgentCharge   boolean   Optional N/A
isAutoAddCustomer   boolean   Optional N/A
isExcludeAllLeveis If the service doesnot required all levies then value must be true.   boolean   Optional N/A
isChargeFlateRate   boolean   Optional N/A
isDisableAtlcreation   boolean   Optional N/A

Get

This api is used to get the detail of a additional service.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
       "id":"xxxxx",
       "serviceName " : "General Plus",
        "description " : null,
        "isRequiredApproval " : true,
        "isDisplayDriver " : false,
        "isDriverNoteRequired " : false,
        "isPhotoRequired " : true,
        "isShowConsignmentDate " : false,
        "isHideConsignementDate " : false,
        "isShowPricing " :true,
        "isAddSpecialinstruction " :false,
        "isForceSingleConsignment " : false,
        "defaultCustomerRate " : true,
        "defaultCustomerBasePercentage " : true,
        "defaultCustomerMinCharge " : true,
        "defaultAgentRate " : true,
        "defaultAgentPricePercentage " : true,
        "defaultAgentCharge " :true,
        "isAutoAddCustomer " : false,
        "isExcludeAllLeveis " : true,
        "isChargeFlateRate " : false,
        "isDisableAtlcreation " : true
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here .

Update

This endpoint update the detail of a additional service.

Json request be like:

 {
       "id":"xxxxx",
       "serviceName " : "General Plus",
        "description " : null,
        "isRequiredApproval " : true,
        "isDisplayDriver " : false,
        "isDriverNoteRequired " : false,
        "isPhotoRequired " : true,
        "isShowConsignmentDate " : false,
        "isHideConsignementDate " : false,
        "isShowPricing " :true,
        "isAddSpecialinstruction " :false,
        "isForceSingleConsignment " : false,
        "defaultCustomerRate " : true,
        "defaultCustomerBasePercentage " : true,
        "defaultCustomerMinCharge " : true,
        "defaultAgentRate " : true,
        "defaultAgentPricePercentage " : true,
        "defaultAgentCharge " :true,
        "isAutoAddCustomer " : false,
        "isExcludeAllLeveis " : true,
        "isChargeFlateRate " : false,
        "isDisableAtlcreation " : true
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(additionalservice);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Additional Service detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete

This endpoint delete the detail of a additional service.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Additional service detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the additional service.   string   Mandatory 40

Business Location

Business Location means the physical location (address) of the business.Business Location means any real property, building, facility or structure owned, leased or occupied by organisation at any time from its inception until the present

Create

This endpoint create depot detail for the organisation.

Request JSON structured like this:

{
        "code" : "MELB",
        "name" : "Melbourne",
        "addressLine1" : "409 Bourke Street",
        "addressLine2" : null,
        "addressLine3" : null,
        "suburb" : "West Melbourne",
        "postcode" : "3003",
        "state" : "VIC",
        "countryCode" : "AU",
        "email" : "test@yahoo.com",
        "contactName" : "Ronald",
        "contactPhone" : "0266589412",
        "notes" : null,
        "isActive" : true,
        "timeZone" : null,
        "isDepot" : true,
        "isWarehouse" : false,
        "journalLegderDepartment" : null
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Depot);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Depot has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
code A unique identifier for the location.   string   Mandatory 40
name Name of the location.   string   Mandatory 40
addressLine1 Lines of address like street name, building name.   string   Mandatory 40
addressLine2   string   Optional 40
addressLine3   string   Optional 40
suburb Suburb for the address line.   string   Mandatory 40
postcode The valid postcode of the suburb.   string   Mandatory 6
state Valid state for the address detail.   string   Mandatory 3
countryCode Country code of the address, Like: AU, UK .   string   Mandatory 2
email Email address of the business location of organisation.   string   Optional 40
contactName Contact person name for that business location.   string   Optional 40
contactPhone Contact phone number for that business location.   string   Optional 40
notes If any particular details about business location.   string   Optional 40
isActive Status of the business location   boolean.   Mandatory 40
timeZone Followed time zone for the business location.   string   Optional 40
isDepot Value must be true if the location is depot for the organisation.   boolean   Mandatory 40
isWarehouse Value must be true if the location is warehouse for the organisation.   boolean   Mandatory 40
journalLegderDepartment   string   Optional 40

Get

This endpoints get the detail of a business loctaion.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxxx",
        "code" : "MELB",
        "name" : "Melbourne",
        "addressLine1" : "409 Bourke Street",
        "addressLine2" : null,
        "addressLine3" : null,
        "suburb" : "West Melbourne",
        "postcode" : "3003",
        "state" : "VIC",
        "countryCode" : "AU",
        "email" : "test@yahoo.com",
        "contactName" : "Ronald",
        "contactPhone" : "0266589412",
        "notes" : null,
        "isActive" : true,
        "timeZone" : null,
        "isDepot" : true,
        "isWarehouse" : false,
        "journalLegderDepartment" : null
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here.

Update Depot

This endpoint update the detail of a business location.

Json request be like:

{
        "id":"xxxxxx",
        "code" : "MELB",
        "name" : "Melbourne",
        "addressLine1" : "409 Bourke Street",
        "addressLine2" : null,
        "addressLine3" : null,
        "suburb" : "West Melbourne",
        "postcode" : "3003",
        "state" : "VIC",
        "countryCode" : "AU",
        "email" : "test@yahoo.com",
        "contactName" : "Ronald",
        "contactPhone" : "0266589412",
        "notes" : null,
        "isActive" : true,
        "timeZone" : null,
        "isDepot" : true,
        "isWarehouse" : false,
        "journalLegderDepartment" : null
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(depot);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Depot detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click Here.

Delete Depot

This endpoint delete the detail of a depot.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Depot detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the depot.   string   Mandatory 40

Consignment

Create

This endpoint creates the consignment detail provided.

Request JSON structured like this:

{
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originAddressLine2": null,
    "originAddressLine3": null,
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinAddressLine2": null,
    "destinAddressLine3": null,
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "senderReference": null,
    "receiverReference": null,
    "senderContactPhone": null,
    "senderContactName": null,
    "receiverContactPhone": null,
    "receiverContactName": null,
    "senderEmail": null,
    "receiverEmail": null,
    "requestedPickupDate": "2020-11-09",
    "requestedPickupTimeFrom": "10.00",
    "requestedPickupTimeTo": "14:00",
    "requestedDeliveryDate": "2020-11-10",
    "requestedDeliveryTimeFrom": "10.00",
    "requestedDeliveryTimeTo": "14:00",
    "deliveryInstruction": "consignmet must deliver in to door",
    "pickupInstruction": "pickup at warehouse",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",
    "isDangerousGood": false,
    "authorityToLeave": false,
    "allowPartialDelivery": false
  },
  "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
      "type": "BOX",
      "referenceNumber": "ITM001",
      "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "volume": 0,
      "description": null,
      "items": [
        {
          "productId": "8c36a61a-522f-430c-8eae-d72f07741641",
          "quantity": "5"
        }
      ]
    }
  ],
  "additionalServices": [
    {
      "id": "4cee31a8-b184-4d69-ba1d-9788b16f88c2",
      "code": "DISC",
      "type": "Assamble",
      "note": "Need to Fix out",
      "description": null,
      "fee": 0
    }
  ],
  "equiments": [
    {
      "id": "fe6b976e-a2a9-4764-9405-8ee1d0d99e90",
      "type": "ForkLift",
      "description": null
    }
  ]
}

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Consignment);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
    "id":"xxxxx",
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originAddressLine2": null,
    "originAddressLine3": null,
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinAddressLine2": null,
    "destinAddressLine3": null,
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "senderReference": null,
    "receiverReference": null,
    "senderContactPhone": null,
    "senderContactName": null,
    "receiverContactPhone": null,
    "receiverContactName": null,
    "senderEmail": null,
    "receiverEmail": null,
    "requestedPickupDate": "2020-11-09",
    "requestedPickupTimeFrom": "10.00",
    "requestedPickupTimeTo": "14:00",
    "requestedDeliveryDate": "2020-11-10",
    "requestedDeliveryTimeFrom": "10.00",
    "requestedDeliveryTimeTo": "14:00",
    "deliveryInstruction": "consignmet must deliver in to door",
    "pickupInstruction": "pickup at warehouse",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",
    "isDangerousGood": false,
    "authorityToLeave": false,
    "allowPartialDelivery": false
  },
  "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
      "type": "BOX",
      "referenceNumber": "ITM001",
      "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "volume": 0,
      "description": null,
      "items": [
        {
          "productId": "8c36a61a-522f-430c-8eae-d72f07741641",
          "quantity": "5"
        }
      ]
    }
  ],
  "additionalServices": [
    {
      "id": "4cee31a8-b184-4d69-ba1d-9788b16f88c2",
      "code": "DISC",
      "type": "Assamble",
      "note": "Need to Fix out",
      "description": null,
      "fee": 0
    }
  ],
  "equiments": [
    {
      "id": "fe6b976e-a2a9-4764-9405-8ee1d0d99e90",
      "type": "ForkLift",
      "description": null
    }
  ]
}
}

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
customerId Unique Id provided by Omnix for the customer.   string   Mandatory 40
consignmentNumber A unique refrence for the consignment generated by organisation.   string   Optional 15
Type The type of the consignment, Its value must be 'Pickup', 'Delivery', 'Line Haul'.   string   Optional 10
originAddressLine1 The addressline of the sender address. Must be street Name.   string   Mandatory 40
originAddressLine2 The addressline of the sender address.   string   Optional 40
originAddressLine3 The addressline of the sender address.   string   Optional 40
originSuburb The suburb for the sender address.   string   Mandatory 40
originPostCode The postcode for the sender address.   string   Mandatory 4
originState The state code for the sender address. Valid values are: ACT, NSW, NT, QLD, SA, TAS, VIC, WA.   string   Mandatory 3
originCountry The country code for the sender address.   string   Mandatory 2
destinAddressLine1 The addressline of the receiver address. Must be street Name.   string   Mandatory 40
destinAddressLine2 The addressline of the receiver addres.   string   Optional 40
destinAddressLine3 The addressline of the receiver addres.   string   Optional 40
destinSuburb The suburb for the receiver address.   string   Mandatory 40
destinPostCode The postcode for the receiver address.   string   Mandatory 4
destinState The state code for the receiver address. Valid values are: ACT, NSW, NT, QLD, SA, TAS, VIC, WA.   string   Mandatory 3
destinCountry The country code for the receiver address.   string   Mandatory 2
chargeTo To whom the consignment charge will given, the valid value is 'Sender' or 'Receiver'.   string   Optional 40
chargeAccount The account to be charge for the consignment.   string   Optional 40
senderName Name of the sender.   string   Mandatory 40
receiverName Name of the receiver.   string   Mandatory 40
senderReference A sender specified reference for the consignment. This value is not required to be unique.   string   Optional 40
receiverReference A sender specified reference for the consignment to the receiver. This value is not required to be unique.   string   Optional 40
senderContactPhone A sender phone number.   string   Optional 16
senderContactName The person name from the sender whom people can contant for the consignment.   string   Optional 40
receiverContactPhone A receiver phone number.   string   Optional 40
receiverContactName The person name whom can contact for the shipment issue.   string   Optional 40
senderEmail Valid Email address of the sender.   string   Optional 40
receiverEmail Valid email address of the receiver.   string   Optional 40
requestedPickupDate Sender can request the pickup date for shipment.   string   Optional 40
requestedPickupTimeFrom Sender can request the pickup time starting from for shipment.   string   Optional 40
requestedPickupTimeTo Sender can request the delivery time ending for shipment.   string   Optional 40
requestedPickupTz   string   Optional 40
requestedDeliveryDate   string   Optional 40
requestedDeliveryTimeFrom   string   Optional 40
requestedDeliveryTimeTo   string   Optional 40
requestedDeliveryTz   string   Optional 40
deliveryInstruction   string   Optional 40
pickupInstruction   string   Optional 40
isDangerousGood Status of good if item contain any dangerous good then value must be true.   boolean   Optional 40
dangerousGoodDescription If IsDangerousGood is true, must provide the detail of it.   string   Optional 40
isConnotePrinted   boolean   Optional 40
isRiskLevyApplied If there is any risk levy fee for the shipment then this field must be true   boolean   Optional 40
authorityToLeave This is the permission to the drive to leave parcel at delivery address, value must be true if permission is given to driver.   boolean   Optional 40
allowPartialDelivery If shiment has more then 1 item you can use this flag for delivery. If customer allows for partial delivery then value must be true.   boolean   Optional 40
isVipConsignement   boolean   Optional 40
isSignatureRequired If signature is required for shipment delivery then value must be true, if AuthorityToLeave is false then this field must be true.   boolean   Optional 40
isInsured Flag that check the shipment has insurance or not.   boolean   Optional 40
isPrintConsignment Flag that check if shipment need to be print or not.   boolean   Optional 40
isPrintLabel Flag that check if shipment need a lable to print or not.   boolean   Optional 40
isRecurringConsignmentTemplate   boolean   Optional 40
serviceId Valid method of shipment sending. For more detail please click here.   string   Mandatory 40
articles Array of Object   Mandatory N/A
articleMasterId A valid item id. click here for more detail.   string   Mandatory 40
type type of article, value like: box,.carton,.pallets.   string   Mandatory 40
referenceNumber   string   Optional 40
quantity Count of the item for the shipment   integer   Mandatory 40
weight Weight of item for shipment, value must be in kilogram.   decimal   Mandatory 40
volume Volume of item for shipment.   decimal   Optional 40
length Length of item for shipment, value must be in centimetre.   decimal   Optional 40
width Width of item for shipment, value must be in centimetre.   decimal   Optional 40
height Height of item for shipment, value must be in centimetre.   decimal   Optional 40
artcileCapacity Value be like half, full, overload.   string   Optional 40
description Note for the item to be shiped.   string   Optional 40
isOnPallet This field is required if the type is carton.   boolean   Optional 40
palletsCount This field is required if the type is carton and isonpallet field is true.   integer   Optional 40
minTemperature This field is required if the article is freeze item.   decimal   Optional 40
maxTemperature This field is required if the article is freeze item.   decimal   Optional 40
dgUnNumber If IsDangerousGood is true then this field is required. Click here for more detail.   integer   Optional 40
dgTechnicalName If IsDangerousGood is true then this field is required. Click here for more detail.   string   Optional 40
dgClassDivision If IsDangerousGood is true then this field is required. Click here for more detail.   integer   Optional 40
dgSubsidiaryRisk If IsDangerousGood is true then this field is required. Click here for more detail.   string   Optional 40
dgPackingGroupDesignator If IsDangerousGood is true then this field is required. Click here for more detail.   string   Optional 40
additionalServices Array of object   Optional N/A
code Code of the serviceClick here for more detail.   string   Optional 40
type type of the service.   string   Optional 40
note Note or information for the service.   string   Optional 40
description Detail of the service.   string   Optional 40
fee Charge for the service.   string   Optional 40
equiments Array of object   Optional N/A
code Code of the equimentClick here for more .   string   Optional 40
type type of the equiment.   string   Optional 40
note Note or information for the equiment.   string   Optional 40
description Detail of the equiment.   string   Optional 40

Get

This endpoint get the consignment detail provided.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
    "id":"xxxxxx",
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originAddressLine2": null,
    "originAddressLine3": null,
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinAddressLine2": null,
    "destinAddressLine3": null,
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "senderReference": null,
    "receiverReference": null,
    "senderContactPhone": null,
    "senderContactName": null,
    "receiverContactPhone": null,
    "receiverContactName": null,
    "senderEmail": null,
    "receiverEmail": null,
    "requestedPickupDate": "2020-11-09",
    "requestedPickupTimeFrom": "10.00",
    "requestedPickupTimeTo": "14:00",
    "requestedDeliveryDate": "2020-11-10",
    "requestedDeliveryTimeFrom": "10.00",
    "requestedDeliveryTimeTo": "14:00",
    "deliveryInstruction": "consignmet must deliver in to door",
    "pickupInstruction": "pickup at warehouse",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",
    "isDangerousGood": false,
    "authorityToLeave": false,
    "allowPartialDelivery": false,

    "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
      "type": "BOX",
      "referenceNumber": "ITM001",
      "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "volume": 0,
      "description": null,
      "items": [
        {
          "productId": "8c36a61a-522f-430c-8eae-d72f07741641",
          "quantity": "5"
        }
      ]
    }
   ],
  "additionalServices": [
    {
      "id": "4cee31a8-b184-4d69-ba1d-9788b16f88c2",
      "code": "DISC",
      "type": "Assamble",
      "note": "Need to Fix out",
      "description": null,
      "fee": 0
    }
  ],
  "equiments": [
    {
      "id": "fe6b976e-a2a9-4764-9405-8ee1d0d99e90",
      "type": "ForkLift",
      "description": null
    }
  ]
}

HTTP Request

Response Json Parameters

For more detail Click here

Update

This endpoint update a consignment detail provided.

Request JSON structured like this:

{
    "id":"xxxxxx",
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originAddressLine2": null,
    "originAddressLine3": null,
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinAddressLine2": null,
    "destinAddressLine3": null,
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "senderReference": null,
    "receiverReference": null,
    "senderContactPhone": null,
    "senderContactName": null,
    "receiverContactPhone": null,
    "receiverContactName": null,
    "senderEmail": null,
    "receiverEmail": null,
    "requestedPickupDate": "2020-11-09",
    "requestedPickupTimeFrom": "10.00",
    "requestedPickupTimeTo": "14:00",
    "requestedDeliveryDate": "2020-11-10",
    "requestedDeliveryTimeFrom": "10.00",
    "requestedDeliveryTimeTo": "14:00",
    "deliveryInstruction": "consignmet must deliver in to door",
    "pickupInstruction": "pickup at warehouse",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",
    "isDangerousGood": false,
    "authorityToLeave": false,
    "allowPartialDelivery": false,

    "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
      "type": "BOX",
      "referenceNumber": "ITM001",
      "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "volume": 0,
      "description": null,
      "items": [
        {
          "productId": "8c36a61a-522f-430c-8eae-d72f07741641",
          "quantity": "5"
        }
      ]
    }
   ],
  "additionalServices": [
    {
      "id": "4cee31a8-b184-4d69-ba1d-9788b16f88c2",
      "code": "DISC",
      "type": "Assamble",
      "note": "Need to Fix out",
      "description": null,
      "fee": 0
    }
  ],
  "equiments": [
    {
      "id": "fe6b976e-a2a9-4764-9405-8ee1d0d99e90",
      "type": "ForkLift",
      "description": null
    }
  ]
}

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Consignment);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
"status":"200",
"message":"Consignment has been updated"

}

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
id Unique number of consignment stored in database   string   Mandatory 40

For other paramether detail please Click Here

Create or Update

This endpoint check the consignment state and as per requriment it will either create consignment if customerconsignmentNumber isnot exist in system, other wise it will update the consignemt. If same consignment has already created and have pickup leg generated then system will reject the consignment.

Request JSON structured like this:

{
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originAddressLine2": null,
    "originAddressLine3": null,
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinAddressLine2": null,
    "destinAddressLine3": null,
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "senderReference": null,
    "receiverReference": null,
    "senderContactPhone": null,
    "senderContactName": null,
    "receiverContactPhone": null,
    "receiverContactName": null,
    "senderEmail": null,
    "receiverEmail": null,
    "requestedPickupDate": "2020-11-09",
    "requestedPickupTimeFrom": "10.00",
    "requestedPickupTimeTo": "14:00",
    "requestedDeliveryDate": "2020-11-10",
    "requestedDeliveryTimeFrom": "10.00",
    "requestedDeliveryTimeTo": "14:00",
    "deliveryInstruction": "consignmet must deliver in to door",
    "pickupInstruction": "pickup at warehouse",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",
    "isDangerousGood": false,
    "authorityToLeave": false,
    "allowPartialDelivery": false,

    "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
      "type": "BOX",
      "referenceNumber": "ITM001",
      "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "volume": 0,
      "description": null,
      "items": [
        {
          "productId": "8c36a61a-522f-430c-8eae-d72f07741641",
          "quantity": "5"
        }
      ]
    }
   ],
  "additionalServices": [
    {
      "id": "4cee31a8-b184-4d69-ba1d-9788b16f88c2",
      "code": "DISC",
      "type": "Assamble",
      "note": "Need to Fix out",
      "description": null,
      "fee": 0
    }
  ],
  "equiments": [
    {
      "id": "fe6b976e-a2a9-4764-9405-8ee1d0d99e90",
      "type": "ForkLift",
      "description": null
    }
  ]
}

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Consignment);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
"status":"200",
"message":"Consignment has been updated"

}

HTTP Request

Request Json Parameters

For other paramether detail please Click Here

Delete

This endpoints delete a detail of consignment.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'DETETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status":"200",
        "message":"Consignment has been deleted!!"

 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Query Consignment

This endpoint searchs for consignments.

Request

var SearchForm = {
        "originSuburb ":"CANNING VALE",
        "destinSuburb ":"BIBRA LAKE",
        "sortField":"CustomerConsignmentNumber",
        "sortAsc ": true,
        "pageSize": 40,
        "pageNo": 2
}

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(SearchForm);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

Response Example:

{
        "originSuburb ":"CANNING VALE",
        "destinSuburb ":"BIBRA LAKE",
        "sortField":"CustomerConsignmentNumber",
        "sortAsc ": true,
        "pageSize": 40,
        "pageNo": 2,
        "rowCount":100,
        "startRow":41,
        "endRow":80,
        "pageCount": 3,
        "result":
[
 {
    "id":"xxxxxx",
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",

    "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
       "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "items": [
               ]
    }
   ]
 },
 {
   "id":"xxxxxx",
    "customerId": "7adf8231-fc19-4f70-a80c-b745f68cd0f2",
    "consignmentNumber": "OMX001",
    "type": "pickup",
    "originAddressLine1": "1 High St",
    "originSuburb": "clayfield",
    "originPostCode": "4011",
    "originState": "QLD",
    "originCountry": "AU",
    "destinType": "warehouse",
    "destinAddressLine1": "24 smythe st",
    "destinSuburb": "Merrylands",
    "destinPostCode": "2160",
    "destinState": "NSW",
    "destinCountry": "AU",
    "totalDeadWeight": 50,
    "totalArticles": 1,
    "totalPallets": 0,
    "totalVolume": 0,
    "totalCubicWeight": 0,
    "chargeAccount": "SENDER",
    "internalNote": null,
    "senderName": "OMNIX PTY.",
    "receiverName": "THE LOCAL BIUSINESS",
    "serviceId": "49bdfca7-8401-4cfa-aea0-92b6d2bb4a9f",

    "articles": [
    {
      "articleMasterId": "6de60209-3c37-4185-bc5b-b9858cd85fb9",
       "quantity": 5,
      "length": 0.2,
      "width": 0.2,
      "height": 0.55,
      "weight": 50,
      "items": [
               ]
    }
   ]
}
]

}

HTTP Request

Request Properties

Field Value Description
originSuburb string match the originSuburb of the consignment (exact match)
destinSuburb string match the destinSuburb of the consignment (exact match)
statuses string[] list of statuses to filter. values can be: ACT (active), CAN (cancelled), CPT (completed)
consignmentNumber string match the consignmentNumber (system-generated consignment number)
customerConsignmentNumber string match the customer provided consignment number
searchType string specifies how to match consignment number (default : match anywhere, ^: match prefix, $: match suffix, =:match exact the list of consignment number, this applies to consignmentNumber and customerConsignmentNumber)
insertTimeFrom date filter consignments based on insertTime range
insertTimeTo date filter consignments based on insertTime range
senderReference string match sender reference (match anywhere)
sortField string the field name to sort, default is ConsignmentDate. possible value could be: InsertTime,UpdateTime,CustomerConsignmentNumber,ConsignmentNumber
sortAsc bool sort ascending or descending. default is ascending.
pageNo int page number for the result paging, start from 1
pageSize int number of rows per page

Response Properties

Field Value Description
rowCount int this field returns the total matched consignments (the result has only the page at pageNo but rowCount number returns full number of rows matched)
startRow int this field returns the start row index of the current page (start at 1)
endRow int this field returns the end row index of the current page
pageCount int this field returns number of pages
result consignment[] this field returns the list of consignment objects for the current page

Consignment Article

The endpoints in the API group is for scanning consignment articles. Articles can be scanned, delivered even before consignment data is created in the system. If that is the case, the system will match scanning data to the consignment data upon creation of consignment.

Data fields

Common article data fields required for scanning

Article scan data

The article scan data has following properties in all requests sent to the APIs related to article level scanning. Please also see the notes below for details of the fields.

Field Type Optional/Mandatory Description
runsheetId uuid required The current runsheet of the driver.
operationTime Date/Time required The scanning started time
operationEndTime Date/Time optional The scanning finished time
consignmentId uuid optional This field is filled if the driver selects a consignment before operating.
consignmentLegId uuid optional This field is used when operation is carried on the leg.
scanCode text optional This field is used when consignmentId or consignmentLegId is unable to determine from the client and operation does not require article level scan. This can be consignmentNumber in most cases (driver scans the consignmentNumber and collects signature), it can also be a single article scan code.
depotId uuid optional The depot Id where the scan occurred. Only used in Load, Unload, Back Depot API
latitude number optional latitude of the position where the scan occured
longitude number optional longitude of the position where the scan occured
locationName string optional the name of the location where the scan occured
articleScanCodes string[] optional list of the scan codes scanned (must match to the article.articleScanCode)
articleQuantities object[] optional array of photo object described below
articleQuantities[].ConsignmentArticleId UUID optional the UUID of the consignmentArticle being scanned
articleQuantities[].ArticleTypeId UUID optional the UUID of the articleType
articleQuantities[].ConsignmentId UUID optional the UUID of the consignment
articleQuantities[].actualQuantity integer optional the quantity of the article
operationTimeZone required optional time zone name of the device when scanning, informational only
signature string optional the file name with extention (.jpg, .png ...) of signature (to know the image type of the signature). The client can use any name as it likes but the extension must be supplied for the server to know the file type.
message string optional the message when signing. In the leave-calling-card operation, this field can contain the imprinted calling card number if required.
signatureDataBase64 string optional base64-encoded binary data of the signature
signerName string optional name of the signatory
photos object[] optional array of photo object described below
photos[].message string optional message recorded with the photo
photos[].photoDataBase64 string required base64 encoded of photo data
photos[].photo string required the file name with extention (.jpb,.png....) of the photo. The client can use any name as it likes but the file extension must be supplied for the server to know the type of photo.
photos[].personName string optional any person name needs to be recorded with this photo if required

Notes

For scanning tracking (tracking by scan codes): the articleScanCodes is provided, then the system will match each code with consignmentArticle.articleScanCode to find out which consignments are being scanned. (the driver can scan multiple consignments's scan codes then submit in one go).

For non-scanning tracking (tracking by quantities only): the articleScanCodes is not provided, then articleQuantities can be provided, also either the (consignmentId and articleTypeId) or consignmentArticleId must also be supplied to identify which articles are being tracked. This can be inferred when the driver focuses the lines on the mobile screen and input the corresponding quantities.

For no tracking (operation that requires no tracking): both articleScanCodes and articleQuantities are not provided, then consignmentId is required (and additionally Quantity field can be provided as the total quantity of the consignment). This happens to fail-to-pickup (nothing to scan) or fail-to-deliver (not neccessary to scan) or back-into-depot-for-next-delivery(not neccessary to scan). In these use cases, the driver just focuses the consignment and press the corresponding button to mark the consignment as failed-to-pickup/fail-to-deliver/back-into-depot-for-next-delivery. This can also be used for signature-only operation: the driver just focuses the consignment and collect the receiver's signature/photo without any tracking - often for point-to-point delivery.

The scanning or tracking can happen before the consignment is created in the system.

One consignment can have mixed mode of tracking. For example: at the pickup -> quantity only tracking, then at depot(unload)-> scanning tracking, then linehaul -> quantity only tracking, at delivery point -> signature only.

Pick up (at customer)

This endpoint is used when driver has picked up articles at the pickup point. The consignment is marked as PICKED-UP-AT-CUSTOMER. The body of the request contains the scan data.

Field Optional/Mandatory Notes
depotId not used

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/pick-up', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) code.

HTTP Request

Unload depot(after picked up)

This endpoint is called when the driver picked up articles from the customer then scanned into depot. The consignment is marked IN-DEPOT. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId required the depot being unloaded to

Javascript request


var _httpClient = new  HttpClient();
var model = new ArticleScanData
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/unload-into-depot' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS code.

HTTP Request

Load onboard for linehaul

This endpoint is used when drivers load articles onto his truck for line-haul (inter-depot movement). The consignment is marked as IN-TRANSIT. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId required the depot being loaded from to

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/load-onboard-for-linehaul', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Unload next depot(linehaul)

This endpoint is called when the driver picked up articles from the customer then scanned into depot. The consignment is marked IN-TRANSIT. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId required the depot to being unloaded to

Javascript request


var _httpClient = new  HttpClient();
var model = new ArticleScanData
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/unload-into-next-depot' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS code.

HTTP Request

Load onboard for delivery

This endpoint is used when drivers loads articles onto his truck for delivery. The consignment is marked as ONBOARD FOR DELIVERY to trigger any registered notification to the receiver/sender... that their articles are being delivered. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId required the depot to being loaded from

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/load-onboard-for-delivery', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Deliver

This endpoint is called when drivers sucessfully delivered the articles to the receiver. The consignment is marked as DELIVERED. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId not used

Javascript request


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/deliver', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS(2xx) code.

HTTP Request

Leave articles (ATL)

This endpoint is used when drivers arrive at the delivery point for the consignment but unable to deliver and had left the articles as ATL. The consignment is marked as DELIVERED WITH ATL. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId not used

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/leave-with-atl', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Leave calling card

This endpoint is used when drivers arrive at the delivery point for the consignment but unable to deliver and had left a calling card. The consignment is marked as LEFT CALLING CARD. The body of the request contains the article scan data. Additionally, the message field of the data can contain the calling card number (if it is imprinted).

Field Optional/Mandatory Notes
depotId not used

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/failed-to-deliver', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Unload back to depot

This endpoint is used when drivers are unable to deliver the articles and have to carry articles back to depot. The consignment is marked as BACK-TO-DEPOT-FOR-NEXT-DELIVERY-ATTEMPT. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId required the depot to being unloaded to

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/unload-back-to-depot', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Transfer between vehicles

This endpoints are used when 2 drivers need to exchange some articles (consignments) on the route (ex: to optimise the load). One driver scans articles off his vehicle and other driver scans articles onto his vehicle. The body of the request contains the article scan data. (any field can be used). The consignment tracking stage is not changed by this operation.

Transfer (off vehicle)

The first driver scans articles off his vehicle.

Javascript request


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/tranfer-off', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) code.

HTTP Request

Transfer (onto vehicle)

The second driver scans articles onto his vehicle. The body of the request contains the article scan data. (any field can be used)

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/tranfer-on', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS(200x) code.

HTTP Request

Fail to pickup

This endpoint is used when drivers arrive at the pickup point for the consignment but there is nothing to pickup. This is to record an error. The body of the request contains the article scan data with consignmentId filled.

Field Optional/Mandatory Notes
depotId not used
consignmentId required Driver must select which consignments failed to pickup

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/failed-to-pickup', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Fail to deliver

This endpoint is used when drivers arrive at the delivery point for the consignment but unable to deliver. This even is to record a time driver arrives. The body of the request contains the article scan data.

Field Optional/Mandatory Notes
depotId not used
consignmentId required Driver must select which consignments failed to deliver

Javascript request:


var _httpClient = new  HttpClient();
var model = new ArticleScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/consignment-article/fail-to-deliver', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with SUCCESS (2xx) status.

HTTP Request

Consignment Tracking

Query

This endpoint get the detail of a consignment tracking details. This is a public API (no authentication required)

Example request:


var _httpClient = new  HttpClient();
var organisationId = 'xxxxx';
var consignmentNumber = 'yyyyy';
var req = new Request(URL + "/query?consignmentNumber=" + consignmentNumber + "&organisationId="+organisationId , 'GET');
 var apicall = _httpClient.send(req);

Response:

 [
  {
    "id": "c03844b8-83bc-4b54-a29a-d00571696268",
    "organisationId": "1bc86266-abdf-4454-9ba5-72bfa865af6d",
    "consignmentId": "17c38b4e-bf71-49f7-9524-24ca0d190329",
    "description": "Pickup at customer",
    "eventTime": "2021-09-03T12:45:41.473979",
    "insertUserId": "2a8a32ea-1d10-4a46-a4f1-bdfb67224781",
    "insertTime": "2021-09-03T12:39:41.473815",
    "location": "GALVIN VIC 3018"
  },
  {
    "id": "c03844b8-83bc-4b54-a29a-d00571696267",
    "organisationId": "1bc86266-abdf-4454-9ba5-72bfa865af6d",
    "consignmentId": "17c38b4e-bf71-49f7-9524-24ca0d190329",
    "description": "Shipping information received",
    "eventTime": "2021-09-03T12:39:41.473979",
    "insertUserId": "2a8a32ea-1d10-4a46-a4f1-bdfb67224781",
    "insertTime": "2021-09-03T12:39:41.473815",
    "location": "GALVIN VIC 3018"
  }
  ...
]

HTTP Request

Response Json Parameters

Parameter Description Type Optional / Mandatory Length
organisationId the organisationId   string UUID   Mandatory 40
consignmentNumber the consignmentNumber to query tracking   string   Mandatory 40

For more detail about response parameter Click here.

Consignment Leg

The endpoints for consignment leg are for the operation of consignments. Depending on the consignment type (P2P or non-P2P), available operations can be: pickup,load or unload at a depot,delivery.

Data fields

Consignment leg has following properties.

Field Type Optional / Mandatory Description
consignmentId uuid   Optional unique id of the consignment.
runsheetId uuid   Optional unique id of the runsheet to allocate this leg on
sequenceNumber   integer   Optional the index (order) of the leg within the consignment
fromZoneLineId uuid   Optional Id of the combination of suburb + postcode + state with zone. Click here for more detail.
toZoneLineId uuid   Optional Id of the combination of suburb + postcode + state with zone. Click here for more detail.
fromDepotId uuid   Optional Depot id. Click here for more detail.
toDepotId uuid   Optional Depot id for the zone. Click here for more detail.
scheduleDate   datetime   Optional Leg schedule date.
startDate   datetime   Optional Leg starting date.
type   string   Mandatory Type of a leg. See leg type
status   integer   Optional Status of the leg. See leg status
isFullConsignment   boolean   Mandatory If leg contains all articles of the consignment, value must be true.

Additionally, each operation of consignment legs (pickup, load, unload etc...) can come with article scanning in the body of the request. For scanning data format, refer to article scan data. All operations allowed on articles are also allowed in consignment leg. The difference is in the article scan APIs, there is no leg specified while in consignment leg operations, the leg is selected before scanning so the data is assocated with the selected leg (consignment) only.

Leg type

Each leg must have a type. Following are available values:

Name Value to use in json
Point to point p2p
Pickup pickup
Line haul line-haul
Delivery delivery

Leg status

Leg status reflect what activity has been done on the leg

Activity Leg status name Integer value used in JSON
Create NEW 1
Assign to driver ASSIGNED 20
Driver accepts ACCEPTED 25
Pickup at customer PICKED UP AT CUSTOMER 41
Driver unloads into depot (after pickup at customer) UNLOAD INTO DEPOT 101
Driver unloads into depot (from another depot) UNLOAD INTO NEXT DEPOT 102
Dispatcher disables leg DISABLED 0
Driver rejects leg REJECTED -2
Dispatcher removes leg from driver DEASSIGNED -1
Driver delivered at the delivery point DELIVERED 90

Create

Request:

{
        "consignmentId":"7112e147-f5d4-46c8-bf4e-f3ce768d2011",
        "runsheetId":null,
        "sequenceNumber":1,
        "fromZoneLineId":"b3fd9b1d-f2c5-457d-a7e2-8e3c9a10932d",
        "toZoneLineId":null,
        "fromDepotId":null,
        "toDepotId":"3a458f17-b0df-4d50-abcc-204f348bf7ce",
        "scheduleDate":null,
        "startDate":null,
        "completionDate":null,
        "type":"pickup",
        "status":true,
        "isFullConsignment":true,
}

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ConsignmentLeg);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns the consignment leg just created.

HTTP Request

Update

This endpoint updates a consignment leg details

Request JSON structured like this:

 {
        "id":"xxxxxx",
        "consignmentId":"7112e147-f5d4-46c8-bf4e-f3ce768d2011",
        "runsheetId":null,
        "sequenceNumber":1,
        "fromZoneLineId":"b3fd9b1d-f2c5-457d-a7e2-8e3c9a10932d",
        "toZoneLineId":null,
        "fromDepotId":null,
        "toDepotId":"3a458f17-b0df-4d50-abcc-204f348bf7ce",
        "scheduleDate":null,
        "startDate":null,
        "completionDate":null,
        "type":"pickup",
        "status":1,
        "isFullConsignment":true,

 }

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ConsignmentLeg);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'ConsignmentLeg.Id' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns the consignment leg details

HTTP Request

Request Json Parameters

Same as create leg.

Get

This endpoint get the detail of a consignment leg.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns the consignment leg details

HTTP Request

Response Json Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the consignment leg. uuid   Mandatory

For more detail about response parameter Click here.

Delete

This endpoint delete a consignment leg.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns an empty response with status 200.

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the consignment leg.   string uuid   Mandatory

Query

This endpoint search and get the detail of the consignments stages.

Javascript request be like:

var consignmentleg;
var _httpClient = new  HttpClient();
var id = 'xxxxx';
consignmentleg.Id=id;
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL  , 'POST', headers,consignmentleg);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        [
        {
        "id":"xxxxxx",
        "consignmentId":"7112e147-f5d4-46c8-bf4e-f3ce768d2011",
        "runsheetId":null,
        "sequenceNumber":1,
        "fromZoneLineId":"b3fd9b1d-f2c5-457d-a7e2-8e3c9a10932d",
        "toZoneLineId":null,
        "fromDepotId":null,
        "toDepotId":"3a458f17-b0df-4d50-abcc-204f348bf7ce",
        "scheduleDate":null,
        "startDate":null,
        "completionDate":null,
        "type":"pick up",
        "status":true,
        "isFullConsignment":true
        },
        {
        "id":"xxxxxx",
        "consignmentId":"7112e147-f5d4-46c8-bf4e-f3ce768d2011",
        "runsheetId":null,
        "sequenceNumber":1,
        "fromZoneLineId":"b3fd9b1d-f2c5-457d-a7e2-8e3c9a10932d",
        "toZoneLineId":null,
        "fromDepotId":null,
        "toDepotId":"3a458f17-b0df-4d50-abcc-204f348bf7ce",
        "scheduleDate":null,
        "startDate":null,
        "completionDate":null,
        "type":"line haul",
        "status":true,
        "isFullConsignment":true
        }
        ]

 }

HTTP Request

Response Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the consignment leg. uuid   Mandatory 36

For more detail about response parameter Click here.

Accept

This endpoint is for drivers to accept a consignment for their action.

Javascript request be like:


var _httpClient = new  HttpClient();
var model = {}
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'accept', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns an empty response with status 200

HTTP Request

Reject

This endpoint is for drivers to reject a consignment.

Javascript request be like:


var _httpClient = new  HttpClient();
var model = {}
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'reject', 'PUT', headers,model);  
 var apicall = _httpClient.send(req);

The above command returns and empty response with status SUCCESS (2xx).

HTTP Request

Pick up at customer

This endpoint is used when drivers complete a pickup on a consignment. The consignment is marked as 'PICKED UP'. The body of the request contains scan data if required.

Javascript request be like:


var _httpClient = new  HttpClient();
var scanData = new ScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'pickup', 'PUT', headers,scanData); 
 var apicall = _httpClient.send(req);

The above command returns an empty response with status SUCCESS (2xx).

HTTP Request

Deliver

This endpoint is used when driver finish delivery of a consignment. The consignment is marked as 'DELIVERED'. The body of the request contains scan data if required.

Javascript request be like:


var _httpClient = new  HttpClient();
var scanData = new ScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'deliver', 'PUT', headers,scanData); 
 var apicall = _httpClient.send(req);

The above command returns an empty response with status SUCCESS (2xx).

HTTP Request

Load from depot

This endpoint is used when drivers have loaded the articles onto his vehicle from the depot. If this leg is line-haul (inter-depot movement), consignment stage will be set to IN-TRANSIT. If this leg is delivery leg (final delivery), the consignment is set to 'ON-FOR-DELIVERY'. The body of the request contains scan data if required.

Javascript request be like:


var _httpClient = new  HttpClient();
var scanData = new ScanData();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'load-from-depot', 'PUT', headers,scanData); 
 var apicall = _httpClient.send(req);

The above command returns and empty response with status SUCCESS (2xx)

HTTP Request

Unload into depot

This endpoint is used when drivers completed unload the consignments into a depot. The consignment is marked as 'IN-DEPOT'. The body of the request contains scan data if required.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var scanData = new ScanData();
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'unload-into-depot', 'PUT', headers, scanData); 
 var apicall = _httpClient.send(req);

The above command returns an empty response with status SUCCESS (2xx)

HTTP Request

Back to depot for next delivery attempt

This endpoint is used at the depot, when drivers cannot deliver the consignment and have to carry it back to the depot for the next delivery attempt. The body of the request contains scan data if required.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var scanData = new ScanData();
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' + '/' + 'unload-back-into-depot-for-next-delivery', 'PUT', headers, scanData); 
 var apicall = _httpClient.send(req);

The above command returns an empty response with status SUCCESS (2xx)

HTTP Request

Customer

Create

This endpoint create the customer detail provided.

The request json structure like this:

{
        "code ":"OROG",
        "name ":"ORORA GLASS-GAWLER",
        "businessNumber ":"794274381",
        "contactName ":"Lee Wilton",
        "phoneNumber ":"03 9823 6288",
        "email ":"chris@expertfleetservice.com.au",
        "addressLine1 ":"BULLICKHEAD ST",
        "addressLine2 ":null,
        "addressLine3 ":null,
        "suburb ":"SUMNER PARK",
        "state ":"QLD",
        "postcode ":"4074",
        "countryCode ":"AU",
        "startDate ":"2020-11-02",
        "endDate ":"2025-11-02",
        "pickupAddressLine1 ":"54 SPINE STREET",
        "pickupAddressLine2 ":null,
        "pickupSuburb ":"SUMNER PARK",
        "pickupState ":"QLD",
        "pickupPostcode ":"4074",
        "isActive ":true,
        "accountManager ":null,
        "isCreditBlocked ":false,
        "isVipCustomer ":false,
        "consignmentPrefix ":"C",
        "minimumConsignmentLength ":null,
        "isSsccbarcodeRequired ":false,
        "barcodeFormat ":null,
        "lengthUom ":null,
        "weightUom ":null,
        "isCreateViaApi ":false,
        "useThirdPartyConsignment ":false,
        "useThirdPartyConsignmentLabel ":false,
        "isWeightRequired ":false,
        "isDimensionRequired ":false,
        "isDescriptionRequired ":false,
        "manifestPrefix ":null,
        "isGroupManifestBySender ":false,
        "isGroupManifestByService ":false,
        "isDailyManifest ":false,
        "isAutoCloseManifest ":false,
        "manifestAutoCloseTime ":null,
        "manifestPickupDefaultTime ":null,
        "isAutoManifestReport ":false,
        "reportCloseTime ":null,
        "isSingleDailyManifest ":false,
        "isSenderReferenceRequired ":false,
        "isReceiverReferenceRequired ":false,
        "isDeliveryTimeRequired ":false,
        "isPickupTimeRequired ":false,
        "isPickupCloseTimeRequired ":false,
        "rateCardId ":null,
        "cubicConversionFactor ":null,
        "kgToArticleConversionFactor ":null,
        "riskLevy ":null
}

Javascript request be like:

var _httpClient=new  HttpClient();
var model = JSON.&ensp; stringify(Customer);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
var req = new Request(URL, 'POST', headers, model);
var apicall = _httpClient.send(req);

The request json structure like this:

{
"status":200,
"message":"Customer detail has been created!!"
}

HTTP Request URL

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
code Unique number or a text value for the customer.   string   Mandatory 40
name Name of the customer.   string   Mandatory 40
businessNumber ABN number or a register number of the customer with in the organisation.   string   Optional 40
contactName Contact person name of the customer.   string   Optional 40
phoneNumber Phone number of the customer.   string   Optional 40
email Email address detail for the customer.   string   Optional 40
addressLine1 Lines of address like street name or building name for customer.   string   Mandatory 40
addressLine2   string   Optional 40
addressLine3   string   Optional 40
suburb Suburb of the customer address.   string   Mandatory 40
state State of the customer suburb.   string   Mandatory 3
postcode Postcode of the customer suburb.   string   Mandatory 6
countryCode Country of the customer address like: AU, US, UK etc.   string   Mandatory 2
startDate Beginning date of the customer with in a organisation.   date   Mandatory 40
endDate Expiry date for the customer with in a organisation.   date   Mandatory 40
pickupAddressLine1 Consignment pickup addressline for the customer.   string   Optional 40
pickupAddressLine2   string   Optional 40
pickupSuburb Consignment pickup suburb for the customer.   string   Optional 40
pickupState Consignment pickup state for the customer pickup address.   string   Optional 40
pickupPostcode Consignment pickup postcode for the customer pickup suburb.   string   Optional 40
isActive Customer status for the organisation.   boolean   Mandatory 40
accountManager Name of the authorise person who is managing customer details.   string   Mandatory 40
isCreditBlocked Status of the credit of the customer.   boolean   Optional 40
isVipCustomer Status of the customer is customer is VIP or not.   boolean   Optional 40
consignmentPrefix Prefix detail for the consignment of customer Like: COPEEXP01223 etc.   string   Optional 40
minimumConsignmentLength Minimum length of consignment.   decimal   Optional 40
isSsccbarcodeRequired Status of the SSCC label.   boolean   Optional 40
barcodeFormat Details of barcode formate.   string   Optional 40
lengthUom Measurement deatil of the length like: Centimeter, Meter etc.   string   Optional 40
weightUom Measurement deatil of the Weight of the consignment like: KG, Pound etc.   string   Optional 40
isCreateViaApi Status of the customer consignment for using API.   boolean   Optional 40
useThirdPartyConsignment Status of the customer consignment for using third party.   boolean   Optional 40
useThirdPartyConsignmentLabel Status of the customer consignment label for using third party.   boolean   Optional 40
isWeightRequired Status of the customer consignment weight requriment.   boolean   Optional 40
isDimensionRequired Status of the customer consignment dimension requriment.   boolean   Optional 40
isDescriptionRequired Status of the customer consignment description requriment.   boolean   Optional 40
manifestPrefix Formate of the manifest prefix for the customer.   string   Optional 40
isGroupManifestBySender Status of the customer manifest by sender detail.   boolean   Optional 40
isGroupManifestByService Status of the customer manifest by service detail.   boolean   Optional 40
isDailyManifest Status of the customer manifest by daily basis.   boolean   Optional 40
isAutoCloseManifest Status of the customer manifest by daily close basis.   boolean   Optional 40
manifestAutoCloseTime If customer manifest is auto close daily then required the auto close time.   datetime   Optional 40
manifestPickupDefaultTime If customer manifest is auto close daily then required the auto pickup time.   datetime   Optional 40
isAutoManifestReport If customer manifest is auto close daily then required status of the auto report.   boolean   Optional 40
reportCloseTime If IsAutoManifestReport is true then report close time is required.   datetime   Optional 40
isSingleDailyManifest If a customer do only one manifest a day then this field must be true.   boolean   Optional 40
isSenderReferenceRequired If customer needs to have sender reference in every consignment this field must to be true.   boolean   Optional 40
isReceiverReferenceRequired If customer needs to have receiver reference in every consignment this field must to be true.   boolean   Optional 40
isDeliveryTimeRequired If customer needs to have delivery time in every consignment this field must to be true.   boolean   Optional 40
isPickupTimeRequired If customer needs to have pick up time in every consignment this field must to be true.   boolean   Optional 40
isPickupCloseTimeRequired If customer needs to have pick up close time in every consignment this field must to be true.   boolean   Optional 40
pickupAddressLine3   string   Optional 40
pickupCountryCode   string   Optional 40
rateCardId If customer has a any associate default ratecard provided by organisation,then this field is mandatory.   string   Optional 40
cubicConversionFactor   string   Optional 40
kgToArticleConversionFactor   string   Optional 40
iskLevy   decimal   Optional 40

Get

This endpoint gets the detail of a customer.

Javascript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
        "id":"xxxxx",
        "code ":"OROG",
        "name ":"ORORA GLASS-GAWLER",
        "businessNumber ":"794274381",
        "contactName ":"Lee Wilton",
        "phoneNumber ":"03 9823 6288",
        "email ":"chris@expertfleetservice.com.au",
        "addressLine1 ":"BULLICKHEAD ST",
        "addressLine2 ":null,
        "addressLine3 ":null,
        "suburb ":"SUMNER PARK",
        "state ":"QLD",
        "postcode ":"4074",
        "countryCode ":"AU",
        "startDate ":"2020-11-02",
        "endDate ":"2025-11-02",
        "pickupAddressLine1 ":"54 SPINE STREET",
        "pickupAddressLine2 ":null,
        "pickupSuburb ":"SUMNER PARK",
        "pickupState ":"QLD",
        "pickupPostcode ":"4074",
        "isActive ":true,
        "accountManager ":null,
        "isCreditBlocked ":false,
        "isVipCustomer ":false,
        "consignmentPrefix ":"C",
        "minimumConsignmentLength ":null,
        "isSsccbarcodeRequired ":false,
        "barcodeFormat ":null,
        "lengthUom ":null,
        "weightUom ":null,
        "isCreateViaApi ":null,
        "useThirdPartyConsignment ":false,
        "useThirdPartyConsignmentLabel ":false,
        "isWeightRequired ":false,
        "isDimensionRequired ":false,
        "isDescriptionRequired ":false,
        "manifestPrefix ":null,
        "isGroupManifestBySender ":false,
        "isGroupManifestByService ":false,
        "isDailyManifest ":false,
        "isAutoCloseManifest ":false,
        "manifestAutoCloseTime ":null,
        "manifestPickupDefaultTime ":null,
        "isAutoManifestReport ":false,
        "reportCloseTime ":null,
        "isSingleDailyManifest ":false,
        "isSenderReferenceRequired ":false,
        "isReceiverReferenceRequired ":false,
        "isDeliveryTimeRequired ":false,
        "isPickupTimeRequired ":false,
        "isPickupCloseTimeRequired ":false,
        "rateCardId ":null,
        "cubicConversionFactor ":null,
        "kgToArticleConversionFactor ":null,
        "riskLevy ":null
}

HTTP Request

Response Json Parameters

To know more about response parameter please refer to Create Customer section.

Update

This endpoint gets the detail of a customer.

Json request be like:

{
        "id":"xxxxx",
        "code ":"OROG",
        "name ":"ORORA GLASS-GAWLER",
        "businessNumber ":"794274381",
        "contactName ":"Lee Wilton",
        "phoneNumber ":"03 9823 6288",
        "email ":"chris@expertfleetservice.com.au",
        "addressLine1 ":"BULLICKHEAD ST",
        "addressLine2 ":null,
        "addressLine3 ":null,
        "suburb ":"SUMNER PARK",
        "state ":"QLD",
        "postcode ":"4074",
        "countryCode ":"AU",
        "startDate ":"2020-11-02",
        "endDate ":"2025-11-02",
        "pickupAddressLine1 ":"54 SPINE STREET",
        "pickupAddressLine2 ":null,
        "pickupSuburb ":"SUMNER PARK",
        "pickupState ":"QLD",
        "pickupPostcode ":"4074",
        "isActive ":true,
        "accountManager ":null,
        "isCreditBlocked ":false,
        "isVipCustomer ":false,
        "consignmentPrefix ":"C",
        "minimumConsignmentLength ":null,
        "isSsccbarcodeRequired ":false,
        "barcodeFormat ":null,
        "lengthUom ":null,
        "weightUom ":null,
        "isCreateViaApi ":null,
        "useThirdPartyConsignment ":false,
        "useThirdPartyConsignmentLabel ":false,
        "isWeightRequired ":false,
        "isDimensionRequired ":false,
        "isDescriptionRequired ":false,
        "manifestPrefix ":null,
        "isGroupManifestBySender ":false,
        "isGroupManifestByService ":false,
        "isDailyManifest ":false,
        "isAutoCloseManifest ":false,
        "manifestAutoCloseTime ":null,
        "manifestPickupDefaultTime ":null,
        "isAutoManifestReport ":false,
        "reportCloseTime ":null,
        "isSingleDailyManifest ":false,
        "isSenderReferenceRequired ":false,
        "isReceiverReferenceRequired ":false,
        "isDeliveryTimeRequired ":false,
        "isPickupTimeRequired ":false,
        "isPickupCloseTimeRequired ":false,
        "rateCardId ":null,
        "cubicConversionFactor ":null,
        "kgToArticleConversionFactor ":null,
        "riskLevy ":null
}

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Customer);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Customer detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please refer to Create Customer section.

Delete

This endpoint delete the detail of a customer.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Customer detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the customer.   string   Mandatory 40

Customer Invoice

Invoice a consignment

This end point generates an invoice for a consignment.

Javascript


 var _httpClient = new  HttpClient();
 var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var consignmentId = xxxx;
 var req = new Request('webapi/consignment/' + consignmentId + '/invoice'  , 'POST', headers, {});
 var apicall = httpClient.send(req);

The above code returns the invoice object created

HTTP Request

Request Json URL Parameters

Parameter Description Type   Optional /   Mandatory Length
consignmentId The id of the consignment that you are going to create invoice.   string   Optional 36

Invoice an warehouse order

This end point generates an invoice for a warehouse order.

Invoice multiple consignments

This endpoint generate multiple invoices for multiple consignments.

Javascript


 var _httpClient = new  HttpClient();
 var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var form = {
    consignmentIds: ["xx","xx","xx"] //list of consignmentIds to be invoiced
 };
 var req = new Request(URL +'/' + 'generate' , 'POST', headers, form);
 var apicall = httpClient.send(req);

HTTP Request

Request Json Fields

Field Type Optional / Mandatory Description
consignmentIds uuid[] mandatory list of consignments' ids to generate invoices

Response Json Fields

Field Type Description
generatedInvoices object[] list of invoice objects generated.

Get Invoice Details

This endpoint gets an invoice's details.

Javascript

 var _httpClient = new  HttpClient();
 var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' + '{invoiceId}' , 'GET', headers);
 var apicall = httpClient.send(req);

Example response:

 {
   "customerId"  :"aa3f2f4f-edac-4a19-977b-1a410d22cccc",
     "invoiceNumber"  :"INV8097",
     "customerRefNo":null,
     "issueDate"  :"07/06/2021 00:00 00",
     "dueDate" :"25/06/2021 00:00 00",
     "status" :1,
     "currency"  :"AUD",
     "invoiceTotalExTax"  :134.34,
     "invoiceTax"  :13.4,
     "invoiceTotalIncTax"  :147.74,
     "amountPaid" :147.74,
   "items":
   [
     {
  "invoiceId"  :"64d0e600-014d-4cf7-9264-4e2ccee8f007",
    "billingEntityType"  :"Consignment", 
    "billingEntityId"  :"d5dce911-f531-4fb7-adbe-65b8218be241", 
    "lineType"  :1,
    "unitPrice" :500.20,
    "quantity"  :1,
    "taxCode" :"PROD2",
    "taxPercent"  :10,
    "taxAmount" :13.4,
    "lineTotalExTax" :134.34,
    "lineTotalIncTax" :147.74,
    }
   ]
 }

HTTP Request

Request URL Parameters

Parameter Description Type   Optional /   Mandatory Length
id The id of the invoice that you are going to get.   string   Optional 36

Query Invoices

This endpoint search for invoices. More information can be found in search query

Create charge or credit

This endpoint uses to create a charge (invoice) or credit (reverse-charge). A charge is typically an invoice but it can include various non-invoice charge, for example: statement fee, payment processing fee, late payment fees ..etc... This endpoint can also create reverse-invoice (credit) for customer. This API is not for billing a consignment or an warehouse order. To create invoice for a consignment or warehouse order, use other API as described above.

Javascript

var invoice = 
{
 invoiceNumber: 'xx',//auto-generated if leave blank
 customerRefNo: 'yy',
 issueDate: '2021-09-14',
 customerId: 'xxxxx',
 type: 'I' //this could be: I=invoice, C=credit, default is invoice(I)
 dueDate: '2021-10-14',//auto calculate from issueDate using payment term
 chargeType: 'F'//this could be: I for invoice charge, F for other fees, leave blank if this is a credit
 items: [
    {
      itemDescription: 'late fees for September statement',
      unitPrice: 2.5,
      quantity: 1,
      accountCode: 'A' //customer default account code if leave blank
    }
 ] 
}
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };

var req = new Request(URL +'/customer-invoice' , 'POST', headers, invoice);
var apicall = httpClient.send(req);

Request payload fields:

Field Type Optional/Mandatory Description
invoiceNumber text mandatory invoice number
customerRefNo text mandatory customer reference number
issueDate date optional system will set to current date if this field is empty
customerId guid mandatory customer ID
type char mandatory I for invoice and C for credit
dueDate date mandatory due date for the invoice
chargeType char optional blank for credit, F for other fees, I for normal invoice charge
items object[] mandatory list of item line
items[].itemDescription text item description
unit price decimal unit price
quantity number quantity
accountCode text customer account code to charge for

HTTP Request

Delete Invoice

This endpoint deletes an invoice. (before the invoice is finalised)

Javascript


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The response is empty with status code 2xx

HTTP Request

URL Parameters

Parameter Description Type   Optional /   Mandatory Length
id Id of a invoice which is going to be delete.   datetime   Mandatory N/A

Customer Payment

Create

This api create the details of customer payment.

Request

 {

  "customerId":"7cd939d2-5938-4cb9-a280-9fbb60036161" ,
    "amount":134.2 ,
    "paymentDate":"07/06/2021 00:00 00" ,
    "paymentMethod":"Card" ,
    "paymentReference":"Inv2333",
    "comments":null  ,
  "invoicePayments":
  [
    {
      "invoiceId" :"4afac6b9-c27d-4edc-bcef-4a4771089901",
        "customerPaymentId" :"188c817b-cfda-453a-9ffd-25b210db33ee",    
        "amountAllocated" :134.2,
    }
  ]
 }
var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ArticleType);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'POST', headers,model);
 var apicall = httpClient.send(req);

The above command returns the payment object created

HTTP Request

Request Json Parameters

Field Description Type   Optional /   Mandatory Length
customerId Unique id of customer.   string   Mandatory 36
amount Total amount that has been paid by customer.   string   Mandatory 6
paymentDate Invoice paid date.   string   Mandatory N/A
paymentMethod Payment method. Example: Card, Cash ..   string   Mandatory 36
paymentReference Reference of the payment.   string   Mandatory 36
comments Notes for the payment.   string   Mandatory 36
invoicePayments list of lines for each invoice   array of object   Mandatory 36
invoiceId Invoice id that has been paid.   string   Mandatory 36
amountAllocated The amount which has been paid.   decimal   Mandatory 10

Get

This endpoint get the detail of a customer payment.

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

Response sample:

 {
  "id":"xxxx" ,
  "customerId":"7cd939d2-5938-4cb9-a280-9fbb60036161" ,
    "amount":134.2 ,
    "paymentDate":"07/06/2021 00:00 00" ,
    "paymentMethod":"Card" ,
    "paymentReference":"Inv2333",
    "comments":null  ,
    "status":1,
  "invoicePayments":
  [
    {
      "invoiceId" :"4afac6b9-c27d-4edc-bcef-4a4771089901",
        "customerPaymentId" :"188c817b-cfda-453a-9ffd-25b210db33ee",    
        "amountAllocated" :134.2,
    }
  ]
 }
 }

HTTP Request

Response Json Parameters

To know more about response parameter please refer to Create Customer Payment section.

Delete

This endpoint delete the detail of a customer payment.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The response is empty with status code 2xx

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the article type.   string   Mandatory 36

Customer Account Statement

Create

This endpoint creates a statement

Request sample:

 {
 "customerId":"51564f7e-7e40-4295-afa8-ad4bbc1186f8",
 "dateTo":"2021-10-09",
 }
var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(accountPayment);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'POST', headers,model);
 var apicall = httpClient.send(req);

The response is the statement object created

HTTP Request

Request Json Parameters

Field Description Type   Optional /   Mandatory
customerId Unique Id of a customer.   string   Mandatory
dateTo Statement end date, blank value will create a statement up to the date before the current date.   date optional

Get

This endpoint get the detail of a statement

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

Response sample

 {
  "id":"xxxx",
 "customerId":"51564f7e-7e40-4295-afa8-ad4bbc1186f8",
 "number":"11",
 "dateFrom":"01/06/2021 00:00 00",
 "dateTo":"25/06/2021 00:00 00",
 "statementDate":"25/07/2021 00:00 00",
 "totalAmount":1125.30  
 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the statement.   string   Mandatory 36

Query

Refer to search query (general search) for details of search for statement

Warehousing

Receiving process

The process of receiving includes these requests

Status

Status name Value in json Description
NEW 0 order created
COMPLETED 1 Order completed (received)
CANCELLED 2 Order cancelled
Status name Value in Json Description
NEW 0 Goods Receipt created
COMPLETED 1 Goods receipt completed (received into warehouse)

Data fields

Data field Type Description
id uuid Primary key
orderNumber text Order number
businessLocationId uuid warehouse Id, refer to table businessLocation, type=warehouse
customerId uuid customer the warehouse order belongs to
referenceNo text additional reference information
orderDate date order date
expectedReceiptDate date date of receiving (planned)
lines object[] array of order lines
line[].productId uuid product to received
line[].orderQuantity number quantity expect to receive
Data field Type Description
id uuid primary key
inboundOrderId uuid the inbound order for which this goods receipt is for
receiptDate date date on which the receipt finished (goods received into the warehouse)
lines object[] list of detail lines of the goods receipt
line[].inboundOrderLineId uuid the order line for which this receipt line is received
line[].batchNumber text batch number for this receipt line if applicable
line[].expiryDate date expiry date of the goods received if applicable
line[].bins object[] details of the bin goods were stored into during receiving process
line[].bin[].binId uuid the bin Id (refer to bin master)
line[].bin[].quantity number quantity received at this bin
line[].serialNumbers object[] array of serial numbers received by this line
line[].serialNumber[].serialNumber text the serial number recorded

Create Inbound Order

This end points create an warehouse order

Javascript example:

var whOder = {
    orderNumber: "TESTORDER",
    customerId: "9d62fca5-1562-4b6f-bc6c-2e81ee5b723c",
    businessLocationId:"8e118da2-7bbc-4d4b-b3a1-3358abf5f450",
    orderDate:"2021-11-08",
    lines:[
        {
            productId:"088219d8-c73a-44df-92c3-99d3ba2dc6db",
            orderQuantity:30
        }
    ]
};
var _httpClient = new  HttpClient();
var model = JSON.stringify(whOrder);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/warehouse-inbound-order' , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The call will return the order just created

HTTP Request

Search Inbound Order

Refer to the common search query for details

Create Goods Receipt

This endpoint creates a goods receipt for the order line. Multiple goods receipt can be added to a same order line.

Javascript example:

var goodsReceipt = {
    inboundOrderId: "87546545-034b-49b5-b5e1-139db4634ca5",
    receiptDate:"2021-11-08",
    lines:[
        {
            inboundOrderLineId: "bc1604b2-46ab-41d0-9a89-5b14c917c7db",
            bins:[
                {
                    "binId":"227fac0d-555d-45d0-976a-0973eb0a0cb8",
                    "quantity":20
                },
                {
                    "binId":"ee6aefd5-c7c2-45ad-aace-31a1a45bf5ea",
                    "quantity":10
                }
            ]
        }
    ]
};
var _httpClient = new  HttpClient();
var model = JSON.stringify(goodsReceipt);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/warehouse-order-goods-receipt' , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The call will return the goods receipt just created

HTTP Request

Search Goods Receipt

Refer to the common search query for details

Complete Goods Receipt

This endpoint will completes a goods receipt. It puts the status of the receipt to 'COMPLETED' and the stock on hand is increased that the bin specified in the receipt.

Javascript example:

var _httpClient = new  HttpClient();
var id = "";
var model = JSON.stringify({});//no payload
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/warehouse-order-goods-receipt/' + id + '/complete' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The call will return the goods receipt just completed

HTTP Request

Request parameters on url

Parameter Type Description
{id} uuid the id of the goods-receipt to complete

Complete Inbound Order

This endpoint will close the order so no receipt can be added to the order. Prior to closing the order, all goods receipts must be also closed (completed)

Javascript example:

Javascript example:

var _httpClient = new  HttpClient();
var id = "";
var model = JSON.stringify({});//no payload
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/warehouse-inbound-order/' + id + '/complete' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The call will return the inbound order just completed

HTTP Request

Request parameters on url

Parameter Type Description
{id} uuid the id of the inbound order to complete

Driver

Create

This endpoint create driver detail for the organisation.

Request JSON structured like this:

{

        "driverCode" : "COPEDIV3",
        "driverName" : "Jony Lorance",
        "status" : 1,
        "holdFlag" : null,
        "payrollCode" : null,
        "address1" : "24 smythe St",
        "address2" : null,
        "address3" : null,
        "phone" : null,
        "mobile" : null,
        "company" : "Cope",
        "bulkdg" : null,
        "email" : null,
        "dob" : "18-06-1986",
        "emergencyPhone" : null,
        "depot" : null,
        "maxSpeedAlertToDriver" : null,
        "maxSpeedAlertToDespatch" : null,
        "maxSpeedAlertToDespatchDuration" : null,
        "licenceNumber" : "21658963",
        "licenceValidDate" : "22-06-2026",
        "licenceIssuedDate" : "15-01-2021",
        "licenceIssuedState" : "NSW",
        "isActive" : true,
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Driver);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Driver detail has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
driverCode Identifier id for the driver.   string   Mandatory 40
driverName Name of the driver.   string   Mandatory 40
status   integer   Mandatory 3
holdFlag   integer   Mandatory 3
payrollCode   string   Mandatory 40
address1 Postal address line of driver,must be steet name, building name.   string   Mandatory 40
address2   string   Mandatory 40
address3   string   Mandatory 40
Pphone Phone number of the driver.   string   Optional 20
mobile Mobile Number of the driver.   string   Optional 20
company Driver associated company name.   string   Optional 40
bulkdg   string   Optional 40
email Email of driver.   string   Optional 40
dob Date of birth of driver . Date   Optional 10
emergencyPhone   string   Optional 20
depot   string   Optional 40
maxSpeedAlertToDriver   integer   Optional 3
maxSpeedAlertToDespatch   integer   Optional 3
maxSpeedAlertToDespatchDuration   integer   Optional 3
licenceNumber Driving licence number of the driver.   string   Mandatory 20
licenceValidDate Licence expiry date. Date   Mandatory 10
licenceIssuedDate Licence issued date. Date   Mandatory 10
licenceIssuedState Licence issued state.   string   Mandatory 3
isActive Status of the driver, must be true if driver is working.   boolean   Mandatory N/A

Get

This endpoints get the detail of a driver.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxxx",
        "driverCode" : "COPEDIV3",
        "driverName" : "Jony Lorance",
        "status" : 1,
        "holdFlag" : null,
        "payrollCode" : null,
        "address1" : "24 smythe St",
        "address2" : null,
        "address3" : null,
        "phone" : null,
        "mobile" : null,
        "company" : "Cope",
        "bulkdg" : null,
        "email" : null,
        "dob" : "18-06-1986",
        "emergencyPhone" : null,
        "depot" : null,
        "maxSpeedAlertToDriver" : null,
        "maxSpeedAlertToDespatch" : null,
        "maxSpeedAlertToDespatchDuration" : null,
        "licenceNumber" : "21658963",
        "licenceValidDate" : "22-06-2026",
        "licenceIssuedDate" : "15-01-2021",
        "licenceIssuedState" : "NSW",
        "isActive" : true
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update

This endpoint update the detail of a driver.

Json request be like:

 {
        "id":"xxxxxx",
        "driverCode" : "COPEDIV3",
        "driverName" : "Jony Lorance",
        "status" : 1,
        "holdFlag" : null,
        "payrollCode" : null,
        "address1" : "24 smythe St",
        "address2" : null,
        "address3" : null,
        "phone" : null,
        "mobile" : null,
        "company" : "Cope",
        "bulkdg" : null,
        "email" : null,
        "dob" : "18-06-1986",
        "emergencyPhone" : null,
        "depot" : null,
        "maxSpeedAlertToDriver" : null,
        "maxSpeedAlertToDespatch" : null,
        "maxSpeedAlertToDespatchDuration" : null,
        "licenceNumber" : "21658963",
        "licenceValidDate" : "22-06-2026",
        "licenceIssuedDate" : "15-01-2021",
        "licenceIssuedState" : "NSW",
        "isActive" : true
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(driver);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Driver detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about Request parameter please Click here.

Delete

This endpoint delete the detail of a driver.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Driver detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the driver.   string   Mandatory 40

Jobs

Get Assigned Jobs

This endpoint gets all the assigned job within the dates for the depot.

Request JSON structured like this:

 {

       "dateFrom" : "07/06/2021 00:00 00",
       "dateTo" : "07/07/2021 00:00 00",
       "depotId" : "66e0a506-64b4-4c55-90aa-940f9da3cb05"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' +'consignmentId' , 'POST', headers);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"assign",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "jobLines":
        [
          {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"assign",
          "ref":"O3379784R8",
            "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
           "entityType":"Consignment",
          "entityId":"debf465e-8232-4097-a251-983644810088",
          "type":"assign",
          "ref":"R3017138R1",
          "statusCode":1,
          "status":"active"
          "specialInstructions":""
          },
          {
          "entityType":"Consignment",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"assign",
          "ref":"MEA081515831",
          "specialInstructions":"",
          "statusCode":1,
          "status":"active"
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
dateFrom Start date to get jobs.   datetime   Mandatory 40
dateto End date to get jobs.   datetime   Mandatory 40
depotId The id of business location.Click Here for more detail.   string   Mandatory 40

Get UnAssigned Jobs

This endpoint gets all the unassigned job within the dates for the depot.

Request JSON structured like this:

 {

       "dateFrom" : "07/06/2021 00:00 00",
       "dateTo" : "'07/07/2021 00:00 00'",
       "depotId" : "66e0a506-64b4-4c55-90aa-940f9da3cb05"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' +'consignmentId' , 'POST', headers);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"unassign",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"unassign",
          "ref":"O3379784R8",
          "specialInstructions":null
          },
          {
           "entityType":"Consignment",
          "entityId":"debf465e-8232-4097-a251-983644810088",
          "type":"unassign",
          "ref":"R3017138R1",
          "specialInstructions":null
          },
          {
          "entityType":"Consignment",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"unassign",
          "ref":"MEA081515831",
          "specialInstructions":null
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
dateFrom Start date to get jobs.   datetime   Mandatory 40
dateto End date to get jobs.   datetime   Mandatory 40
depotId The id of business location.Click Here for more detail.   string   Mandatory 40

Get Onboard Jobs

This endpoint gets all the onboard job within the dates for the depot.

Request JSON structured like this:

 {

       "dateFrom" : "07/06/2021 00:00 00",
       "dateTo" : "'07/07/2021 00:00 00'",
       "depotId" : "66e0a506-64b4-4c55-90aa-940f9da3cb05"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' +'consignmentId' , 'POST', headers);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"onboard",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"onboard",
          "ref":"O3379784R8",
          "specialInstructions":null
          },
          {
           "entityType":"Consignment",
          "entityId":"debf465e-8232-4097-a251-983644810088",
          "type":"onboard",
          "ref":"R3017138R1",
          "specialInstructions":null
          },
          {
          "entityType":"Consignment",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"onboard",
          "ref":"MEA081515831",
          "specialInstructions":null
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
dateFrom Start date to get jobs.   datetime   Mandatory 40
dateto End date to get jobs.   datetime   Mandatory 40
depotId The id of business location.Click Here for more detail.   string   Mandatory 40

Get All Active Jobs

This endpoint gets all active job within the dates for the depot.

Request JSON structured like this:

 {

       "dateFrom" : "07/06/2021 00:00 00",
       "dateTo" : "'07/07/2021 00:00 00'",
       "depotId" : "66e0a506-64b4-4c55-90aa-940f9da3cb05"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' +'consignmentId' , 'POST', headers);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":null,
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "jobLines":
        [
          {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":null,
          "ref":"O3379784R8",
          "specialInstructions":null
          },
          {
           "entityType":"Consignment",
          "entityId":"debf465e-8232-4097-a251-983644810088",
          "type":null,
          "ref":"R3017138R1",
          "specialInstructions":null
          },
          {
          "entityType":"Consignment",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"assign",
          "ref":"MEA081515831",
          "specialInstructions":null
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
dateFrom Start date to get jobs.   datetime   Mandatory 40
dateto End date to get jobs.   datetime   Mandatory 40
depotId The id of business location.Click Here for more detail.   string   Mandatory 40

Get All Jobs

This endpoint gets all job within the dates for the depot.

Request JSON structured like this:

 {

       "dateFrom" : "07/06/2021 00:00 00",
       "dateTo" : "'07/07/2021 00:00 00'",
       "depotId" : "66e0a506-64b4-4c55-90aa-940f9da3cb05"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL +'/' +'consignmentId' , 'POST', headers);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":null,
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "jobLines":
        [
          {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":null,
          "ref":"O3379784R8",
          "specialInstructions":null
          },
          {
          "entityType":"Warehouse",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"pointtopoint",
          "ref":"MEA081515831",
          "specialInstructions":null
          "statusCode":1,
          "status":"active"
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
dateFrom Start date to get jobs.   datetime   Mandatory N/A
dateto End date to get jobs.   datetime   Mandatory N/A
depotId The id of business location.Click Here for more detail.   string   Mandatory 36

Update Picked Up Job

This endpoint update all job to pickup status within the dates for the depot.

Request JSON structured like this:

 ```json
 {
        "date":"07/07/2021 00:00 00",
        "type":"picked up",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "statusCode":1,
        "status":"active",
        "runsheetId":null,
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"pick up",
          "ref":"O3379784R8",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
           "entityType":"Booking",
          "entityId":"debf465e-8232-3697-a251-983644810088",
          "type":"deliver",
          "ref":"R3017138R1",
          "specialInstructions":null
          },
          {
          "entityType":"Consignment",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"assign",
          "ref":"MEA081515831",
          "specialInstructions":null
          }
        ]
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
date   string   Mandatory 40
type   string   Mandatory 40
phone   string   Mandatory 40
addressLine1   string   Mandatory 40
addressLine2   string   Mandatory 40
suburb   string   Mandatory 40
postcode   string   Mandatory 40
state   string   Mandatory 40
country   string   Mandatory 40
statusCode   string   Mandatory 40
status   string   Mandatory 40
runsheetId   string   Mandatory 40

Request Json Parameters

For more detail about request json parameters please Click Here.

Update Loaded Jobs

This endpoint update all jobs to loaded status within the dates for the depot.

Request JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"loaded",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "statusCode":1,
        "status":"active",
        "runsheetId":null,
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"pick up",
          "ref":"O3379784R8",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
           "entityType":"Booking",
          "entityId":"debf465e-8232-3697-a251-983644810088",
          "type":"deliver",
          "ref":"R3017138R1",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
          "entityType":"Warehouse",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"pointtopoint",
          "ref":"MEA081515831",
          "specialInstructions":null
          "statusCode":1,
          "status":"active"
          }
        ]
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL  , 'PUT', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
    "code":"200",
   "message":"Loaded job status has been updated!!"
 }

HTTP Request

Request Json Parameters

For more detail about request json parameters please Click Here.

Update UnLoaded Jobs

This endpoint update all jobs to unloaded status within the dates for the depot.

Request JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"Unloaded",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "statusCode":1,
        "status":"active",
        "runsheetId":null,
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"pick up",
          "ref":"O3379784R8",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
           "entityType":"Booking",
          "entityId":"debf465e-8232-3697-a251-983644810088",
          "type":"deliver",
          "ref":"R3017138R1",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
          "entityType":"Warehouse",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"pointtopoint",
          "ref":"MEA081515831",
          "specialInstructions":null
          "statusCode":1,
          "status":"active"
          }
        ]
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL  , 'PUT', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
    "code":"200",
   "message":"Unloaded job status has been updated!!"
 }

HTTP Request

Request Json Parameters

For more detail about request json parameters please Click Here.

Update Return Jobs

This endpoint update all jobs to unloaded status within the dates for the depot.

Request JSON structured like this:

 {
        "date":"07/07/2021 00:00 00",
        "type":"Return",
        "phone":"0426655889",
        "addressLine1":"10 Broker St",
        "addressLine2":"",
        "suburb":"Pot Point",
        "postcode":"2009",
        "state":"NSW",
        "country":"AU",
        "statusCode":1,
        "status":"active",
        "runsheetId":null,
        "jobLines":
        [
           {
          "entityType":"Consignment",
          "entityId":"88718d06-7de2-42b9-8a7f-ab03f1c1fa3c",
          "type":"pick up",
          "ref":"O3379784R8",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
           "entityType":"Booking",
          "entityId":"debf465e-8232-3697-a251-983644810088",
          "type":"deliver",
          "ref":"R3017138R1",
          "specialInstructions":null,
          "statusCode":1,
          "status":"active"
          },
          {
          "entityType":"Warehouse",
          "entityId":"a10a1020-e193-4ff8-bea5-fe49223efb02",
          "type":"pointtopoint",
          "ref":"MEA081515831",
          "specialInstructions":null
          "statusCode":1,
          "status":"active"
          }
        ]
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
 var consignmentId='xxxx',
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL  , 'PUT', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
    "code":"200",
   "message":"Retrun job status has been updated!!"
 }

HTTP Request

Request Json Parameters

For more detail about request json parameters please Click Here.

Product

Create

This endpoint create the item or product detail for the organisation.

Request JSON structured like this:

 {

       "customerId" : "44d4f5ba-9d7c-4c6c-84a4-fa916c8f1695",
       "code" : "JD3202V/X9105",
       "name" : "CL400R-2-2G BLACK",
       "length" : 160,
       "width" : 68,
       "height" : 72,
       "weight" : 50,
       "isGstApplicable" : false,
       "isDangerousGood" : false,
       "naseUom" : CM,
       "countryOfMade" : CN,
       "innerPack" : 1,
       "outerPack" : 2,
       "cartonPerLayer" : 3,
       "description" : null,
       "isActive" : true,
       "isSelfPackaged" : false,
       "articleTypeId" : "bc3644f6-0c06-440f-98f6-e06a11894462"
 }

Javescript call like this:

 var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Product);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

 {
   "code":"200",
   "message":"Product has been created!!"
 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
customerId If the product is associated with customer,click here for more detail.   string   Optional 40
code A identifier id for the product.   string   Mandatory 40
name Name of the product.   string   Mandatory 40
length Length of the product.   decimal   Mandatory 40
width Width of the product.   decimal   Mandatory 40
height Height of the product.   decimal   Mandatory 40
weight Weight of the product.   decimal   Mandatory 40
isGstApplicable Value must be true if GST applicable.   boolean   Mandatory 40
isDangerousGood Value must be true if the product related to dangerous good.   boolean   Mandatory 40
baseUom Unit of measurement, value must be like CM, M.   string   Mandatory 40
countryOfMade The country code where the product has been made.   string   Mandatory 40
innerPack   integer   Optional 40
outerPack   integer   Optional 40
cartonPerLayer   integer   Optional 40
description Details of product.   string   Optional 40
isActive Status of the product.   boolean   Mandatory 40
isSelfPackaged   boolean   Optional 40
articleTypeId Fright type of the product, click here for more detail.   string   Mandatory 40

Get

This api is used to get the detail of a product.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
       "id":"xxxxxx",
       "customerId" : "44d4f5ba-9d7c-4c6c-84a4-fa916c8f1695",
       "code" : "JD3202V/X9105",
       "name" : "CL400R-2-2G BLACK",
       "length" : 160,
       "width" : 68,
       "height" : 72,
       "weight" : 50,
       "isGstApplicable" : false,
       "isDangerousGood" : false,
       "naseUom" : CM,
       "countryOfMade" : CN,
       "innerPack" : 1,
       "outerPack" : 2,
       "cartonPerLayer" : 3,
       "description" : null,
       "isActive" : true,
       "isSelfPackaged" : false,
       "articleTypeId" : "bc3644f6-0c06-440f-98f6-e06a11894462"
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here.

Update

This endpoint update the detail of a product.

Json request be like:

 {
       "id":"xxxxxx",
       "customerId" : "44d4f5ba-9d7c-4c6c-84a4-fa916c8f1695",
       "code" : "JD3202V/X9105",
       "name" : "CL400R-2-2G BLACK",
       "length" : 160,
       "width" : 68,
       "height" : 72,
       "weight" : 50,
       "isGstApplicable" : false,
       "isDangerousGood" : false,
       "naseUom" : CM,
       "countryOfMade" : CN,
       "innerPack" : 1,
       "outerPack" : 2,
       "cartonPerLayer" : 3,
       "description" : null,
       "isActive" : true,
       "isSelfPackaged" : false,
       "articleTypeId" : "bc3644f6-0c06-440f-98f6-e06a11894462"
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(product);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Product detail has been updated!!"
}

HTTP Request

Request Josn Parameters

To know more about response parameter please Click here .

Delete

This endpoint delete the detail of a product.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Product detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the product type.   string   Mandatory 40

RateCard

Create

A rate card is a document containing prices and descriptions for the various ad placement options available from a service sector such as a shipment. This endpoint create the detail of rate card for a orgisation.Its can be customer base or can be a ratecard for all customer of the organisation.

Request JSON structured like this:

{

       "type": "customerRateCard",
       "title": "customer 2",
       "startDate": "2020-11-02",
       "sndDate": "2021-10-13",
       "zoneGroupId": "b392a098-6183-412f-ae30-13d1c6dc50cv"
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(RateCard);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Rate Card has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
type The type of the rate card,either its for customer base or driverbase or for whole organisation.   string   Optional 40
title Title for the ratecard type.   string   Optional 40
startDate Starting date of the ratecard. Date   Mandatory 10
endDate Expiry date of the ratecard. Date   Mandatory 10
zoneGroupId Every rate card must have its zonegroup.   string   Mandatory 40

Get

This endpoints get a detail of ratecard related to the organisation.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
       "id":"xxxxxxxx",
       "type": "customerRateCard",
       "title": "customer 2",
       "startDate": "2020-11-02",
       "sndDate": "2021-10-13",
       "zoneGroupId": "b392a098-6183-412f-ae30-13d1c6dc50cv"
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update

This endpoint update the detail of a ratecard.

Json request be like:

 {
       "id":"xxxxxxxx",
       "type": "customerRateCard",
       "title": "customer 2",
       "startDate": "2020-11-02",
       "sndDate": "2021-10-13",
       "zoneGroupId": "b392a098-6183-412f-ae30-13d1c6dc50cv"
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ratecard);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Rate card detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete

This endpoint delete the detail of a ratecard.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Rate card detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the ratecard.   string   Mandatory 40

Create RateCard Line

This endpoint create the detail of the break down of rate card for a organisation with related service,rate applied zone and charges

Request JSON structured like this:

{

        "rateCardId" : "6cffecc2-02a1-4971-a519-07930dbffc75",
        "serviceId" : "8c255022-b830-4f79-a03a-4adae300dec7",
        "fromZoneId" : "dd12d86f-1801-4fde-9890-ba150ce50528",
        "toZoneId" : "ad11bb21-2efd-4ef1-b15c-13bdb6a58a89",
        "fuelSurcharge" : null,
        "computeType" : null,
        "minCharge" : "218.6300",
        "maxCharge" : null,
        "pickupSurcharge" : null,
        "deliverySurcharge" : null,
        "slabOrVolume" : null,
        "articleTypeId" : "c4f41dbd-8dc5-41a4-b58e-69bcb4e93555",
        "riskLevy" : null
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(RateCardLine);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Rate Card line has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
rateCardId The related rate card for the line. click here for more detail.   string   Mandatory 40
serviceId Service id for the rate charge line click here for more detail.   string   Mandatory 40
fromZoneId From zone id for the rate charge line click here for more detail .   string   Mandatory 40
toZoneId To zone id for the rate charge line click here for more detail   string   Mandatory 40
fuelSurcharge Afuel surcharge or fuel levy 'is a fee used to accommodate fuel cost fluctuations in freight rates.   decimal   Optional 40
computeType Rate calculation base.   string   Optional 40
minCharge Minimum charge for per shimment.   decimal   Mandatory 40
maxCharge Maximum charge for per shimment.   decimal   Optional 40
pickupSurcharge Pick up fee, this fee covers haulage from the exporter's premises to the depot/warehouse.   decimal   Optional 40
deliverySurcharge Fee for delivery of the shipment.   decimal   Optional 40
slabOrVolume Rate calculation base on, value must be either slab or volume.   string   Optional 40
articleTypeId Fright Type id for the shipment charge. click here for more detail.   string   Optional 40
riskLevy Risk amount charge for the shipment.   decimal   Optional 40

Get RateCard Line

This endpoints get a detail of ratecard charge related to the organisation on the basis of zones, service and article type.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxxxxxx",
        "rateCardId" : "6cffecc2-02a1-4971-a519-07930dbffc75",
        "serviceId" : "8c255022-b830-4f79-a03a-4adae300dec7",
        "fromZoneId" : "dd12d86f-1801-4fde-9890-ba150ce50528",
        "toZoneId" : "ad11bb21-2efd-4ef1-b15c-13bdb6a58a89",
        "fuelSurcharge" : null,
        "computeType" : null,
        "minCharge" : "218.6300",
        "maxCharge" : null,
        "pickupSurcharge" : null,
        "deliverySurcharge" : null,
        "slabOrVolume" : null,
        "articleTypeId" : "c4f41dbd-8dc5-41a4-b58e-69bcb4e93555",
        "riskLevy" : null
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update Rate Card Line

This endpoint update the detail of a rate card line detail.

Json request be like:

 {
        "id":"xxxxxxxxx",
        "rateCardId" : "6cffecc2-02a1-4971-a519-07930dbffc75",
        "serviceId" : "8c255022-b830-4f79-a03a-4adae300dec7",
        "fromZoneId" : "dd12d86f-1801-4fde-9890-ba150ce50528",
        "toZoneId" : "ad11bb21-2efd-4ef1-b15c-13bdb6a58a89",
        "fuelSurcharge" : null,
        "computeType" : null,
        "minCharge" : "218.6300",
        "maxCharge" : null,
        "pickupSurcharge" : null,
        "deliverySurcharge" : null,
        "slabOrVolume" : null,
        "articleTypeId" : "c4f41dbd-8dc5-41a4-b58e-69bcb4e93555",
        "riskLevy" : null
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ratecardline);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Rate card line detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete Rate Card Line

This endpoint delete the detail of a rate card line.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Ratecard line detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the ratecard line.   string   Mandatory 40

Create RateCard Line Charge

This endpoint create the detail of the break down of rate card for a organisation with the limit of shipments.

Request JSON structured like this:

{

        "rateCardId" : "d963b24a-6d13-4f36-ada8-d0887289b29e",
        "rateCardLineId" : "8031caa6-7ce7-4294-ab71-5902fe189de7",
        "fromLimit" : 1.0,
        "toLimit" : 5.0,
        "charge" : 0.99,
        "baseCharge" : null
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(RateCardLineCharge);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Rate Card line has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
rateCardId The related rate card for the line. click here for more detail.   string   Mandatory 40
rateCardLineId Related line id for the charge break down.click here for more detail.   string   Mandatory 40
fromLimit Starting limit of item for shipment.   decimal   Mandatory 40
toLimit Maximum limit of item for shipment.   decimal   Mandatory 40
charge Fee for the limits items.   decimal   Mandatory 40
baseCharge Minimum charge.   decimal   Mandatory 40

Get RateCard Line Charge

This endpoints get a detail of ratecard breakdown related to the organisation.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxx",
        "rateCardId" : "d963b24a-6d13-4f36-ada8-d0887289b29e",
        "rateCardLineId" : "8031caa6-7ce7-4294-ab71-5902fe189de7",
        "fromLimit" : 1.0,
        "toLimit" : 5.0,
        "charge" : 0.99,
        "baseCharge" : null
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update Rate Card Line Charge

This endpoint update the detail of a rate card line charge detail.

Json request be like:

 {
        "id":"xxxxx",
        "rateCardId" : "d963b24a-6d13-4f36-ada8-d0887289b29e",
        "rateCardLineId" : "8031caa6-7ce7-4294-ab71-5902fe189de7",
        "fromLimit" : 1.0,
        "toLimit" : 5.0,
        "charge" : 0.99,
        "baseCharge" : null
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ratecardlinecharge);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Rate card line charge detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete Rate Card Line Charge

This endpoint delete the detail of a rate card line charge.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Ratecard line charge detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the ratecard line charge.   string   Mandatory 40

Runsheet

A run sheet is a list of jobs that are going on one driver for that day, and typically they're broken into different areas(zones).

A good run sheet lists the sequence of steps for running an event from start to finish, set out by time, date, location and responsibility. And a great run sheet also keeps contacts and schedules in one central place, and minimises the risk of things being missed along the way.

We can generate runsheet by using create api or runsheet template.

Create Runsheet Template

This endpoint create a runsheet template for a organisation.Runsheet template is used for below two reasons:

1. To create recurring runsheets (blank runsheets created each day).

2. To define rules that determine which Consignment Legs get allocated to to which Runsheets.

Request JSON structured like this:

{
        "driverId":"e44c17d5-ad78-412e-86d6-1014b6ddb4e2",
        "vehicleId":null,
        "reference":"FORALL",
        "fromDepot":"Depot 1",
        "toDepot":"Depot 1",
        "description":"sample run",
        "availableDays":7,
        "capacityPallets":3,
        "capacityWeight":2000,
        "allocationRuleStatus":null,
        "allocationCustomerIds":null,
        "allocationFromLocationIds":null,
        "allocationToLocationIds":null,
        "allocationServiceIds":null,
        "allocationArticleTypeIds":null,
        "allocationStartTime":null,
        "allocationEndTime":null,
        "allocationFromDepotIds":null,
        "allocationToDepotIds":null,
        "allocationStatusIds":null
        }

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Runsheettamplate);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL, 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
        "message":"Runsheet  template has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type Optional / Mandatory Length
driverId Unique id of drive.Click here for more detail.   string   Mandatory 40
vehicleId Unique id of vehicle.Click here for more detail.   string   Optional 40
reference Reference for the template   string   Optional 40
fromDepot Name of from depot.   string   Mandatory 40
toDepot Name of to depot   string   Mandatory 40
description Description of the template.   string   Optional 40
availableDays Days of week when template is avaliabel.   integer   Mandatory 40
capacityPallets Maximum pallets capacity.   integer   Optional 40
capacityWeight Maximum weight for the runsheet.   decimal   Optional 40
allocationRuleStatus   string   Optional 40
allocationCustomerIds Customers ids who use the template for runsheet.Click here for more detail.   array of string   Optional 40
allocationFromLocationIds From business Location(depot) ids for the template for runsheet.Click here for more detail.   array of string   Optional 40
allocationToLocationIds To business Location(depot) ids for the template for runsheet.Click here for more detail.   array of string   Optional 40
allocationServiceIds Services ids for the template for runsheet.Click here for more detail.   array of string   Optional 40
allocationArticleTypeIds Article type ids for the template for runsheet.Click here for more detail.   array of string   Optional 40
allocationStartTime Template allocation start time for the runsheet.   datetime   Optional 40
allocationEndTime Template allocation end time for the runsheet.   datetime   Optional 40
allocationFromDepotIds   array of string   Optional 40
allocationToDepotIds   array of string   Optional 40
allocationStatusIds   array of integer   Optional 40

Update Runsheet Templete

This endpoint update a runsheet templete for a organisation.

Request JSON structured like this:

{
        "id":"xxxxx",
        "driverId":"e44c17d5-ad78-412e-86d6-1014b6ddb4e2",
        "vehicleId":null,
        "reference":"FORALL",
        "fromDepot":"Depot 1",
        "toDepot":"Depot 1",
        "description":"sample run",
        "availableDays":7,
        "capacityPallets":3,
        "capacityWeight":2000,
        "allocationRuleStatus":null,
        "allocationCustomerIds":null,
        "allocationFromLocationIds":null,
        "allocationToLocationIds":null,
        "allocationServiceIds":null,
        "allocationArticleTypeIds":null,
        "allocationStartTime":null,
        "allocationEndTime":null,
        "allocationFromDepotIds":null,
        "allocationToDepotIds":null,
        "allocationStatusIds":null
        }

Javascript request be like:

var _httpClient = new  HttpClient();
var id='xxxxx';
var model = JSON.&ensp; stringify(Runsheettamplate);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'id' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
        "message":"Runsheet  template has been updated!!"

 }

HTTP Request

Response URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the runsheet.   string   Mandatory 40

Create

This endpoint create the detail of runsheet.

Request JSON structured like this:

{
        "driverId " : "a85a6190-3476-4f6e-898f-9bd532f0ae44" ,
        "vehicleId " : "4887dd1e-29a0-4e8d-93fc-09fc6be4aaad" ,
        "runsheetTempleteId " : null ,
        "reference " : null,
        "fromDepot " : "testDepot" ,
        "toDepot " : "totestDepot" ,
        "description " : "Auto-generated runsheet" ,
        "startDate " : "2021-05-06" ,
        "endDate " : "2021-09-02" ,
        "startKm " : 10 ,
        "isLocked " : false ,
        "sequence " : 1 ,
        "note " : null ,
        "status " : 1,
        "departTime " : "14:00" ,
        "departDate " : "2021-02-23" ,
        "hourCharge " : null ,
        "manualChargePerConsignment " : null ,
        "manualChargeType " : null ,
        "isComplete " : false ,
        "runsheetTemplateId":null,
        "isRecurring":true,
        "scheduleJob":
              [
             {
          "name " :"RunSheet Generator",
        "minutesInterval " :"1440",
        "lastRuntime " :"2021-06-29 12:00:48.435518",
        "nextRuntime " :"2021-06-30 12:00:00",
        "lastResult " :null,
        "jobServiceRunnerClassName " :"BusinessTeir.Batch.RunSheetGeneratorJobRunner",
        "schedulerName " :"neotms",
        "isActive " :true,
        "parameters " :"{"organisationId":"57461e6b-177d-46d0-bfbf-0faf5d76681b"}"
        }
       ]

}

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Runsheet);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
"status":200,
"message":"Runsheet has been created!!"

}

HTTP Request

Request Json Parameters

Parameter Description Type Optional / Mandatory Length
driverId Unique id for the driver. Please Click here for more detail   string   Optional 40
vehicleId Unique id for the vehicle. Please Click here for more detail   string   Optional 40
reference Refrence for the runsheet.   string   Optional 40
fromDepot Depot name where it is sending from.   string   Mandatory 40
toDepot Depot name where it is sending to.   string   Mandatory 40
description Description of the runsheet.   string   Optional 40
startDate Date of start for the runsheet.   datetime   Mandatory 40
endDate Expiry date of runsheet.   datetime   Mandatory 40
sequence Order number of runsheet.   integer   Optional 40
cubic Total cubic on runsheet.   deciman   Optional 40
note Extra description.   string   Optional 40
status Current stage of runsheet, 1- on process , 2- ready for manifest, 3- completed.   integer   Optional 40
departTime Time of depart of vehicle.   datetime   Optional 40
departDate Date of depart of vehicle.   datetime   Mandatory 40
hourCharge Minimum hourly charge for the vehicle.   decimal   Optional 40
manualChargePerConsignment   decimal   Optional 40
manualChargeType   string   Optional 40
isComplete If runsheet is complete value must be true other wise false.   boolean   Optional 40
runsheetTemplateId If you want to use runsheet template for runsheet creation you must provide the template id.Click here for more detail.   string   Optional 40
isRecurring If runsheet is recurring value must be true other wise false.   boolean   Optional 40
scheduleJob If isRecurring is true this field is mandatory   Array of object   Optional N/A
name Name for the schedular.   string   Mandatory 40
minutesInterval Time interval of schedular run.   integer   Mandatory 40
lastRuntime Date and time of schedular last run.   datetime   Mandatory 40
nextRuntime Date and time of schedular next run.   datetime   optional 40
lastResult Message of schedular last run.   string   Mandatory 40
jobServiceRunnerClassName Related class name of schedualr.   string   Mandatory 40
schedulerName   string   optional 40
isActive Status of the schedular, if schedualr is in use value must be true.   boolean   Mandatory 40
parameters Parameter names which is required for the schedualr run.   string   optional 40

Update

This endpoint update the detail of a runsheet.

Request JSON structured like this:

 {
        "id":"xxxxx",
        "driverId " : "a85a6190-3476-4f6e-898f-9bd532f0ae44" ,
        "vehicleId " : "4887dd1e-29a0-4e8d-93fc-09fc6be4aaad" ,
        "reference " : null,
        "fromDepot " : "testDepot" ,
        "toDepot " : "totestDepot" ,
        "description " : "Auto-generated runsheet" ,
        "startDate " : "2021-05-06" ,
        "endDate " : "2021-09-02" ,
        "startKm " : 10 ,
        "isLocked " : false ,
        "sequence " : 1 ,
        "note " : null ,
        "status " : 1,
        "departTime " : "14:00" ,
        "departDate " : "2021-02-23" ,
        "hourCharge " : null ,
        "manualChargePerConsignment " : null ,
        "manualChargeType " : null ,
        "isComplete " : false 

 }

Javascript request be like:


var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Runsheet);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + 'ConsignmentLeg.Id' , 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
        "message":"Runsheet has been updated!!"
 }

HTTP Request

Request Json Parameters

For more detail about response parameter Click here.

Get

This endpoint get the detail of a runsheet.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
            "id":"xxxxxx",
        "driverId " : "a85a6190-3476-4f6e-898f-9bd532f0ae44" ,
        "vehicleId " : "4887dd1e-29a0-4e8d-93fc-09fc6be4aaad" ,
        "reference " : null,
        "fromDepot " : "testDepot" ,
        "toDepot " : "totestDepot" ,
        "description " : "Auto-generated runsheet" ,
        "startDate " : "2021-05-06" ,
        "endDate " : "2021-09-02" ,
        "startKm " : 10 ,
        "isLocked " : false ,
        "sequence " : 1 ,
        "note " : null ,
        "status " : 1,
        "departTime " : "14:00" ,
        "departDate " : "2021-02-23" ,
        "hourCharge " : null ,
        "manualChargePerConsignment " : null ,
        "manualChargeType " : null ,
        "isComplete " : false 

 }

HTTP Request

Response Json Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the runsheet.   string   Mandatory 40

For more detail about response parameter Click here.

Delete

This endpoint delete the detail of a runsheet.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
        "message":"Runsheet  deleted!!"

 }

HTTP Request

Response URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the runsheet.   string   Mandatory 40

Service

Create

This endpoint create the service detail for the organisation.

Request JSON structured like this:

{

        "code" :"PREMIUM",
        "name" :"HOSHI PREMIUM ",
        "type" :"Sensitive Freight",
        "description" :null,
        "chargeBy" :"Item",
        "availableDaysOfWeek" :null,
        "maxConsignmentQuantity" :null,
        "maxConsignmentPerItemWeight" :null,
        "isDangerousGoodExclude" :false,
        "isHideCustomer" :false,
        "isActive" :true,
        "maxVolumeAllow" :null,
        "maxLengthAllow" :null,
        "maxWidthAllow" :null,
        "maxHeightAllow" :null,
        "maxWeightAllow" :null,
        "isAutoLegging" :false,
        "isPointToPoint" :false,
        "cubicConversionFactor" :null
}

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Service);
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'POST', headers,model);
 var apicall = httpClient.send(req);

The above command returns JSON structured like this:

{
       "status":"200",
       "message":"Service has been created!!"
}

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
customerId This field is required if the service is related to particular customer, Click Here for more detail.   string   Optional 40
code A unique indication for the service.   string   Mandatory 40
name Name of the service.   string   Optional 40
type Type of service,Example:General,Sensitive .   string   Optional 40
description Informarmation about the service.   string   Optional 40
chargeBy Field value must be like item,weight,Volume.   string   Optional 40
availableDaysOfWeek   integer   Optional 40
maxConsignmentQuantity Number of consignment that allow for the service.   integer   Optional 40
maxConsignmentPerItemWeight Maximum article weight for each consignment.   integer   Optional 40
isDangerousGoodExclude Value will be true if the service not for dangerous good.   boolean   Optional N/A
isHideCustomer Value will be true if organisation dont want to know to customer. For true value customerid field is mandatory.   boolean   Optional N/A
isActive Status of the service.   boolean   Mandatory N/A
maxVolumeAllow Maximum volume allow for the service.   decimal   Optional 10
maxLengthAllow Maximum length allow for the service.   decimal   Optional 10
maxWidthAllow Maximum width allow for the service.   decimal   Optional 10
maxHeightAllow Maximum height allow for the service.   decimal   Optional 10
maxWeightAllow Maximum weight allow for the service.   decimal   Optional 10
isAutoLegging This field is requird if the leg rule is automatic for the service.   boolean   Optional N/A
isPointToPoint This field is requird if the service is point to point basis transfer.   boolean   Optional N/A
cubicConversionFactor conversion from m3 to kg . Decimanl   Optional 10

Get

This endpoint get the detail of a service by it's id.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxxx",
        "code" :"PREMIUM",
        "name" :"HOSHI PREMIUM ",
        "type" :"Sensitive Freight",
        "description" :null,
        "chargeBy" :"Item",
        "availableDaysOfWeek" :null,
        "maxConsignmentQuantity" :null,
        "maxConsignmentPerItemWeight" :null,
        "isDangerousGoodExclude" :false,
        "isHideCustomer" :false,
        "isActive" :true,
        "maxVolumeAllow" :null,
        "maxLengthAllow" :null,
        "maxWidthAllow" :null,
        "maxHeightAllow" :null,
        "maxWeightAllow" :null,
        "isAutoLegging" :false,
        "isPointToPoint" :false,
        "cubicConversionFactor" :null
}

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here.

Update

This endpoint update the detail of a service.

Json request be like:

 {
        "id":"xxxxxx",
        "code" :"PREMIUM",
        "name" :"HOSHI PREMIUM ",
        "type" :"Sensitive Freight",
        "description" :null,
        "chargeBy" :"Item",
        "availableDaysOfWeek" :null,
        "maxConsignmentQuantity" :null,
        "maxConsignmentPerItemWeight" :null,
        "isDangerousGoodExclude" :false,
        "isHideCustomer" :false,
        "isActive" :true,
        "maxVolumeAllow" :null,
        "maxLengthAllow" :null,
        "maxWidthAllow" :null,
        "maxHeightAllow" :null,
        "maxWeightAllow" :null,
        "isAutoLegging" :false,
        "isPointToPoint" :false,
        "cubicConversionFactor" :null
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(service);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Service detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click Here.

Delete

This endpoint delete the detail of a service.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Service detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the service.   string   Mandatory 40

Zone

Zone is a geographical region to which carriers deliver. It's defined by a grouping of post codes and measured from where the package is shipped from (also called the point of origin) to its destination.

Create

This endpoint create zone detail for the organisation.

Request JSON structured like this:

{

        "code" : "ADLDPT",
        "description" : "(DEPOT ADELAIDE)",
        "type" : 4,
        "countryCode" : "AU",
        "depotId " : "23be8194-5887-498d-accb-3b42137c6ae5"
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(Zone);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Zone has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
code Zone identifier id.   string   Mandatory 20
description Detail of Zone.   string   Mandatory 40
type If the zone is base on state value must be 1 ,if based on suburb then 2 Interger   Mandatory 40
countryCode 2 letter code of country, like : 'AU', 'UK'.   string   Mandatory 2
depotId This field is required if zone is associate with any depot of organisation.   string   Optional 40

Get

This endpoints get the detail of a zone.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"XXXXXXX",
        "code" : "ADLDPT",
        "description" : "(DEPOT ADELAIDE)",
        "type" : 4,
        "countryCode" : "AU",
        "depotId " : "23be8194-5887-498d-accb-3b42137c6ae5"
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update

This endpoint update the detail of a zone.

Json request be like:


        "id":"XXXXXXX",
        "code" : "ADLDPT",
        "description" : "(DEPOT ADELAIDE)",
        "type" : 4,
        "countryCode" : "AU",
        "depotId " : "23be8194-5887-498d-accb-3b42137c6ae5"
}

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(zone);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Zone detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete

This endpoint delete the detail of a zone.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"zone detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the zone.   string   Mandatory 40

Create Zone Line

This endpoint create the detail of suburb area related to the zone.

Request JSON structured like this:

{

        "zoneId" : "02358aa2-5cc6-4a51-8f6c-ed74c07e6d68",
        "suburb" : "BALLARAT",
        "state" : "VIC",
        "postcode" : "3350",
        "countryCode" : "AU"
 }

Javescript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(ZoneLine);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL , 'POST', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "status" : "200",
        "message" : "Zone line has been created!!"

 }

HTTP Request

Request Json Parameters

Parameter Description Type   Optional /   Mandatory Length
zoneId A unique id for the organisation zone. click here for more detail.   string   Mandatory 40
suburb The valid suburb name related to the zone.   string   Mandatory 40
state The valid state of suburb.   string   Mandatory 3
postcode Postcode of the suburb location.   string   Mandatory 6
countryCode Country code of the address combination of suburb + postcode + state.   string   Mandatory 2

Get Zone Line

This endpoints get a detail of suburb related to the zone.

Javescript request be like:

var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'GET', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

{
        "id":"xxxxxx",
        "zoneId" : "02358aa2-5cc6-4a51-8f6c-ed74c07e6d68",
        "suburb" : "BALLARAT",
        "state" : "VIC",
        "postcode" : "3350",
        "countryCode" : "AU"
 }

HTTP Request

Response Json Parameters

To know more about response parameter please Click Here for more detail.

Update Zone Line

This endpoint update the detail of a zone line.

Json request be like:

{
        "id":"xxxxxx",
        "zoneId" : "02358aa2-5cc6-4a51-8f6c-ed74c07e6d68",
        "suburb" : "BALLARAT",
        "state" : "VIC",
        "postcode" : "3350",
        "countryCode" : "AU"
 }

Javascript request be like:

var _httpClient = new  HttpClient();
var model = JSON.&ensp; stringify(zoneline);
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + '/' + id, 'PUT', headers,model);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:



{
       "status":200,
       "message":"Zone line detail has been updated!!"
}

HTTP Request

Request Json Parameters

To know more about response parameter please Click here.

Delete Zone Line

This endpoint delete the detail of zone line.

Javascript request be like:


var _httpClient = new  HttpClient();
var id = 'xxxxx';
var headers = {
      'Content-Type' : 'application/json',
      'Authorization' : 'Token XXX'
    };
 var req = new Request(URL + "/" + id , 'DELETE', headers);
 var apicall = _httpClient.send(req);

The above command returns JSON structured like this:

 {
        "status":200,
     "message":"Zone line detail has been  deleted!!"

 }

HTTP Request

Request URL Parameters

Parameter Description Type Optional / Mandatory Length
id unique id of the zone line.   string   Mandatory 40