Parcel Perfect Integration Service - v7
Parcel Perfect Integration Service - v7
Overview
PPIntegrationService is a web services interface between a system submitting waybill, POD and event
data to a Parcel Perfect environment.
Environment
Methods are exposed via both REST-based Json and SOAP end points. Documentation and examples are
provided for both.
Testing environment
You will need to obtain a test account from Parcel Perfect. Email [email protected] with the
subject: Request for ppintegration test account . Please provide your contact details and which courier /
transport provider you are working with.
You can find all supporting documentation and examples to run in the test environment at
http://adpdemo.pperfect.com/ppintegrationservice/v7/downloads/
Type URL
Json end point http://adpdemo.pperfect.com/ppintegrationservice/v7/Json/
SOAP end point http://adpdemo.pperfect.com/ppintegrationservice/v7/Soap/
SOAP WSDL http://adpdemo.pperfect.com/ppintegrationservice/v7/Soap/index.php?wsdl
Authentication
Method Function
getSalt On submitting the user name the method returns a salt value
getToken On submitting the user name and encrypted password using the
salt value and the user password, this method passes back a token
expireToken Calling this method invalidates the existing token
In order to use the web-services, one must first authenticate by getting a security token. All methods
within the PPIntegrationService other than the Auth class require the token to be submitted with the
request.
v7 Page | 1
With your username and password, first get a salt from the end point URL. Encrypt the salt with MD5 and
use your username and encrypted password to get a token.
Username encrypted
Password getSalt salt md5pass getSecureToken Token
End Point URL password
Method Function
submitWaybill Use this method to submit waybill details along with contents,
tracking numbers and references
submitPOD Submit POD Details
submitEvent Submit parcel level tracking events. Used when each piece of a
consignment has tracking events.
submitWaybillEvent Used when a tracking event relates to an entire consignment.
getSingleWaybill Returns full waybill details by submitting a waybill no.
submitPodImage Allows the submission of a POD image
Please note the ‘Required’ field notes if the field is required for the method to pass back a successful
result.
Page | 2
Class – Waybill, POD, Event – Input parameters
Page | 3
nondoxflag integer N not documents flag
currency float N transport cost currency
customsvalue float N value of freight for customs
surchargeflag1 integer N surcharge flag 1
surchargeflag2 integer N surcharge flag 2
surchargeflag3 integer N surcharge flag 3
surchargeflag4 integer N surcharge flag 4
surchargeflag5 integer N surcharge flag 5
surchargeflag6 integer N surcharge flag 6
surchargeflag7 integer N surcharge flag 7
surchargeflag8 integer N surcharge flag 8
surchargeflag9 integer N surcharge flag 9
actkg integer N shipment mass
volcm integer N shipment volumetric cm
pieces integer N total pieces
Page | 4
submitEvent trackno string[28] Y tracking number of parcel / freight
manifest integer N manifest or delivery sheet number
hub string[3] N hub where event takes place**
eventtype string[3] Y internal event code***
eventdate string[10] Y tracking event date
eventtime string[8] Y tracking event time
submitWaybillEvent waybill string[24] Y waybill number
eventdate string[10] Y tracking event date
eventtime string[8] Y tracking event time
hub string[3] N hub where event takes place
manifest integer N manifest or delivery sheet number
eventtext string[200] Y tracking event description
getSingleWaybill waybillno string[24] Y waybill number
submitPodImage waybill string Y waybill number
reference string Y reference (#1 for POD image)
pageno integer Y Page number (1 for first page)
image string Y Base64 encoded image string
Page | 5
origperadd2 string[30] senders address line 2
origperadd3 string[30] senders address line 3
origperadd4 string[30] senders address line 4
origperphone string[30] senders phone 1
origperphone2 string[20] senders phone 2
origpercell string[20] senders mobile number
origperpcode string[8] senders postal code
destpers string[35] receiver name or consignee
destplace integer internal number for town
desttown string[50] destination town / place name
destpercontact string[30] destination contact name
destperadd1 string[30] receiver address line 1
destperadd2 string[30] receiver address line 2
destperadd3 string[30] receiver address line 3
destperadd4 string[30] receiver address line 4
destperphone string[20] receiver phone 1
destperphone2 string[20] receiver phone 2
destpercell string[20] receivers mobile number
destperpcode string[8] destination postal code
duedate string[10] waybill due date
destlatitude float latitude co-ordinates
destlongitude float longitude co-ordinates
duedate string[10] waybill due date
reference string[15] waybill reference number
specinstruction string[60] special instruction
surchargeflag1 integer surcharge flag 1
surchargeflag2 integer surcharge flag 2
surchargeflag3 integer surcharge flag 3
surchargeflag4 integer surcharge flag 4
surchargeflag5 integer surcharge flag 5
surchargeflag6 integer surcharge flag 6
surchargeflag7 integer surcharge flag 7
surchargeflag8 integer surcharge flag 8
surchargeflag9 integer surcharge flag 9
invoice integer invoice number
quote string quote number
insuranceflag integer insurance flag
declaredvalue float value of the freight for insurance
nondoxflag integer not documents flag
customsvalue float value of freight for customs
currency float transport cost currency
destperemail string[50] receiver email address
eventdestemail string flag to determine if emails are sent
origperemail string[50] sender email address
eventorigemail string flag to determine if emails are sent
actkg float total mass of contents in kg
volcm integer total volumetric cm
volrate integer volumetric divider
chargemass float mass greater of vol mass and act kg
Page | 6
mawbno string[16] master air waybill
flight string[16] flight number
costcntr integer branch to which the shipment is allocated
costname string[25] branch to which this shipment is allocated
duetime string[8] waybill due time
manifest integer manifest number
agent integer agent carrying shipment
agentname string[30] name of agent carrying shipment
desthub string[3] destination hub
charge float shipment charge
insurance float insurance charge
cartage float base transport charge
outly float outlying charge
docs float document charge
handling float handling charge
cursurcharge float currency surcharge
totsurcharge float sum of all surcharges
subtotal float subtotal charge
vat float vat charge
total float total charge
customsduties float customs duties charge
customsvat float customs vat charge
Page | 7
For submitEvent please note:
** A hub table will need to be provided to map to the specific couriers hub listing
The hub string is a 3 character abbreviation for example ‘CPT’ for Cape Town.
*** Event types will need to be provided based on the specific courier. As the description is configurable by
each courier, we use the eventtype field. A table of standard eventtype codes are listed below:
EventType Description
Page | 8