Note

The Fulfillment APIs are coming soon.

Create or Update Multiple Orders

HTTP Request

POST /v1/orders/bulk

Summary

This operation submits multiple orders in a single request, up to 200 orders. Each order is processed independently.

Request URLs

Sandbox: https://shipping-api-sandbox.pitneybowes.com/shippingservices/fulfillment/v1/orders/bulk
Production: https://shipping-api.pitneybowes.com/shippingservices/fulfillment/v1/orders/bulk

Request Headers

Name


Description

Authorization

Required. OAuth token generated using the Generate an OAuth Token API.

X-PB-TransactionId

Required. A unique identifier for the request, up to 25 characters. The following characters are allowed: letters, numbers, hyphens (-), and underscores (_).

Important: Ensure this is a unique ID.

Request Elements

This POST operation sends the orders array:

Name

Data Type

Description

orders

Array[Orders Object]

Required. The orders. Each object in the array is a separate order. You can submit up to 200 orders.

Orders Object

The orders array contains the Orders object, described in the table below. The table describes the Orders object for all operations that use it. Fields marked Required are required in the request. All other fields are optional, except fields marked RESPONSE ONLY, which do not apply to this operation.

Name

Data Type

Description

clientId

String

Required. The client ID assigned by Pitney Bowes.

orderId

String

RESPONSE ONLY. The order ID assigned by Pitney Bowes.

clientOrderId

String

Required. The order ID assigned by the client.

Maximum length: 50 characters

customerOrderId

String

The customer-specific order number. Typically this is the order number from the website or ERP system.

Maximum length: 50 characters

brand

String

The manufacturer’s brand name for the item.

Maximum length: 50 characters

references

Array[References Object]

Additional reference information for the order. Each object in the array is a name-value pair that defines a reference field and value.

salesChannel

Object

Reserved for future use.

shippingDetails

Shipping Details Object

Required. The carrier details for the order.

orderType

String

The type of order. Possible values:

  • eCom (default)

  • Retail

createDate

String

Required. The date and time the order was created in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

updateDate

String

The date and time the order was updated in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

pbCreateDate

String

RESPONSE ONLY. The date and time the order was created in the Pitney Bowes system, returned in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

pbUpdateDate

String

RESPONSE ONLY. The date and time the order was updated in the Pitney Bowes system, returned in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

fromNode

String

The warehouse facility ID.

shipOnDate

String

The date and time by which the order is promised to be shipped, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

fulfillmentReleaseDate

String

The date and time the order is to be released for fulfillment, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

promisedDeliveryDate

String

The date and time the order is promised to be delivered, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ssZ

orderHandling

String

Possible value:

  • X: Normal (default)

  • R: Rush order (Reserved for future use)

  • E: Emergency order (Reserved for future use)

orderLines

Array[Order Lines Object]

Required. The items included in the order.

orderCharges

Order Charges Object

Cost details.

toAddress

Address Object

Required. The order’s destination address.

billingAddress

Address Object

The order’s billing address.

isGift

Boolean

If true, the order is a gift.

giftMessageText

String

The gift message to be printed on the pack slip and included in the shipment.

Maximum length: 1,024 characters

valueAddedServices

Array[Object]

Reserved for future use.

paymentDetails

Array[Object]

Reserved for future use.

customsInfo

Object

Customs information for an international order.

customsInfo.customsDeclaredValue

Number

The value that is declared in customs.

customsInfo.importerCustomsReference

String

A reference number used by the importer, such as a VAT number, PO number, or insured number.

Maximum length: 100 characters

customsInfo.importerCustomsReferenceType

String

The type of reference number.

Maximum length: 50 characters

status

String

RESPONSE ONLY. Status of the order. Possible values are:

  • BACKORDER

  • CANCELED

  • HOLD

  • INPROGRESS

  • ONHOLD

  • RECEIVED

  • RETURNED

  • SHIPPED

