This documentation is for the legacy API, which is scheduled to be sunset in the near future and is no longer supported for new integrations. Click here to view the latest API documentation.
Label Creation API Specification
Overview
This API allows customers to integrate their systems with Maersk’s to generate shipment documentation electronically.
Getting Started
The following functions can be used:
| Function | Description |
|---|---|
| HelloWorld | Industry standard function to test service connectivity or wake the service before calling other functions to get the best performance results from the other functions. |
| GetProFromMHLabelNum | Used to get a Maersk Pro # value from the known MAWB (Master Airway Bill) or HAWB (House Airway Bill) label number provided. |
| HAWBDocument | Used to get the HAWB document for the given shipment. |
| HAWBLabel | Used to get a label type document for the given shipment and given label type. Requires a Maersk Pro # and one of the Zipcodes found on the shipment. |
Error Codes
Error codes are formatted the same way with the ErrorMessage changing. The DataLength will always be 0. In the case of an error response, the DataStream_Byte field will not be present. HAWBDocument and HAWBLabel are the only two functions that could return error codes, which are described here:
| Function | Description |
|---|---|
| HAWBDocument | Print pro request not available at this time. |
| HAWBLabel | Unable to load the hawb XXXXXXXXX. (The X’s represent the HAWB number provided.) |
Error Response
<?xml version="1.0" encoding="UTF-8"?>
<dsReturnStream xmlns="http://tempuri.org/">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/dsReturnStream.xsd" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:mstns="http://tempuri.org/dsReturnStream.xsd" id="dsReturnStream" targetNamespace="http://tempuri.org/dsReturnStream.xsd" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="dsReturnStream" msdata:IsDataSet="true" msdata:Locale="en-US">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="ReturnData">
<xs:complexType>
<xs:sequence>
<xs:element name="ErrorMessage" type="xs:string" minOccurs="0" />
<xs:element name="DataStream_Byte" type="xs:base64Binary" minOccurs="0" />
<xs:element name="DataLength" type="xs:int" default="0" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<dsReturnStream xmlns="http://tempuri.org/dsReturnStream.xsd">
<ReturnData diffgr:id="ReturnData1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<ErrorMessage></ErrorMessage>
<DataStream_Byte></DataStream_Byte>
<DataLength></DataLength>
</ReturnData>
</dsReturnStream>
</diffgr:diffgram>
</dsReturnStream>
Endpoints
Live
https://pilotws.pilotdelivers.com/copilotforms/wsforms.asmx
Dev/Test
https://pilotws.pilotdelivers.com/copilotforms_dev/wsforms.asmx
WSDL
https://pilotws.pilotdelivers.com/copilotforms/wsforms.asmx?WSDL
Data Format
HelloWorld and GetProFromMHLabelNum
<string xmlns="http://tempuri.org/"></string>
HAWBDocument and HAWBLabel
As seen in Error Response, the success/error responses are formatted the same way for both.