Create a Manifest for PMOD Shipments¶
HTTP Request¶
POST /v1/manifests
Summary¶
This operation creates a PS Form 3152 to list PMOD shipments. The shipments must be requested by the same shipper on the same day and inducted at the same ZIP code or origin entry facility.
Considerations¶
All shipments with
rates.serviceId
field set toPMOD
are eligible for inclusion in the manifest. Such shipments are considered to have the ADD_TO_MANIFEST shipment option enabled, no matter how the option is explicitly set. Setting the option to false has no effect. The API still considers the option to be enabled.A shipment is eligible for inclusion both on and before its shipment date.
If an eligible shipment is not included in a manifest request within 24 hours of the specified shipment date, it is automatically manifested.
Up to 7000 shipments can be included in a single manifest request.
Shipments, once manifested, cannot be re-manifested.
When creating the manifest, set the
MANIFEST_TYPE
toPMOD
, as shown in the sample request at the end of this page.You can add shipments to the manifest by specifying Shipper ID, tracking numbers, or both:
If you specify Shipper ID, the form will include all eligible shipments created with that Shipper ID. To specify Shipper ID, add the
SHIPPER_ID
parameter to theparameters
array.If you specify tracking numbers, the form will include all eligible shipments with those tracking numbers. Specify tracking numbers in the
parcelTrackingNumbers
array.
Note: If you specify both Shipper ID and tracking numbers, ensure the tracking numbers belong to the Shipper ID or the API will return an error.
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 norates.inductionPostalCode
, the value in the manifest request must match the shipment’sfromAddress.postalCode
.If a manifest request contains shipments with different
inductionPostalCode
values, then a multi-page manifest is created, with oneinductionPostalCode
value per page. The pages are accessed via a single PDF.For example, the operation will create multiple forms if the list of matching PMOD labels spans multiple induction ZIP codes or multiple origin entry facilities.
Manifest documents retrieved through URLs are available for 24 hours after creation.
Request URLs¶
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 for the transaction, up to 25 characters. The following characters are allowed: letters, numbers, hyphens ( Important: Ensure this is a unique ID. |
X-PB-UnifiedErrorStructure |
Recommended. Set this to |
Request / Response Elements¶
Required fields are marked Required. All other fields are optional, except fields marked RESPONSE ONLY, which appear only in the response.
Name |
Data Type |
Description |
---|---|---|
carrier |
String |
Required. Set to: |
submissionDate |
String |
Required. The date the shipments are to be tendered to the carrier, entered as |
fromAddress |
Required. The shipment origin address. The following address fields are required in this object:
|
|
inductionPostalCode |
String |
Postal code where the shipments are tendered to the carrier. |
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. |
parameters |
Array[Object] |
Required. 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. You must include the You can optionally include the |
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. |
manifestTrackingNumber |
String |
RESPONSE ONLY. The manifest tracking number. |
documents |
Array[Documents Object] |
RESPONSE ONLY. The manifest. |
Sample Request¶
curl -X POST ".../v1/manifests" \
-H "Authorization: Bearer <oauth_token>" \
-H "Content-Type: application/json" \
-H "X-PB-TransactionId: <unique_transaction_id>" \
-H "X-PB-UnifiedErrorStructure: true" \
-d '
{
"carrier": "USPS",
"submissionDate": "2020-08-14",
"fromAddress": {
"company": "Supplies",
"name": "John Smith",
"phone": "203-555-0000",
"email": "john@example.com",
"residential": "false",
"addressLines": [
"27 Waterview Dr"
],
"cityTown": "Shelton",
"stateProvince": "CT",
"postalCode": "06484",
"countryCode": "US"
},
"parameters": [ {
"name": "SHIPPER_ID",
"value": "9024324564"
},{
"name": "MANIFEST_TYPE",
"value": "PMOD"
} ]
}'
Error Codes¶
For a list of all error codes returned by the Ecommerce APIs, please see Error Codes.