The following configurations are required as a minimum in MAO/MAWM to support Metapack as a parcel carrier:
Carriers
Ship Vias
Service Levels
Package Types
Carrier Package Types
Carrier Facility Account
Carrier Status Mapping (MAO only)
Rate Shop Group (MAWM only)
The following configurations have been defined for the MAO/MAWM Metapack component:
Table 2. MAO/MAWM Custom Configurations
Key |
Value |
Description |
---|---|---|
|
String (i.e. |
A list of the Ship Vias that can trigger the Rate Shop call to Metapack. |
|
Boolean |
Set to ‘1’ to enable the Void screens in MAO. |
|
String |
Metapack version. |
|
Numeric |
The timeout value in milliseconds. |
|
String |
Endpoint to call when the Rate Shop call is triggered. |
|
String |
Endpoint to call when the Shipping call is triggered. |
|
String |
Endpoint to call when the Print call is triggered. |
|
String |
Endpoint to call when the Void call is triggered. |
|
String |
Endpoint to call when the Manifest call is triggered. |
|
Boolean (i.e. 'false') |
Value to pass in the call to Metapack for the |
|
String (i.e. '0') |
Value to pass in the call to Metapack for the |
|
Boolean (i.e. 'false') |
Value to pass in the call to Metapack for the |
|
String (i.e. 'N') |
Value to pass in the call to Metapack for the |
|
String (i.e. 'N') |
Value to pass in the call to Metapack for the |
|
String (i.e. 'Delivery') |
Value to pass in the call to Metapack for the |
|
String |
Value to pass in the call to Metapack for the |
|
String (i.e. 'ShippingLabel') |
The type of shipping document requested from Metapack during the Print call for the shipping label. |
|
String (i.e. 'ZPL' for MAWM or 'PDF' for MAO) |
The format of the shipping document requested from Metapack during the Print call for the shipping label. |
|
String (i.e. '6x4') |
The dimensions of the shipping document requested from Metapack during the Print call for the shipping label. |
|
String (i.e. '300') |
The DPI of the shipping document requested from Metapack during the Print call for the shipping label. |
|
String (i.e. 'Customs Form') |
The type of shipping document requested from Metapack during the Print call for the customs form. |
|
String (i.e. 'ZPL' for an MAWM shipping label, 'PDF' for an MAWM customs form) |
The format of the shipping document requested from Metapack during the Print call for the customs form. |
|
String (i.e. '6x4') |
The dimensions of the shipping document requested from Metapack during the Print call for the customs form. |
|
String (i.e. '300') |
The DPI of the shipping document requested from Metapack during the Print call for the customs form. |
|
Y = ‘*’ is inserted into the ‘Collection Date’ section of the booking code. Mandatory for Click and Collect orders. N = |
Defines if a wild card is used as the collection date part of the booking code. |
|
D = The 'From' time is populated from the A = The 'From' time is populated with a wild card ‘*’, which means any time. |
Defines how the ‘From’ time component of the ‘Collection Window’ section of the booking code is populated. |
|
Values are populated in the format HH:MM. |
If the |
|
D = The 'To' time is populated from the A = The 'To' time is populated with a wild card ‘*’, which means any time. |
Defines how the ‘To’ time component of the ‘Collection Window’ section of the booking code is populated. |
|
Values are populated in the format HH:MM. |
If the |
|
Y = ‘*’ is inserted into the ‘Delivery Date’ section of the booking code. Mandatory for Click and Collect orders. N = |
Defines if a wild card is used for the delivery date part of the booking code. |
|
D = The 'From' time is populated from the A = The 'From' time is populated with a wild card ‘*’, which means any time. |
Defines how the ‘From’ time component of the ‘Delivery Window’ section of the booking code is populated. |
|
Values are populated in the format HH:MM. |
If the |
|
D = The 'To' time is populated from the A = The 'To' time is populated with a wild card ‘*’, which means any time. |
Defines how the ‘To’ time component of the ‘Delivery Window’ section of the booking code is populated. |
|
Values are populated in the format HH:MM. |
If the |
|
Y = ‘@’ used in the booking code (when the carrier 'service group' is bridged). N = ‘@’ not used in the booking code. |
Defines if ‘@’ is used at the beginning of the booking code. This can be chosen by the client when the Metapack integration is configured. |
The following attributes have been added to Parcel.Shipment.Packages.Extended
to accommodate Metapack Delivery Manager's manifesting requirements.
Table 3. New Attributes for Parcel.Shipment.Packages.Extended
Extended Attribute |
Component |
Data Type |
Max. Length |
Mandatory? |
Description |
---|---|---|---|---|---|
|
Parcel |
Boolean |
1 |
false |
Indicates if an attempt has been made to manifest the package with Metapack (i.e. updated to '1' once the manifest API call has been triggered). |
|
Parcel |
String |
50 |
false |
Populated with the response status code from the manifest API call. |
A new interface has been developed to integrate with Metapack Delivery Manager for the Rate Shop service.
This interface is invoked when orders with a Rate Shop Ship Via are populated. The Metapack Rate Shop response returns a list of available services. The first service in the response is the cheapest, or has otherwise been prioritised based on the allocation setup in Delivery Manager. This first service is the one stored by MAWM.
The Metapack API used is findDeliveryOptionsWithBookingCode.
Note
The Rate Shop call does not create a shipment in Metapack Delivery Manager.
Below is the list of fields included in the response from Metapack for a Rate Shop call:
Table 4. Rate Shop Response
Node |
Data Type |
Description |
MAO/MAWM Parcel Component Update |
---|---|---|---|
|
Array |
The fields returned by the API call. |
|
|
String |
The code of the selected carrier. |
|
|
String |
The code of the selected carrier service. |
|
A new interface has been developed to integrate with Metapack Delivery Manager for the Shipping service.
This interface is invoked every time a package is submitted for shipping. It calls Metapack Delivery Manager to create a Consignment.
The Metapack API used to create a Consignment is createAndAllocateConsignmentsWithBookingCode.
Note
The appendParcelsToConsignment API call is out of scope.
The Shipping API creates and allocates a consignment to a carrier service: it does not return the shipping label in the response. The Print API needs to be called for the shipping label to be returned.
Below is the list of fields included in the response from Metapack for a Create Consignment transaction:
Table 5. Shipping Response
Node |
Data Type |
Description |
MAO/MAWM Parcel Component Update |
---|---|---|---|
| |||
|
Consignment |
The Consignment that has been despatched. |
|
| |||
|
String |
The unique number of the Metapack Consignment ('DMC…') generated by Delivery Manager. |
|
|
String |
The code of the allocated carrier. This is populated by Delivery Manager. |
|
|
String |
The code of the allocated carrier service. This is populated by Delivery Manager. |
|
| |||
|
Integer |
Parcel number within the Consignment. |
|
|
String |
The tracking code of the parcel. |
|
|
String |
The URL (if there is one) on the carrier's tracking site. |
N/A |
A new interface has been developed to integrate with Metapack Delivery Manager for the Print service.
This interface is invoked to retrieve the shipping label following the creation of a Consignment, together with any customs documentation (in the case of MAWM). It is also invoked if the user triggers the Reprint functionality and there is no existing label stored in Document Management.
The Metapack API used to create the paperwork is createPaperworkForCarton.
Note
For MAWM, only one of the fields in the response, labels
(containing the shipping label) or documents
(populated when customs documentation is requested), will contain the data for a given call. Two separate calls have to be made if the consignment is international and requires documents
as well as labels
.
Below is the list of fields included in the response from Metapack for a Print transaction:
Table 6. Print Response
Node |
Data Type |
Description |
MAO/MAWM Parcel Component Update |
---|---|---|---|
| |||
|
Byte Array |
The array containing the ZPL labels to be printed, in Base64-encoded format. |
|
|
Byte Array |
The array containing the PDF customs documents to be printed (if any), in Base64-encoded format. |
|
A new interface has been developed to integrate with Metapack Delivery Manager for the Void service.
This interface is invoked when the user cancels packing and there is a completed package that needs to be voided. Firstly, MAO/MAWM sends the deallocate API to Metapack. Following a successful response, MAO/MAWM sends deleteConsignment, which will remove the Consignment entirely from Metapack Delivery Manager.
The Metapack API calls used are deallocate and then deleteConsignment.
Note
It is out of scope to call deleteParcelFromConsignmentWithCartonId.
If the package has already been manifested, then it is not eligible for a Void request. If such a package is sent to Metapack Delivery Manager to void, then Delivery Manager will return an appropriate error in the response for each of the API calls.
Below are the fields included in the responses from Metapack for a Void transaction:
Table 7. Void Responses
Node |
Data Type |
Description |
MAO/MAWM Parcel Component Update |
---|---|---|---|
| |||
|
String Array |
Returns a String of 'DMC' Consignment references. If this String contains the current DMC reference, then this indicates success. |
N/A |
| |||
|
String Array |
Returns a Boolean flag to indicate whether or not the Delete operation was successful. |
|
A new interface has been developed to integrate with Metapack Delivery Manager for the EOD Manifesting service.
This interface is invoked based on a scheduled job each night.
The Metapack API calls used are markConsignmentsAsReadyToManifest and createManifest.
Note
MAO/MAWM will trigger the markConsignmentsAsReadyToManifest
call to Metapack for the packages in MAO/MAWM based on a configurable remorse period.
MAO/MAWM will not trigger the createManifest
call to Metapack. It is expected that Metapack will schedule a task to manifest any shipments in a ‘Ready to Manifest’ status, but only after the MAO/MAWM EOD Manifest scheduler has been run.
Below is the field included in the response from Metapack for an EOD Manifest transaction:
Table 8. EOD Manifest Response
Node |
Data Type |
Description |
MAO/MAWM Parcel Component Update |
---|---|---|---|
| |||
|
Boolean |
Returns 'true' when successful. |
|