Non-Contract Shipping

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

Create Non-Contract Shipment – REST

Summary

Name: Create Non-Contract Shipment
Reason to Call: To allow Canada Post customers without a commercial contract to request and pay for a shipping label.
Input: Details of shipment and payment.
Output: Links to the label and receipt details.
Error Example: Weight exceeds service limits.
Typical Next Call: Get Artifact
Version history: Release notes
Create Non-Contract Shipment – Summary of Service

Create Non-Contract Shipment – Summary of Service

Request Details

Request – Structure for Create Non-Contract Shipment

Endpoint

POST https://XX/rs/{mailed by customer}/ncshipment

Replace... With...

XX (Development)

ct.soa-gw.canadapost.ca

XX (Production)

soa-gw.canadapost.ca

{mailed by customer}

your customer number

HTTP Headers

HTTP Header Variable

Value

Accept

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

Content-Type

application/vnd.cpc.ncshipment-v4+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"?>
<non-contract-shipment xmlns="http://www.canadapost.ca/ws/ncshipment-v4">
xxx
</non-contract-shipment>

Request – Elements

This table describes the XML elements that are part of the input to this service. The hierarchical structure of the XML inputs is shown in the Request - XML Diagram.

Create Non-Contract Shipment – Request Elements
Element Name Type Required / Optional Description

non-contract-shipment

Complex

Required

This is the top level XML element for the request input information.

create-qr-code

Simple

Optional

This is an optional element, used to request the QR code image of the public label in base64 format, along with contains public key label URL, and expiry date.

If true, two new links are provided: publicLabel and publicKeyInfo.

Note: Only applicable to 8 1/2 X 11 paper encoded in pdf

create-public-key

Simple

Optional

This is an optional element, used to request the public key label URL, and expiry date.

If true, two new links are provided: publicLabel and publicKeyInfo

Note: Only applicable to 8 1/2 X 11 paper encoded in pdf

requested-shipping-point

Simple

Optional

(6-character alphanumeric string)

Must be in valid Postal Code format

e.g. A9A9A9

Pattern is [A-Z]\d[A-Z]\d[A-Z]\d

Postal code of the sending location (origin). It is used to determine the nearest post office, which is used for pricing.

This element is required if:

  • Your shipment is not picked up by Canada Post at the postal code specified in the sender structure below (i.e., it is picked up at another location), or
  • You deposit your shipment at a Canada Post location, in which case you must enter the postal code of that location. Look up the postal code using Find a Deposit Location.

delivery-spec

Complex

Required

This structure holds all information necessary to describe the delivery request (the shipment and its destination).

service-code

Simple

Required

This structure contains data about the sender and this data will appear in the "From" address of the label. Blank fields will be removed in the address formatting.

This is the Canada Post delivery service used for shipping the item.

Allowed to be any of:

Service-Code Description
Domestic
DOM.RP Regular Parcel
DOM.EP Expedited Parcel
DOM.XP Xpresspost
DOM.PC Priority
USA
USA.XP Xpresspost USA
USA.EP Expedited Parcel USA
USA.SP.AIR Small Packet USA Air
USA.TP Tracked Packet – USA
International
INT.IP.AIR International Parcel Air
INT.IP.SURF International Parcel Surface
INT.XP Xpresspost International
INT.SP.AIR Small Packet International Air
INT.SP.SURF Small Packet International Surface
INT.TP Tracked Packet – International

sender

Complex

Required

This structure contains data about the sender. This data will appear in the "From" address of the label. Blank fields will be removed in the address formatting.

Note: sender address must be domestic.

name

Simple

Optional

(Character String - up to characters)

Contact Name of the corresponding sender.

company

Simple

Required

(Character String - up to 44 characters)

Company name of the corresponding sender.

contact-phone

Simple

Mandatory

(Character String - up to 25 characters)

Phone number of the sender.

address-details

Complex

Required

This structure contains the address data about the sender.

Blank fields will be removed when printed on shipping labels.

Note: sender address must be domestic.

address-line-1

 Simple

Required

(Character String - up to 44 characters)

Address line 1 of sender.

address-line-2

Simple

Optional

(Character String - up to 44 characters)

Address line 2 of sender.

city

Simple

Required

(Character String - up to 40 characters)

City of sender.

prov-state

Simple

Required

(Character String - 2 characters)

Province of sender.

Use standard Canadian province codes.

postal-zip-code

