API Documentation
Open Parcel Group API Basics
Shipment Workflow
For most API customers, the following shipment workflow will be appropriate
- Customer calls the Create Shipment API, specifying the shipper, consignee and shipment contents.
- We reply with:
- A shipping label.
- A tracking number that can be used with Tracking API, or on our Tracking Page
- Customer prints the shippling label and affixes it to their shipment.
- At end of day, Customer calls the Manifest API. All newly processed shipments are assigned to the manifest.
- We reply with a Manifest PDF
- Customer prints the Manfiest PDF, and sends it along with their shipments.
End of Day Manifesting
A manifest groups parcels together, the grouping is used for tracking the parcels with a single manifest number
The manifest helps terminal operations perform a quick audit of the shipment contents, and scanning the manifest number allows a tracking event to be generated for every parcel in the shipment, even before they are individually scanned.
Creating Manifest Numbers
Manifest numbers are generated by customers, and are easy to create. They can be as simple as a date / time stamp in the format CCYYMMDD-HHMMSS. Customer may want to include other reference information in the manfiest number, like job number, cost center, or project identifier.
Customers can create manifests in three ways, pick the right method for your operations.
1) Pre-Assigned Manifest Numbers
For customers that generate a manifest number in advance, specify the job number in the "manifestnbr" field of the create shipment call. Finally call the manifest service with that same job number at the end of the day to complete the manifest.
2) End-of-Day Manifest Numbers
Optionally, create a manifest number at the end of the day, and include the number in the call to the manifest service.
When calling the manifest service in this manner, include the tracking number of every shipment in the manifest request.
3) Automatic Manifests
If you don't want to call the manifest service, all un-manifested shipments will be automatically assigned to a nightly manifest.
Tracking
Customers can track their shipments with either their shipment reference number, or the carrier tracking number returned from the Shipment API call.
Tracking data can be retreived in several ways:
- With the Tracking API. Use this to track individiual parcels or groups of undelivered parcels.
- With a tracking file, downloaded from the Open Parcel Group website.
- With a tracking file posted via SFTP to your web server.
If you're building your own database of tracking events, please don't use the individual tracking API calls. Use the FTP or batch tracking API, as documented in the trackign API service.
Message Formats - JSON and XML
The API supports both JSON and XML formats to support the widest variety of platforms.
Each web service is comprised of a request and response message.
All services use HTTPS POST (not GET) for communication.
For each API call, the caller prepares a request document (JSON or XML) and posts it to our API endpoint via HTTPS. All modern programming lanugages are supported (e.g. Java, C#, PHP, Ruby, JS/ES/TypeScript, etc.).