Contract Shipping

Code Samples for Contract Shipping: Java (.zip) | PHP (.zip) | C# (.zip)

Request Shipment Refund – REST

Summary

Name: Request Shipment Refund
Reason to Call:

To request a refund for a shipment that has been transmitted. Making this call indicates that the shipping label is spoiled and will not be used.

Please note that before we issue a refund we will verify that the request is valid—for example, by ensuring that the label has not been used.

If you want to cancel an entire manifest, please read about how to request a refund of an entire manifest or several shipments from a manifest.

Input: Your email address and the link returned from a prior call to Get Shipment or Get Shipments where rel=”refund”
Output: A service ticket ID
Error Example: A refund request has already been submitted for this shipment. Refunds take a few days to be processed.
Typical Prior Call: Get Shipments or Get Shipment
Typical Next Call: None
Version history: Release notes
Request Shipment Refund – Summary of Service

Request Shipment Refund – Summary of Service

Request Details

Request – Structure for Request Shipment Refund

Endpoint

Invoke the link returned from a prior call to Get Shipment or Get Shipments where rel=”refund”

HTTP Headers

HTTP Header Variable

Value

Accept

application/vnd.cpc.shipment-v8+xml (Note: */* in place of the header value will return an error)

Content-Type

application/vnd.cpc.shipment-v8+xml (Note: */* in place of the header value will return an error)

Authorization

Basic {Base64 encoding of userid:password}

Accept-language

en-CA or fr-CA

Body

<?xml version="1.0" encoding="utf-8"?>
<shipment-refund-request xmlns=”http://www.canadapost.ca/ws/shipment-v8”>
xxx
</shipment-refund-request>

Request – Elements

The table below describes the XML input elements for Request Shipment Refund. For the hierarchical structure of the inputs, see the XML diagram

Request Shipment Refund – Request Elements
Element Name Type Required / Optional Description

shipment-refund-request

Complex

Required

The overall XML structure for the request input information.

email

Simple

Required

(Character string - up to 60 characters)
Must be a valid email address, i.e. pattern of (['_A-Za-z0-9\-\+]+)(\.['_A-Za-z0-9\-\+]+)*@([A-Za-z0-9-]+)(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,5})

Request – XML Diagram

Request Shipment Refund – Structure of XML Request
Request Shipment Refund – Structure of XML Request

Response Details

Response – Elements

The table below describes the XML fields in the response. For the hierarchy of the response, see the XML diagram

Request Shipment Refund - Response Elements
Element Name Type Description

shipment-refund-request-info

Complex

This is the top level of the XML structure.

service-ticket-date

Simple

Date when the refund request was submitted.

service-ticket-id

Simple

The service ticket ID number for your refund request. Please use this number in any communications with Canada Post regarding this refund request.

Note: In the sandbox (development) environment, the same test value (0123456789) is always returned.

Response – XML Diagram

Request Shipment Refund – Structure of XML Response
Request Shipment Refund – Structure of XML Response

Response – Possible Error Responses

An http return code of 404 (Not found) will be returned if the shipment ID is incorrect. Other possible error responses include the following:

Code Description
7291 Shipment has not been transmitted; you must use Void Shipment.
7292 A refund request has already been submitted for this shipment. Refunds take a few days to be processed.
7296 The request could not be completed. You can try again later.

See also HTTP status codes and Error messages and mitigation strategies.

Examples

Sample REST XML Request – Request Shipment Refund

<shipment-refund-request xmlns="http://www.canadapost.ca/ws/shipment-v8">
<email>name@example.ca</email>
</shipment-refund-request>

Sample REST XML Response – Request Shipment Refund

<shipment-refund-request-info>
<service-ticket-date>2015-01-28</service-ticket-date>
<service-ticket-id>GT12345678RT</service-ticket-id>
</shipment-refund-request-info>