[title] | test

Shipping 8.0.0

Create and manage shipping labels and manifests

To get access, create an account or sign in.

What it does

The Canada Post Shipping API helps customers ensure accurate and timely delivery of their orders. 

With this API, customers can:

  • Process orders
  • Create shipments
  • Generate labels
  • Print manifests
  • Void shipments
  • Request refunds
  • Print receipts

New to Canada Post?

Read our backgrounder on shipping, manifests, and mailing on behalf of customers

How it works

The Canada Post Shipping API consists of both a shipping API and – where shipping labels state “manifest required” – a secondary manifest service.

 

Latest updates in this version  

Shipping and manifest workflow 

A flowchart for the Shipping API. A text description of the flowchart is available on the page.

The Shipping workflow begins with the API retrieving shipping information that was gathered from a client app and information gathered from the Get Rates call. The API then divides the process into two main steps: Shipping service and Manifest service. Shipping service involves creating a shipment – with optional calls of Get Shipment Price, Get Shipment Receipt, Get Shipment Details, and Get Shipment Public Key Info – followed by Get Artifact (Void Shipment is an optional call following Get Artifact). Manifest service involves Transmit Shipment (Request Shipment Refund is an optional call following Transmit Shipment). The Get Manifest call follows and, finally, Get Artifact is called. 

View larger image

Once integrated into your platform or application, the Canada Post Shipping API enables the creation of shipments and labels as well as void shipment and refund requests. 

Shipping calls

Shipping service functionality is provided through the following calls:

Shipping calls
ServiceDescription
Create ShipmentCreates a new shipment, including the shipping label image, links, and shipment details.
Get ShipmentRetrieves the links created by a previous Create Shipment call.
Get Shipment PriceRetrieves pricing details for a shipment created in a previous Create Shipment call.
Get Shipment DetailsRetrieves shipment details for a shipment created by a prior Create Shipment call.
Get Shipment Public Key InfoUsed to retrieve the details on the public key including expiry date, QR code, and public URL (un-authenticated URL).
Get GroupsRetrieves all group IDs associated with a customer (or mailed-on-behalf-of customer) for shipments that have been created.
Get ShipmentsRetrieves all shipments associated with a specific group or manifest.
Get Shipment ReceiptRetrieves payment information for a single shipment that was paid by credit card and didn’t require a manifest. The data returned can be formatted to print a credit card receipt.
Get Artifact

Used to retrieve the rendered label(s) for a shipment created by a prior Create Shipment call. It can be called more than once to reprint a spoiled label.

Void ShipmentIndicates that a printed label for a manifested shipment was spoiled or cancelled by the customer and that it shouldn’t be transmitted and billed.
Request Shipment RefundSends a request to refund a transmitted shipment for which a label has been printed but subsequently spoiled.

If your shipment contains multiple packages and your shipping labels state “manifest required”, you must complete the second step in the process and create a shipping manifest with the manifest web service.

What is a manifest?

A shipping manifest details the contents of a shipment, including the type and quantity of items, destination address, shipment date, value, item weight, and dimensions, as well as any special handling instructions or requirements.

Why do I need one?

The manifest is used to record and track shipment contents in case of loss or damage. A manifest is also used to ensure compliance with any regional regulations as well as any required special handling of hazardous materials or perishable goods.

What do I do with it?

You need to provide a shipping manifest when your shipments are dropped off at – or picked up by – your Canada Post carrier. It will detail your shipment contents, verify the number of packages in your shipment, and provide proof of payment.

Learn more in our manifest backgrounder

Manifest calls

Manifest service functionality is provided through the following calls:

Manifest calls
ServiceDescription
Transmit Shipments

Uploads shipment data to billing and tracking systems and returns the information required to invoke the Get Manifest and Get Artifact services. The transmit shipment call triggers the billing process and specifies shipments to be included in the manifest.

Get Manifest

Confirms that a manifest has been created and retrieves the manifest details.  

Please note: If this call invokes a 9153 error, pause briefly then continue to call Get Manifest until you get a successful response. If the call invokes a 9154 error, the Transmit Shipment call has failed, and you must perform a Transmit Shipment call again. 

Get Artifact

Retrieves the rendered manifest. It allows you to print your manifest to provide with your shipment pickup or drop-off. Invoke this call as often as required to reprint a given manifest. 

Reminder: Provide a printed copy of the manifest with each shipment you deposit and pick up. 

Get Manifest DetailsRetrieves all cost details associated with a given manifest.
Get ManifestsRetrieves a list of previously transmitted manifests within a given date range.

Cancelling a manifest

Learn how to cancel a manifest if required

Start using the API

Get started

Consult our Developer guide for details about access tokens, authentication, rate limits, and more.

Developer guide

Get support

Get answers to common questions in our FAQs. If you can’t find your answers there, connect with our team.

FAQs

Contact us