Create or Update Multiple Products¶
HTTP Request¶
POST /v1/products/bulk
Summary¶
This operation creates and updates multiple products at once in the master catalog.
Request URLs¶
Sandbox: https://shipping-api-sandbox.pitneybowes.com/shippingservices/fulfillment/v1/products/bulk
Production: https://shipping-api.pitneybowes.com/shippingservices/fulfillment/v1/products/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 ( Important: Ensure this is a unique ID. |
Request Elements¶
Name |
Data Type |
Description |
---|---|---|
products |
Array[Products Object] |
Required. The orders. Each object in the array is a separate product. You can submit up to 200 orders. |
products.operation |
String |
|
Products Object¶
Name |
Data Type |
Description |
---|---|---|
clientId |
String |
Required. The client ID assigned by Pitney Bowes. |
vendorDetails |
Object |
Note: vendorDetails is an optional field. But when vendorDetails object is given, both vendorDetails.name and vendorDetails.number are required to be provided. |
vendorDetails.name |
String |
Name of the vendor. Maximum length: 50 characters |
vendorDetails.number |
String |
The vendor identifier. Maximum length: 30 characters |
productType |
String |
Required. Identifies the product as one of the following:
|
sku |
String |
Required. The SKU used to track the product in the warehouse. Maximum length: 30 characters |
createDate |
String |
The date the product was created in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ss.sss±hhmm
|
updateDate |
String |
The date the product was modified in the client system, specified in the ISO 8601 format: YYYY-MM-DDThh:mm:ss.sss±hhmm
|
fulfillmentRegion |
String |
Where the product is sent for fulfillment. Possible values:
|
details |
Required. |
|
options |
Array[Object] |
Defines available options for the product. |
options.name |
String |
A product option. Possible values:
|
options.code |
String |
A selectable code for the specified option, such as a style code or color code. Maximum length: 760 characters |
options.description |
String |
A description of the option. Maximum length: 35 characters |
active |
Boolean |
The status of the product. If |
status |
String |
Possible values:
|
shippingAttributes |
Object |
|
shippingAttributes.shipsAlone |
Boolean |
The product is a ship alone. Default value: |
shippingAttributes.dropShip |
Boolean |
The product is fulfilled by drop shipper. Default value: |
shippingAttributes.safetyFactor |
Number |
Reserved for future use. |
returnParameters |
||
returnParameters.returnable |
Boolean |
Indicates whether the product can be returned. Default value: |
returnParameters.returnWindow |
Number, up to 1 decimal place |
The number of days allowed for returns. To indicate no limit, enter |
prePackagedBoxQuantity |
Number |
The number of units in a prepackaged box. |
physicalUnitDetails |
Object |
The product’s weight and dimensions. |
physicalUnitDetails.weight |
Number, up to 4 decimal places |
Weight. |
physicalUnitDetails.weightUOM |
String |
The unit of measurement for the product’s weight. Possible value:
|
physicalUnitDetails.dimensions |
The product’s dimensions. |
|
physicalCaseDetails |
Object |
|
physicalCaseDetails.caseWeight |
Number, up to 4 decimal places |
The weight of one item of this type of commodity. |
physicalCaseDetails.unitOfMeasurement |
String |
The unit of measurement for the commodity’s weight. Possible value:
|
physicalCaseDetails.caseDimension |
The case dimensions. |
|
physicalCaseDetails.standardQuantity |
Number, up to 1 decimal place |
Standard case quantity for this SKU, must be greater than 0. |
inventoryParameters |
||
additionalLanguageSupport |
Array[Object] |
|
additionalLanguageSupport.reference |
String |
The locale for additional language support on the packing slip. For example: Maximum length: 10 characters |
additionalLanguageSupport.value |
String |
The description of the product for the specified locale. Maximum length: 255 characters |
Response Elements¶
Name |
Data Type |
Description |
---|---|---|
products |
Array[Object] |
The products. Each object in the array is a separate product. |
products.clientId |
String |
The client identifier assigned by Pitney Bowes. |
products.sku |
String |
The SKU used to track the product in the warehouse. |
products.status |
String |
This is either |
Sample Request¶
curl -X POST ".../v1/products/bulk" \
-H "Authorization: Bearer <oauth_token>" \
-H "X-PB-TransactionId: <unique_identifier>" \
-d '
{
"products": [ {
"clientId": "1234",
"productType": "KIT",
"sku": "1642789877_1",
"details": {
"description": "sweater dress"
},
"operation": "CREATE"
}, {
"clientId": "1234",
"productType": "KIT",
"sku": "1642789877_2",
"details": {
"description": "patterned dress"
},
"operation": "CREATE"
}
}, {
"clientId": "1234",
"productType": "KIT",
"sku": "1642789877_3",
"details": {
"description": "tunic dress"
},
"operation": "CREATE"
}
} ]
}'
Sample Response¶
{
"products": [ {
"clientId": "1234",
"sku": "1642789877_1",
"status": "PUBLISHED"
},{
"clientId": "1234",
"sku": "1642789877_2",
"status": "PUBLISHED"
},{
"clientId": "1234",
"sku": "1642789877_3",
"status": "PUBLISHED"
} ]
}
Error Codes¶
For lists of error codes returned by the Fulfillment APIs, please see 80-Prefix Error Codes (Fulfillment APIs).