Create a PB Presort Pickup Slip¶
HTTP Request¶
POST /v1/manifests
Summary¶
A PB Presort pickup slip identifies the shipments in the pickup and contains a unique ID to identify the pickup run. The slip is handed to the Presort Services driver at the time of pickup.
Prerequisites¶
To use PB Presort, a merchant must be enrolled with a PB Presort facility and receive a Mailer ID, Job number, and other information. See Onboard a Merchant to Print PB Presort Labels.
Considerations¶
All shipments with the
rates.carrier
field set toPBPRESORT
are eligible for inclusion in the pickup slip.A shipment is eligible for inclusion both on and before its shipment date.
Up to 7000 shipments can be included in a single pickup slip.
Shipments, once manifested, cannot be re-manifested.
When creating the pickup slip:
Set
carrier
toPBPRESORT
.The
MANIFEST_TYPE
manifest parameter is not required. It can be either left out or set toNORMAL
.
You can add shipments to the pick slip by specifying any combination of the following:
The Shipper ID in the
SHIPPER_ID
parameter to theparameters
array. The pickup slip will include all eligible shipments created with that Shipper ID.The tracking numbers in the
parcelTrackingNumbers
array. The pickup slip will include all eligible shipments with those tracking numbers.The job number in the
X-PB-ShipmentGroupId
header.
You can filter further by specifying an inductionPostalCode. When specified, the
inductionPostalCode
value in the manifest request must match therates.inductionPostalCode
value of the shipment.If a shipment has no
rates.inductionPostalCode
, the value in the manifest request must match the shipment’sfromAddress.postalCode
.If the pickup slip contains shipments with different
inductionPostalCode
values, then a multi-page pickup slip is created, with oneinductionPostalCode
value per page. The pages are accessed via a single PDF.If the pickup slip includes packages with different job numbers, the API generates a separate pickup slip for each job number.
The following address fields are required in the
fromAddress
object:postalCode
countryCode
Manifest documents retrieved through URLs are available for 24 hours after creation.
You cannot reprint or retry a pickup slip.
Request URLs for Pickup Slips¶
Sandbox: https://shipping-api-sandbox.pitneybowes.com/shippingservices/v1/manifests
Production: https://shipping-api.pitneybowes.com/shippingservices/v1/manifests
Request Headers¶
Name |
Description |
---|---|
Authorization |
Required. OAuth token generated using the Generate an OAuth Token API. |
Content-Type |
Required. The media type of the request entity. Set this to |
X-PB-TransactionId |
Required. A unique identifier, up to 25 characters. The following characters are allowed: letters, numbers, hyphens ( Important: Ensure this is a unique ID. |
X-PB-ShipmentGroupId |
The job number that represents the agreement between the merchant and PB Presort. This was provided by Pitney Bowes during merchant onboarding for PB Presort. You can specify only one job number per manifest request. To specify multiple job numbers, you must make make multiple API calls. |
X-PB-Integrator-CarrierId |
Conditional. The Mailer ID (MID) that applies to this pickup slip. This is required if a merchant has more than one MID. In such cases, set this to the MID that applies to this pickup slip. |
X-PB-UnifiedErrorStructure |
Recommended. Set this to |
Request / Response Elements¶
Important
Please see the Considerations section on this page before creating a pickup slip.
Important: The API call sends and receives a Manifest Object. The table below describes all possible fields in a Manifest Object. Some fields might not apply to your operation.
Name |
Data Type |
Description |
---|---|---|
carrier |
String |
Required. The carrier to which the manifest applies. For some operations, this field is not present in the response. Valid values:
|
submissionDate |
String |
Required. The date the shipments are to be tendered to the carrier, entered as |
fromAddress |
Conditional. The shipment origin address. Required for:
|
|
inductionPostalCode |
String |
Conditional. Postal code where the shipments are tendered to the carrier. This field does not apply to PB Standard manifests. |
parcelTrackingNumbers |
Array[String] |
Identifies shipments by their tracking numbers. List one or more tracking numbers, separated by commas. Enter each tracking number as a separate String. If the |
parameters |
Array[Object] |
Conditional. Each object in the array defines a different manifest parameter. This field is used only in the request and is not returned in the response. Required for PB Standard Manifests (Closeouts). |
parameters.name |
String |
The name of the manifest parameter. |
parameters.value |
String |
The value of the manifest parameter. |
manifestId |
String |
RESPONSE ONLY. The unique manifest ID. This field is not returned for APAC Services. This field is not returned for APAC Services. |
manifestTrackingNumber |
String |
RESPONSE ONLY. The manifest tracking number. This is returned only if |
documents |
Array[Documents Object] |
RESPONSE ONLY. The manifest. This field is not returned for a PB Standard manifest. |
Sample Request¶
curl -X POST ../v1/manifests \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: 175da21e-1a70-450a-a4b7" \
-H "X-PB-UnifiedErrorStructure: true" \
-d '
{
"carrier": "PBPRESORT",
"submissionDate": "2020-11-12",
"parcelTrackingNumbers": [
"9261211111111100941418",
"9261212233222100941419"
],
"parameters": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
} ]
}'
Sample Response¶
{
"carrier": "PBPRESORT",
"submissionDate": "2020-11-12",
"fromAddress": { ... },
"parcelTrackingNumbers": [
"9261211111111100941418",
"9261212233222100941419"
],
"manifestId": "11111111100582",
"documents": [ {
"type": "MANIFEST",
"contentType": "URL",
"contents": "https://.../pbpresort/187143416/outbound/manifest/af5644f7134f4f649e673ce2583399f5.pdf"
} ],
"parameters": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
} ]
}
Error Codes¶
For a list of all error codes returned by the Ecommerce APIs, please see Error Codes.