Simple

Conditionally
Required

(6-character alphanumeric)

Postal Code of sender.

Pattern is [A-Z]\d[A-Z]\d[A-Z]\d

destination

Complex

Required

This element should always contain the address of the mail recipient, even if you are using the Deliver to Post Office option. For regular shipments, this data will appear in the "To" address of the label. For Deliver to Post Office shipments, the system will substitute the Post Office address on the label. Blank fields will be removed in the address formatting.

name

Simple

Conditionally Required

(Character String - up to 44 characters)

Contact Name of the recipient.

Note: If the Deliver to Post Office option is used, the name element must be present for the destination.

When shipping outside of Canada, at least one of name or company is required to comply with international customs regulations.

company

Simple

Conditionally Required

(Character String - up to 44 characters)

Company name of the recipient.

When shipping outside of Canada, at least one of name or company is required to comply with international customs regulations.

additional-address-info

Simple

Optional

(Character String - up to 44 characters)

Additional Address Info for the destination.

If present, this will be printed directly above address line 1.

client-voice-number

Simple

Conditionally Required

(Character String - up to 25 characters)

Phone number of the recipient. Not required for domestic—will not appear on shipping label.

Required for destination when service is one of Expedited Parcel-USA, Xpresspost-USA, Tracked Packet-USA, Xpresspost-International, Tracked Packet-International, (USA.EP, USA.XP, USA.TP, INT.XP, INT.TP)

Also required for destination when the Deliver to Post Office option is used.

Note: In addition to numbers, the following characters are also accepted in this field:

  • A plus sign (+), but only as the first character in the string.
  • Period (.), hyphen (-), open and close brackets, space, and x or p to indicate an extension.

address-details

Complex

Required

This structure contains the address data of the recipient.

Blank fields will be removed when printed on shipping labels.

address-line-1

Simple

Required

(Character String - up to 44 characters)

Address line 1 of destination.

address-line-2

Simple

Optional

(Character String - up to 44 characters)

Address line 2 of destination.

city

Simple

Conditionally Required

(Character String - up to 40 characters)

Required for domestic and USA shipments but optional for international shipments.

prov-state

Simple

Conditionally Required

(Character String - up to 20 characters)

Province or state of destination. Required for domestic and USA shipments but optional for international shipments.

Use:

  • standard province code for provinces within Canada
  • standard state code for U.S. states.

country-code

Simple

Required

(2-character valid country code)

Country code of destination.

postal-zip-code

Simple

Conditionally
Required

