API 2.x

Introduction

This version of the API was released to the live envioronments 1st February 2009, and is not due to be updated until 2011 in version 3.x.

The API is split across various services, with each service providing a common theme of methods. It is rare that you need to call all services, and equally rare that you call just one. In a normal integration, you will need to use two or three.

The WSDL files are linked at the bottom of each of the services, noting the version number. Although we have numerous systems and URLs, the API version number is the important thing. So long as that matches your client code, there won't be a problem pointing to different sites. We identify the WSDL explicitly to clarify where particular systems reside, rather than anything else. On the Beta platforms, where we showcase the next version, the WSDL is prone to change. On QA and UAT platforms, the WSDLs are fixed at a version, and that version is documented on this site.

Important Notes

Please take care to note the points about deprecation. You really should avoid using deprecated services and methods as they won't be supported in the next version.

This API is not WS-I Basic Profile-compliant, as there are overloaded service methods (See section 4.5.3 of http://www.ws-i.org/Profiles/BasicProfile-1.1.html#Distinctive_Operations). If your client system demands compliance, download the WSDL, decide which overloaded methods you will use, removing the references to the other overloads from the WSDL. Once done, make sure you use your local copy of the WSDL when generating stub code or making connections.

Services

AllocationService

This service is used for all allocation and booking calls, including looking up delivery options.

ConsignmentSearchService

This exposes all web services for finding consignments by criteria

ConsignmentService

This exposes all services related to consignment like creating & modifying a consignment, deleting a consignment and printing labels.

ConsignmentTrackingService

This exposes all web services for tracking parcels by criteria.

DeliveryOptionsService

This service provides operations to discover appropriate delivery options according to your criteria. NB. This service is deprecated and will be removed in the next version. It is included here for ease of migration purposes only.

InformationService

This exposes all web services for general information e.g transaction types (delivery/collection), registered carrier names etc.

ManifestService

This exposes all services related to Manifest like creating a manifest, finding a manifest, sending a manifest, finding ready to manifests and finding consignments on a manifest.

Types

Address

This type represents a postal address.

AllocationFilter

 This is used to find delivery options and to describe the rules defining how to allocate consignments. 

CarrierService

 This represents a single service a carrier does. Throughout the system, you will see references to the carrier service code - this is the unique code used to indicate a chosen service.

CodeName

 Maps a name to a code and vice versa. This is mainly used by the Information Service when providing mappings between the names of carriers, types and groups, and their respective codes.

Consignment

This type represents a consignment. It is the biggest object we have, and it has many fields, but you won't have to bother with most of them.

The primary key of this object is the consignmentCode, which always begins with "DMC".

ConsignmentSearchParams

This object holds all the parameters available to use when searching for consignments within the Delivery Manager system. Searches are always paginated so that you can call this operation multiple times to iterate over an extensive result set.

If you choose not to specify the value of a specific parameter, the default value will be used instead.

ConsignmentSearchResult

This type represents the result of a consignment search. It tells you of how many results there are, how many pages there are, and gives you the consignments for the current page.

ConsignmentTrackingInfo

This holds tracking information for a particular consignment.

DateRange

An object representing a range between two date & times. You can leave either of the boundary conditions as null (empty or nothing). This allows you to talk about dates after a period (with no upper boundary, no "to"), as well as dates before a period (with no lower boundary, no "from").

DeliveryOption

This represents a single delivery option available, allowing you to see which carrier, which service and the price prior to booking the allocation. The bookingCode field is used when making the actual booking.

DeliveryTime

This holds timing information about a particular delivery option. Use this object to match delivery dates according to your needs.

FindDeliveryOptionsParams

This object contains the parameters available for filtering delivery options.

FindDeliveryTimesParams

This parameter set is used for determining when a specific service can achieve the desired result.

Manifest

This object represents a manifest.

Parcel

This type represents a single parcel within the Delivery Manager system.

ParcelStatusHistory

The status history for a particular parcel.

ParcelTrackingInfo

This contains the tracking information for a particular parcel.

ParcelTrackingItem

This object contains information about a particular status that a parcel has achieved. This is normally limited to historic statuses, but some carriers provide additional information about the parcel after it has actually been delivered.

Product

This type represents a single product within the Delivery Manager system. In many systems, this is actually an item line. For example, you can consider one product line as being a single line on a receipt from a till.

Property

This represents additional properties of consignment.

ReadyToManifestInfo

This represents a possible manifest set. This is used to determine who many consignments etc. will appear on a specific manifest. It is also used to show you what consignments require manifests to be created today.

WorkingDays

This represents a set of days of the week.