isOnHold

Boolean

RESPONSE ONLY. If true, the order is on hold.

holdReason

Array[String]

RESPONSE ONLY. Reason codes for the hold.

internalNotes

String

Any notes associated with the order for internal reference.

Maximum length: 255 characters

Response Elements

The response returns an object with the fields described here.

Name

Data Type

Description

orders

Array[Object]

The orders. Each object in the array is a separate order.

orders.clientId

String

The client ID assigned by Pitney Bowes.

orders.orderId

String

The order ID assigned by Pitney Bowes.

orders.clientOrderId

String

The order ID assigned by the client.

orders.status

String

The status of the order.

Sample Request

curl -X POST ../v1/orders/bulk \
-H "Authorization: Bearer <oauth_token>" \
-H "X-PB-TransactionId: <unique_identifier>" \
-d '
{
    "orders": [ {
        "clientId": "NGST",
        "clientOrderId": "1643724181678",
        "customerOrderId": "111-212-1687792",
        "shippingDetails": {
            "carrier": "PITNEY BOWES",
            "serviceId": "PARCEL",
            "serviceName": "PARCEL SELECT",
            "trackingNumber":"9560533222"
        },
        "orderType": "eCom",
        "createDate": "2022-02-07T01:20:00Z",
        "fromNode": "160",
        "shipOnDate": "2022-02-08T01:20:00Z",
        "fulfillmentReleaseDate": "2022-02-09T01:20:00Z",
        "promisedDeliveryDate": "2022-02-10T01:20:00Z",
        "orderHandling": "E",
        "orderLines": [ {
            "lineId": 1,
            "sku": "0001-0001",
            "unitPrice": 10,
            "orderedQuantity": 5,
            "lineTotal": 50,
            "originCountryCode":"US",
            "originStateProvince":"CT",
            "inventoryType":"NEW"
        }, ... ],
        "orderCharges": {
            "orderCurrency": "USD",
            "shippingAmount": 10,
            "totalItemAmount": 150,
            "dutyDetails": [ {
                "name": "COUPON",
                "fee": 5,
                "currency": "USD",
                "percentage": 1
            } ],
            "totalTaxAmount": 5,
            "taxDetails": [ {
                "name": "SALES TAX",
                "fee": 5,
                "currency": "USD",
                "percentage": 1
            } ],
            "totalDiscountAmount": 5,
            "discountDetails": [ {
                "name": "COUPON",
                "fee": 5,
                "currency": "USD"
            } ],
            "otherChargeDetails": [ {
                "name": "SUPPLIER_FEE",
                "fee": 0
            } ],
            "totalOrderAmount": 160
        },
        "toAddress": {
            "name": "John Smith",
            "company": "ABC",
            "phone": "111-111-1111",
            "email": "john@example.com",
            "addressLines": [
                "2352 Bent Creek Rd"
            ],
            "cityTown": "Auburn",
            "stateProvince": "AL",
            "postalCode": 36830,
            "countryCode": "US"
        },
        "billingAddress": {
            "name": "John Smith",
            "company": "ABC",
            "phone": "111-111-1111",
            "email": "john@example.com",
            "addressLines": [
                "2352 Bent Creek Rd"
            ],
            "cityTown": "Auburn",
            "stateProvince": "AL",
            "postalCode": 36830,
            "countryCode": "US"
        },
        "isGift": false
    }, ... ]
}'

Sample Response

{
    "orders": [ {
        "clientId": "NGST",
        "orderId": "ORA0006982253888409600US",
        "clientOrderId": "1643724181678",
        "status": "RECEIVED"
    },{
        "clientId": "NGST",
        "orderId": "ORA0009522135148007424US",
        "clientOrderId": "1643724181678",
        "status": "RECEIVED"
    }, ... ]
}

Error Codes

For lists of error codes returned by the Fulfillment APIs, please see 80-Prefix Error Codes (Fulfillment APIs).