- Print
- DarkLight
This document outlines Landmark's API Specification for the electronic (via the Internet) exchange of information between Landmark and their customers.
Overview
The protocol is based on XML data exchange with HTTP used as a transport. A non-validating parser is used and hence no internal or external DTD needs to be specified. The data must be well formed and all validation is handled at the application (not parser) level. Error handling will be done by always including the <Errors> container in the response. The Errors element will not be returned if no errors are found.
Connection
To connect to the site use the following HTTPS URL via regular POST method with the parameter RQXML=
Encoding
Mercury uses UTF-8 for character encoding. If your system outputs in an encoding other than UTF-8, please include an encoding flag in your XML header.
Example: <?xml version="1.0" encoding="UTF-8"?>
Example: <?xml version="1.0" encoding="ISO-8859-1"?>
Test Mode
When first given access to the API, the client will be placed in Test mode. Requests made while in test mode will not act on live data. After approval has been received to go live from Landmark, all requests are active unless the <Test> flag is passed. During a test API call, orders will not be cancelled but errors will be reported when appropriate.
During a test API call, validation will be very basic, focusing on fields being required and passing sane values. Assuming the request passes the basic validation, responses are randomized. Some requests will succeed and some will fail with different error messages. This is done so that the programmer has an opportunity to see a wide variety of responses and can be prepared to handle many potential results.
Rate Limits and Throttling
All endpoints have maximum request limits implemented in order to prevent abuse and ensure availability for all users. Limitations are implemented at two different levels as shown below:
Application-level limit: 300 requests per 1 minute, per endpoint, per client API user
Server-level limit: 3000 requests per rolling 5-minute period, per IP address
Troubleshooting
Please see related API Errors documentation if you encounter an error.
Available Methods
Will import a shipment into Mercury and generate a Landmark label. This is the recommended method of transmitting shipment data to Landmark, and must be used when fulfillment is handled by Landmark. Consequently, there are options related to adding data to potential pick slip invoice that do not appear in ShipRequest.
Will return the latest tracking status for the specified shipment or package.
Will return sku inventory (on hand) information for all or specified facilities. Only applicable to clients using Landmark for fulfillment.
Will assign a MAWB number and International Airport Code to a set of shipments travelling together on the given MAWB. This is required for shipments utilizing Landmark's PreClearance services.