Can be:

  • (6-character alphanumeric for Canada (A9A9A9)
    Pattern is [A-Z]\d[A-Z]\d[A-Z]\d or
  • (5-digit or 5-4 digit numeric code for US) Pattern is \d{5}(-\d{4})? or
  • Character String - up to 14 characters (free format) for other countries.

Required for domestic and USA destinations.

Postal Code or zip code of recipient.

options

Complex

Optional

This structure contains the information on any requested shipping options.

option

Complex

Conditionally Required

May occur 1 … 20 times.

At least 1 occurrence is required if the corresponding parent XML element "options" exists.

A selection of a shipping option (e.g. COD, insurance, etc.)

option-code

Simple

Conditionally Required

(Alphanumeric string of up to 10 letters/digits)

Required if the corresponding parent XML element "option" exists.

This is the option code indicating which option applies to this shipment.

Valid option codes are as follows
SO - Signature
COV - Coverage
COD - Collect on delivery
PA18 - Proof of Age Required - 18
PA19 - Proof of Age Required - 19
HFP - Card for pickup
DNS - Do not safe drop
LAD - Leave at door - do not card
D2PO - Deliver to Post Office

Note: The D2PO option indicates that the parcel will be delivered directly to a nearby Post Office. For the D2PO option, the following XML elements are required:

  • name (under destination)
  • client-voice-number (under destination)
  • notification
  • option-qualifier-2

Note: If you select Collect on Delivery (COD), specify Card for Pickup (HFP) or Deliver to Post Office (D2PO). This is to facilitate the collection of COD funds at a post office. If not specified, the system will default to HFP.

Non-delivery handling codes
(required for some U.S.A. and international shipments)
RASE - Return at Sender’s Expense
RTS - Return to Sender
ABAN - Abandon

option-amount

Simple

Conditionally Required

(Numeric field of pattern 6.2 e.g. 999999.99)

Required if the corresponding parent XML element "option" exists and depending on the value of option-code.

Required for some options such as insurance (COV) and COD.

Note: For COD, there is a $1,000 maximum (including shipping cost, if applicable) on COD shipments for Solutions for Small Business customers.

For COV, on U.S. and international shipments, do not provide if you want the system to calculate the maximum allowable coverage (see option-qualifier-1 below).

option-qualifier-1

Simple

Conditionally Required

Boolean – {true, false}

Can be used to provide a qualifier for the COD or COV options.

For the COD or COV option, the value must be
{true , false}

Required if the corresponding parent XML element "option" exists and the option-code is one that requires a first qualifier.

Note: For the COD option, this element is required and is used to indicate if COD amount includes the shipping cost or not.

Example:
true = COD amount includes shipping cost.
false = COD amount does not include shipping cost.

To use with the COV option on U.S. and international shipments to indicate that the system can apply the maximum allowable coverage amount, which would equal the total value of your goods, up to the allowable maximum for product and country:

  • true = Use maximum allowable coverage; when used, there is no need to provide option-amount.
  • false (the default) = Use the amount of coverage as provided in option-amount.

False is the default if the qualifier is not provided.

option-qualifier-2

Simple

Conditionally Required

{Character String up to 12 characters}

Required if the corresponding parent XML element "option" exists and the option-code is one that requires a 2nd qualifier.

This qualifier is available for any options that may require a 2nd qualifier.

Currently, the options requiring a 2nd qualifier are:

Deliver to Post Office
For the Deliver to Post Office option, this element must contain the office id of the destination Post Office.

parcel-characteristics

Complex

Required

This structure describes the characteristics of the parcel e.g. weight

weight

Simple

Required

(Numeric field of pattern 3.3 e.g. 999.999)

Total package weight in kg.

dimensions

Complex

Conditionally required

This structure contains the physical dimensions of the parcel which are used to make a more accurate determination of the shipping cost.

This group is required unless the shipment is a document.

length

Simple

Conditionally Required

(Numeric field of pattern 3.1 e.g. 999.9 pattern)

Length of parcel in cm.

Required if the corresponding parent XML element "dimensions" exists.

If specified, a more accurate price may be derived. Value is in cm.

width

Simple

Conditionally Required

(Numeric field of pattern 3.1 e.g. 999.9 pattern)

Width of parcel in cm.

Required if the corresponding parent XML element "dimensions" exists.

If specified, a more accurate price may be derived.

height

Simple

Conditionally Required

(Numeric field of pattern 3.1 e.g. 999.9 pattern)

Height of parcel in cm.

Required if the corresponding parent XML element "dimensions" exists.

If specified, a more accurate price may be derived.

document

Simple

Optional

{true, false}

Indicates whether the shipment is a document or not. (If omitted or “false”, dimensions are required).

unpackaged

Simple

Optional

{true, false}

Indicates whether a shipment is unpackaged or not. For example, auto tires may be an example of an unpackaged shipment.

mailing-tube

Simple

Optional

{true, false}

Indicates whether a shipment is contained in a mailing tube. e.g. a poster tube

notification

Complex

Conditionally Required

This structure contains client preferences with respect to email notification for tracking events e.g. delivery.

This element is required if the Deliver to Post Office (D2PO) option has been selected. For Deliver to Post Office, the email indicated within notification will be used to notify the customer that their parcel is ready for pickup.

email

Simple

Conditionally Required

(Character String - up to 60 characters)

Must be a valid email address.

Pattern is (['_A-Za-z0-9\-\+])(\.['_A-Za-z0-9\-\+])@([A-Za-z0-9-])(\.[A-Za-z0-9-])(\.[A-Za-z]{2,})

This element is required if the notification element exists.

Email address to receive automatic tracking updates.

on-shipment

Simple

Conditionally Required

{true, false}

This element is required if the notification element exists.

Indicates whether client wishes to receive an email notification on a shipment.

on-exception

Simple

Conditionally Required

{true, false}

This element is required if the notification element exists.

Indicates whether client wishes to receive an email notification on exceptions.

on-delivery

Simple

Conditionally Required

{true, false}

This element is required if the notification element exists.

Indicates whether client wishes to receive an email notification on delivery.

preferences

Complex

Required

This structure contains a number of client preferences with respect to the printing of labels.

show-packing-instructions

Simple

Required

{true, false}

This element indicates whether packing instructions are to be rendered on the label or not.

show-postage-rate

Simple

Optional

{true, false}

This element indicates whether postal rate is to be shown on the label or not.

This only applies to U.S.A. and international shipments.

If the element is not present, the default value is false.

show-insured-value

Simple

Optional

{true, false}

This element indicates whether the insured value is to be shown on the label or not.

This only applies to U.S.A. and international shipments.

If the element is not present, the default value is false.

references

Complex

Optional

This structure contains reference fields that you assign. These alternate (possibly unique) identification numbers are assigned to the shipment for any purpose useful to you.

cost-centre

Simple

Optional

(Character String - up to 30 characters)

This is a user-defined value available for use by your applications. The value you enter here will appear on your invoice and in the PosteCS secure email that we use to send your invoice.

customer-ref-1

Simple

Optional

(Character String - up to 35 characters)

This is a user-defined value available for use by your applications. (e.g. you could use this field as an internal "order id"). The value you enter here will appear on the shipping label, in Track and – for customers who subscribe to our Automated Parcel Tracking service – in your APT file.

customer-ref-2

Simple

Optional

(Character String - up to 35 characters)

This is a user-defined value available for use by your applications. The value you enter here will appear on the shipping label, in Track and – for customers who subscribe to our Automated Parcel Tracking service – in your APT file.

customs

Complex

Conditionally Required

(Canada – Optional; International/USA – Required)

This structure contains information to be printed on the label to facilitate passing through customs at international borders.

currency

Simple

Conditionally
Required

(Character String - 3 alphabetic characters)

Value must be

  • CAD for Canadian Currency
  • USD for US currency
  • Other valid ISO currency code

Required if the corresponding parent XML element "customs" exists.

This is the currency of the receiving country.

conversion-from-cad

Simple

Conditionally Required

(Numeric field of pattern 3.6 i.e. 999.999999)

Required if the corresponding parent XML element "customs" exists and the currency is not CAD.

The conversion rate from the Canadian dollar to the currency you entered in the currency element above; for example, if you used USD as the target currency and $1.00 CAD = $0.85 USD, the conversion rate is 0.85.

reason-for-export

Simple

Conditionally Required

(3 characters)

Required if the corresponding parent XML element "customs" exists.

This is a code that represents the reason for export, which assists with border crossing.

The codes and their meanings are as follows:
DOC = document
SAM = commercial sample
REP = repair or warranty
SOG = sale of goods
OTH = other

other-reason

Simple

Optional

(Character String - minimum 4 characters; maximum 44 characters)

This is the reason for export, if the element reason-for-export is "other" to describe the reason for export.

duties-and-taxes-prepaid

Simple

Optional

Reserved for future use.

certificate-number

Simple

Optional

(Character String – up to 10 characters)

If required by customs at the destination, the number of the government/agency certificate or permit.

licence-number

Simple

Optional

(Character String – up to 10 characters)

If required by customs at the destination, the number of the government/agency import or export licence.

invoice-number

Simple

Optional

(Character String – up to 10 characters)

If required by customs at the destination, the commercial invoice number.

ioss-id

simple

optional

(Character String up to 13 characters)

Optional field to enter Tax Registration Numbers or IDs (e.g. Tax ID, IRS No., VAT, IOSS number) for electronic transmission to the receiving post. Note: IOSS should be entered as IMxxxxxxxxxx.

sku-list

Complex

Conditionally Required

Required if the corresponding customs parent element exists.

This structure contains the list of unique types of items that are contained within this shipment, as well as information about these types. Each item type may have a quantity of 1 or more. This information is printed on the label or customs document to assist with processing the parcel at customs.

item

Complex

Required

May occur 1 … 500 times.

At least one instance of item must exist.

There is a limit of 500 item elements under a sku-list.

This structure contains the information about the item type (number of units, value per unit, etc.) that are contained in this shipment.

hs-tariff-code

Simple

Optional

(Numeric field of the general form 9999.99.99.99)

Pattern is \d{4}(\.\d{2}(\.\d{2}(\.\d{2})?)?)?

The tariff code for the item.

sku

Simple

Optional

(Character String - up to 15 characters)

A customs sku number or sku name for the item

Note: Version 3 only permits up to 15 characters. Previous versions allow up to 44 characters, but data will be truncated at 15 characters. The length limitations are necessary to comply with international customs regulations.

customs-description

Simple

Conditionally Required

(Character String - up to 45 characters)

Required if the corresponding parent XML element "item" exists.

A customs description of the item.

unit-weight

Simple

Conditionally Required

(Numeric field of pattern 2.3 e.g. 99.999)

Required if the corresponding parent XML element "item" exists.

The unit weight of the item in kg.

customs-value-per-unit

Simple

Conditionally Required

(Numeric field of pattern 5.2 e.g. 99999.99)

Required if the corresponding parent XML element "item" exists.

The value per unit in Canadian currency of the item.

customs-number-of-units

Simple

Conditionally Required

(Numeric field of four digits e.g. 9999)

Required if the corresponding parent XML element "item" exists.

The number of units in the parcel.

customs-unit-of-measure

Simple

Optional

(Three-character ISO code)

Identifies the unit of measure for the customs-number-of-units.

  • PCE – Piece
  • NMB – Number
  • PAR – Pair
  • PKG – Package
  • ENV – Envelope
  • LTR – Litre
  • MLT – Millilitre
  • BOX – Box
  • BAG – Bag
  • MTR – Metre
  • MMT – Millimetre
  • DZN – Dozen
  • GRM – Gram
  • KGM – Kilogram
  • CTN – Carton
  • BIN – Bin
  • SET – Number of sets
  • BOT – Bottle
  • TBE – Tube
  • KIT – Kit

country-of-origin

Simple

Optional

(2-character valid country code)

This is the country of origin of the corresponding item and should be provided if the corresponding parent XML element "item" exists (and if the country of origin is known).

If the country of origin is not known, the element can be omitted.

province-of-origin

Simple

Conditionally required

(2-character valid province code)

This should be provided if the country-of-origin is Canada

The province of origin of the goods.

settlement-info

Complex

Optional

Structure containing elements related to payment or rating.

promo-code

Simple

Optional

Character String – up to 10 characters.

Promotional discount code. Note that a promotion code is only valid for a certain period and product.

Converted to uppercase.

For testing purposes, you can use the promo code DEVPROTEST in the development (sandbox) environment. It is valid for the following products:

  • Xpresspost (DOM.XP)
  • Xpresspost - International (INT.XP)

Request – XML Diagram

Create Non-Contract Shipment – Structure of XML Request
Create Non-Contract Shipment – Structure of XML Request

Response Details

Response – Elements

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

Create Non-Contract Shipment – Response Elements
Element Name Type Description

non-contract-shipment-info

Complex

This is the top level of the XML structure.

shipment-id

Simple

A unique identifier for the shipment. This can be used in any future calls to Transmit Shipments to indicate that this shipment is to be excluded from the transmit.

tracking-pin

Simple

This is the tracking PIN for the shipment. The tracking PIN can be used as input to other web service calls such as Get Tracking Details.

links

Complex

This structure represents a list of links to information relating to the shipment that was created.

link

Complex

May occur 1 .. N times

(Note: the xml element link is designated as "Complex" because it contains a number of attributes, and according to the official XML definition, any element that contains attributes is Complex. The link element does not contain any sub-elements)

The links structure contains a number of link elements. These allow you to separately retrieve the different results of the Create Non-Contract Shipment service, and/or invoke different additional functions on the shipment that was created. Each link represents a link to one of the web services.

See Provided endpoints for a description of link attributes.

Several links will be returned and each will have a unique rel type:

  1. rel="self"

    This indicates that the link represents the shipment just created. In this case, the href attribute can be used as an endpoint to the Get Non-Contract Shipment service for the shipment just created. (See Get Non-Contract Shipment for information on how to invoke that service). As the Get Non-Contract Shipment service returns all the same information as the Create Non-Contract Shipment service, it can be used to re-generate (at a later time) all the information provided as part of the Create Non-Contract Shipment.
    The media-type attribute will indicate the version of the XML format to be followed when calling
    Get Non-Contract Shipment.

  2. rel="label"

    This indicates a link to the outgoing shipping label document. (See Get Artifact for information on how to invoke that service). The media-type attribute will indicate the format of the graphics file (e.g. PDF).
    Note, for links of type rel="label", the additional attribute index="n" (e.g. index="0") is also required. This accommodates the situation where a multi-page label is spread over a number of separate artifacts (one for each page). In most cases, there will be only one page, so index="0" will be used.

  3. rel="commercialInvoice"

    This only exists in the case of a U.S. or international shipment where a commercial invoice is required to show to border customs.
    (See Get Artifact for information on how to retrieve the label document). The media-type attribute will indicate the format of the file (e.g. PDF).

  4. rel="details"

    This indicates that the link will return additional details that were created as part of the Create
    Non-Contract Shipment process. (See Get Non-Contract Shipment Details for information on how to invoke that service). The media-type attribute indicates the version of the XML that will be returned.

  5. rel="receipt"

    This indicates that the link will return price and receipt details that were generated by the Create
    Non-Contract Shipment process. (See Get Non-Contract Shipment Receipt for information on how to invoke that service). The media-type attribute indicates the version of the XML that will be returned.

  6. rel="refund"

    Use this link to request a refund for this shipment through Request Non-Contract Shipment Refund. You can only request a refund if the shipment has been transmitted and you have printed a label that is spoiled or will not be used for some reason.

    The media-type attribute indicates the version of the XML that will be returned.

    In all of the above cases, the value of the media-type attribute should be included as an HTTP Accept header in any of the calls to other services pointed to by the href.

  7. rel="publicLabel"

    This link is to un-authenticated URL to the label.

  8. rel="publicKeyInfo"

    This link is used to request the detail about the public label (expiry date and potentially QR code, if requested)

Response – XML Diagram

The following diagram shows the XML structure of the response from the Create Non-Contract Shipment service.

Create Non-Contract Shipment - Structure of the XML Response

Create Non-Contract Shipment - Structure of the XML Response

Response – Possible Error Responses

Possible error responses include the following:

Code

Description

1459

The Reason for Export code value is not valid (Note: As of April 2016, gift is no longer valid).

1719

The coverage amount cannot exceed the total value of your goods, up to the maximum allowable for the product and country.

7272

The Promotional Code is invalid (does not exist or is not applicable to the selected service).

7282

At least one of Recipient Name or Company Name is required per Customs regulations.

7289

The selected service is not valid for the specified customer and/or contract.

7322

The currency code is not a valid 3-digit ISO currency code (such as USD).

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

Examples

Sample REST XML Request – Create Non-Contract Shipment

<non-contract-shipment>
<requested-shipping-point>J8R1A2</requested-shipping-point>
<delivery-spec>
<service-code>DOM.EP</service-code>
<sender>
<company>Canada Post Corporation</company>
<contact-phone>555-555-5555</contact-phone>
<address-details>
<address-line-1>2701 Riverside Drive</address-line-1>
<city>Ottawa</city>
<prov-state>ON</prov-state>
<postal-zip-code>K1A0B1</postal-zip-code>
</address-details>
</sender>
<destination>
<name>John Doe</name>
<company>Consumer</company>
<address-details>
<address-line-1>2701 Receiver Drive</address-line-1>
<city>Ottawa</city>
<prov-state>ON</prov-state>
<country-code>CA</country-code>
<postal-zip-code>K1A0B1</postal-zip-code>
</address-details>
</destination>
<options>
<option>
<option-code>DC</option-code>
</option>
</options>
<parcel-characteristics>
<weight>15</weight>
<dimensions>
<length>1</length>
<width>1</width>
<height>1</height>
</dimensions>
</parcel-characteristics>
<preferences>
<show-packing-instructions>true</show-packing-instructions>
</preferences>
</delivery-spec>
</non-contract-shipment>

Sample REST XML Response – Create Non-Contract Shipment

<non-contract-shipment-info>
<shipment-id>406951321983787352</shipment-id>
<tracking-pin>12345678901234</tracking-pin>
<links>

<link rel="self" href="https://ct.soa-gw.canadapost.ca/rs/0007023211/ncshipment/406951321983787352" media-type="application/vnd.cpc.ncshipment-v4+xml"></link>
<link rel="details" href="https://ct.soa-gw.canadapost.ca/rs/0007023211/ncshipment/406951321983787352/details" media-type="application/vnd.cpc.ncshipment-v4+xml"></link>
<link rel="receipt" href="https://ct.soa-gw.canadapost.ca /rs/0007023211/ncshipment/406951321983787352/receipt"media-type="application/vnd.cpc.ncshipment-v4+xml"></link>
<link rel="label" href="https://ct.soa-gw.canadapost.ca/rs/artifact/76108cb5192002d5/10238/0" media-type="application/pdf" index="0"></link>

</links>
</non-contract-shipment-info>