Pickup
Update Pickup Request – REST
Summary
Name: | Update Pickup Request |
---|---|
Reason to Call: | To modify a pickup request (e.g. contact, pickup times, etc.) |
Input: | Pickup request details (same data as Create Pickup Request) |
Output: | Success flag |
Version history: | Release notes |
Request Details
Request – Structure for Update Pickup Request
Endpoint
Invoke the link returned from a prior call to Create Pickup Request or Get Pickup Requests where rel= “self” (see Provided endpoints)
HTTP HeadersHTTP Header Variable |
Value |
---|---|
Accept |
application/vnd.cpc.pickuprequest+xml (Note: */* in place of the header value will return an error) |
Content-Type |
application/vnd.cpc.pickuprequest+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 |
<?xml version="1.0" encoding="utf-8"?>
<pickup-request-details xmlns=”http://www.canadapost.ca/ws/pickuprequest”>
xxx
</pickup-request-details>
Request – Elements
The table below describes the XML input elements for Update Pickup Request. For the hierarchical structure of the inputs, see the XML diagram.
Update Pickup Request – Request Elements | |||
---|---|---|---|
Element Name | Type | Required/Optional | Description/Size/Format |
pickup-request-update |
Complex |
Required |
The top level XML element for the request input information. All data provided in this update will override the data in your original Create Pickup Request call. Note: you cannot change the pickup-type, pickup-location and payment-info. If you need to change these elements, cancel your pickup instead and create a new one. |
business-address-flag |
Simple |
Required |
{true}, {false}
|
alternate-address |
Complex |
Conditionally required |
Address for third-party pickup. |
company |
Simple |
Required |
(Character string up to 35 characters) Required for third-party pickups (business-address=false). Must not be supplied if business-address = true. |
address-line-1 |
Simple |
Required |
(Character string up to 35 characters) Required for third-party pickups (business-address=false). Must not be supplied if business-address = true. |
city |
Simple |
Required |
(Character string up to 35 characters) Required for third-party pickups (business-address=false). Must not be supplied if business-address = true. |
province |
Simple |
Required |
(2 characters) Required for third-party pickups (business-address=false). Must not be supplied if business-address = true. |
postal-code |
Simple |
Required |
(6-character alphanumeric) Required for third-party pickups (business-address=false). Must not be supplied if business-address = true. |
contact-info |
Complex |
Required |
Structure containing the contact for questions or inquiries. |
contact-name |
Simple |
Required |
(Character string up to 45 characters) |
Simple |
Required |
(Character string up to 60 characters) |
|
contact-phone |
Simple |
Required |
(Character string up to 16 numeric characters) |
telephone-ext |
Simple |
Optional |
(up to 6 numeric digits) |
receive-email-updates-flag |
Simple |
Optional |
{true, false} |
location-details |
Complex |
Required |
Structure containing characteristics of the physical location where pickup is to occur. |
five-ton-flag |
Simple |
Optional |
{true, false} |
loading-dock-flag |
Simple |
Optional |
{true, false} |
pickup-instructions |
Simple |
Required |
(Character string up to 132 characters) |
items-characteristics |
Complex |
Optional |
Structure to identify that items for pickup have special processing needs. |
priority-flag |
Simple |
Optional |
{true, false} |
returns-flag |
Simple |
Optional |
{true, false} |
heavy-item-flag |
Simple |
Optional |
{true, false} |
pickup-volume |
Simple |
Required |
(Character string up to 40 characters) |
pickup-times |
Complex |
Required |
Structure containing the date and time range in which the pickup is to be done. |
on-demand-pickup-time |
Complex |
Conditionally required |
Structure containing the details for an on-demand pickup request. |
date |
Simple |
Required |
(YYYY-MM-DD format) |
preferred-time |
Simple |
Required |
(hh:mm:ss format) |
closing-time |
Simple |
Required |
(hh:mm:ss format) |
contract-id |
Simple |
Optional |
(Up to 10 numeric digits) |
method-of-payment |
Simple |
Optional |
For future use only. In the initial release, the system will determine the method of payment:
|
Request – XML Diagram
Response Details
Response – Elements
The Update Pickup Request service does not respond with any XML data, but a successful operation is indicated through an HTTP response code of 204. A 400 series HTTP response code indicates an error.
Response – Possible Error Responses
In addition to the errors below, you can also receive a 404 error if you submit an invalid request-id or if the pickup request has been cancelled.
Code | Description |
---|---|
11000 |
Address is incomplete (missing unit number for example). |
11001 |
The contract number is not found or invalid. Note that you must use a parcels agreement. |
11002 |
There is already a pickup request within one hour of this one. |
11003 |
Pickup cannot be done on the date requested (may be in the past, invalid or not a business day). |
11005 |
Customer number not valid. Please correct or contact Canada Post for details. |
11009 |
Pickup is not available for the postal code you provided. |
11010 |
You must have a credit card on file when paying by this method of payment. |
11011 |
You need a parcels agreement to request scheduled pickups. |
11015 |
Missing preferred time. Please correct your request. |
11012 |
Request ID not found. Please verify. |
11016 |
Your closing time cannot be before your preferred pickup time. |
11111 |
System error. Please try later or contact the Canada Post helpdesk. |
See also HTTP status codes and Error messages and mitigation strategies.
Examples
Sample REST XML Request – Update Pickup Request
PUT https://ENV/enab/001102159/pickuprequest/0074698052
Accept application/vnd.cpc.pickuprequest+xml
Authorization:Basic s7HD7gwsennesc==
<pickup-request-update>
<contact-info>
<contact-name>Jane Doe</contact-name>
<email>john.doe@canadapost.ca</email>
<contact-phone>800-555-1212</contact-phone>
<receive-email-updates-flag>true</receive-email-updates-flag>
</contact-info>
<location-details>
<five-ton-flag>false</five-ton-flag>
<loading-dock-flag>true</loading-dock-flag>
<pickup-instructions>Door at Back</pickup-instructions>
</location-details>
<items-characteristics>
<heavy-item-flag>true</heavy-item-flag>
</items-characteristics>
<pickup-volume>50</pickup-volume>
<pickup-times>
<on-demand-pickup-time>
<date>2015-01-28</date>
<preferred-time>15:00</preferred-time>
<closing-time>17:00</closing-time>
</on-demand-pickup-time>
</pickup-times>
</pickup-request-update>
Sample REST XML Response – Update Pickup Request
The service does not respond with any XML elements unless an error occurs in which case the standard error response is provided.