Create a Product

HTTP Request

POST /v1/products

Summary

This operation creates a product in the master catalog.

Request URLs

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

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

Required fields are marked Required. All other fields are optional.

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:

  • ITEM

  • KIT

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:

  • PB_ONLY (default)

  • THIRD_PARTY (Reserved for future use)

  • ALL (Reserved for future use)

details

Product Details Object

Required.

options

Array[Object]

Defines available options for the product.

options.name

String

A product option. Possible values:

  • Color

  • ModelName

  • Size

  • Style

  • Author, publisher

  • book_binding

  • BrandName

  • CLASS

  • DataSource

  • DEPARTMENT

  • DimensionsIsVerified

  • book_edition

  • ExcludeFromPickLists

  • FulfillmentService

  • HazMatClass

  • InternalID

  • InventoryManagement

  • InventoryUpdates

  • IsPriorityMailPackaging

  • MasterCaseQty

  • MPN

  • PackagingType,ProShip_PackagingType

  • ProductFamilyID

  • ProductFDAIngredients

  • ProductLaunchDate

  • ProductName

  • SKUID

  • title

  • WeightIsVerified

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 true, the product is active. If false, the product is inactive.

status

String

Possible values:

  • PUBLISHED (default)

  • UNPUBLISHED

shippingAttributes

Object

shippingAttributes.shipsAlone

Boolean

The product is a ship alone.

Default value: false

shippingAttributes.dropShip

Boolean

The product is fulfilled by drop shipper.

Default value: false

shippingAttributes.safetyFactor

Number

Reserved for future use.

returnParameters

returnParameters.returnable

Boolean

Indicates whether the product can be returned.

Default value: true

returnParameters.returnWindow

Number, up to 1 decimal place

The number of days allowed for returns. To indicate no limit, enter 0.

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:

  • LB: Pounds

physicalUnitDetails.dimensions

Dimensions Object

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:

  • LB: Pounds

physicalCaseDetails.caseDimension

Dimensions Object

The case dimensions.

physicalCaseDetails.standardQuantity

Number, up to 1 decimal place

Standard case quantity for this SKU, must be greater than 0.

inventoryParameters

Inventory Parameters Object

additionalLanguageSupport

Array[Object]

additionalLanguageSupport.reference

String

The locale for additional language support on the packing slip. For example: FR_CA, ES_MX, DE_DE, etc.

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

clientId

String

The client ID assigned by Pitney Bowes.

vendorDetails

Object

vendorDetails.name

String

Name of the vendor, up to 50 characters.

vendorDetails.number

String

The vendor identifier, up to 30 characters.

productType

String

Identifies the product as one of the following:

  • ITEM

  • KIT

sku

String

The SKU used to track the product in the warehouse, up to 30 characters.

createDate

String

The date the product was created in the client system, specified in the ISO 8601 format.

updateDate

String

The date the product was modified in the client system, specified in the ISO 8601 format.

pbCreateDate

String

The date the product was created in the Pitney Bowes system, specified in the ISO 8601 format:

YYYY-MM-DDThh:mm:ss.sss±hhmm

pbUpdateDate

String

The date the order was created in the Pitney Bowes system, specified in the ISO 8601 format.

fulfillmentRegion

String

Where the product is sent for fulfillment. Possible values:

  • PB_ONLY (default)

  • THIRD_PARTY (Reserved for future use)

  • ALL (Reserved for future use)

details

Product Details Object

options

Array[Object]

Defines available options for the product.

options.name

String

A product option. Possible values:

  • Color

  • ModelName

  • Size

  • Style

  • Author, publisher

  • book_binding

  • BrandName

  • CLASS

  • DataSource

  • DEPARTMENT

  • DimensionsIsVerified

  • book_edition

  • ExcludeFromPickLists

  • FulfillmentService

  • HazMatClass

  • InternalID

  • InventoryManagement

  • InventoryUpdates

  • IsPriorityMailPackaging

  • MasterCaseQty

  • MPN

  • PackagingType,ProShip_PackagingType

  • ProductFamilyID

  • ProductFDAIngredients

  • ProductLaunchDate

  • ProductName

  • SKUID

  • title

  • WeightIsVerified

options.code

String

A selectable code for the specified option, such as a style code or color code, up to 8 characters.

options.description

String

A description of the option, up to 35 characters.

active

Boolean

The status of the product. If true, the product is active. If false, the product is inactive.

status

String

Possible values:

  • PUBLISHED (default)

  • UNPUBLISHED

shippingAttributes

Object

shippingAttributes.shipsAlone

Boolean

The product is a ship alone.

Default value: false

shippingAttributes.dropShip

Boolean

The product is fulfilled by drop shipper.

Default value: false

shippingAttributes.safetyFactor

Number

Reserved for future use.

returnParameters

returnParameters.returnable

Boolean

Indicates whether the product can be returned.

Default value: true

returnParameters.returnWindow

Number, up to 1 decimal place

The number of days allowed for returns. A value of 0 indicates no limit.

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:

  • LB: Pounds

physicalUnitDetails.dimensions

Dimensions Object

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:

  • LB: Pounds

physicalCaseDetails.caseDimension

Dimensions Object

The case dimensions.

physicalCaseDetails.standardQuantity

Number, up to 1 decimal place

Standard case quantity for this SKU, must be greater than 0.

inventoryParameters

Inventory Parameters Object

additionalLanguageSupport

Array[Object]

additionalLanguageSupport.reference

String

The locale for additional language support on the packing slip. For example: FR_CA, ES_MX, DE_DE, etc.

additionalLanguageSupport.value

String

The description of the product for the specified locale, up to 255 characters.

Sample Request

curl -X POST ".../v1/products" \
-H "Authorization: Bearer <oauth_token>" \
-H "X-PB-TransactionId: <unique_identifier>" \
-d '
{
    "clientId": "1234",
    "vendorDetails": {
        "name": "ABC Vendor",
        "number": "781234"
    },
    "productType": "KIT",
    "sku": "1642789877",
    "createDate": "2022-01-20T07:00:00-05:00",
    "fulfillmentRegion": "PB_ONLY",
    "details": {
        "category": "dresses",
        "description": "vintage floral-print dress",
        "hazmatClassification": {
            "dotHazmatCode": "",
            "unHazmatCode": "",
            "hazmatDescription": ""
        },
        "hsClassification": [ {
            "hsTariffCode": "640442",
            "countryCode": "IN"
        } ],
        "identifiers": [ {
            "number": "842842",
            "source": "MPN"
        } ],
        "image": {
            "imageURL": "http://example.com/shop/women/clothing/dress/image01",
            "imageContent": "iVBORw0KGgoAAAANSUhEUgAAAJoAAB9CAYAABavnotAKtmlDQ1BJQ0MgUHJvZ ... ",
            "fileName": "image01"
        },
        "manufacturer": "Acme Inc.",
        "originCountryCode": "US",
        "originStateProvince": "California",
        "unitPrice": 75,
        "priceCurrency": "USD",
        "url": "http://example.com/shop/women/clothing/dress/floral-long-sleeve"
    },
    "options": [ {
        "name": "SIZE",
        "code": "10",
        "description": "10 (M)"
    } ],
    "active": true,
    "status": "PUBLISHED",
    "shippingAttributes": {
        "shipsAlone": false,
        "dropShip": false,
        "safetyFactor": 1
    },
    "returnParameters": {
        "returnable": true,
        "returnWindow": 160
    },
    "prePackagedBoxQuantity": 10,
    "physicalUnitDetails": {
        "weight": 0.42,
        "weightUOM": "LB",
        "dimensions": {
            "length": 12.3500,
            "height": 3.2500,
            "width": 10.5500,
            "dimensionUOM": "IN"
        }
    },
    "physicalCaseDetails": {
        "caseWeight": 34.2,
        "unitOfMeasurement": "LB",
        "caseDimension": {
            "length": 15.00,
            "height": 32.50,
            "width": 15.00,
            "dimensionUOM": "IN"
        },
        "standardQuantity": 1
    },
    "inventoryParameters": {
        "expiryDateTracked": false,
        "expiryWindow": 90,
        "serialTracked": false,
        "fragile": false,
        "temperatureControlled": false,
        "highValue": false,
        "requiresQuarantine": false
    },
    "additionalLanguageSupport": [ {
        "reference": "EN_US",
        "value": ""
    } ]
}'

Sample Response

{
    "clientId": "1234",
    "vendorDetails": {
        "name": "ABC Vendor",
        "number": "781234"
    },
    "productType": "KIT",
    "sku": "1642789877",
    "createDate": "2022-01-20T05:00:00-07:00",
    "pbCreateDate": "2022-01-21T10:53:24-07:00",
    "fulfillmentRegion": "PB_ONLY",
    "details": {
        "category": "dresses",
        "description": "vintage floral-print dress",
        "hazmatClassification": {
            "dotHazmatCode": "",
            "unHazmatCode": "",
            "hazmatDescription": ""
        },
        "hsClassification": [ {
            "hsTariffCode": "640442",
            "countryCode": "IN"
        } ],
        "identifiers": [ {
            "number": "842842",
            "source": "MPN"
        } ],
        "image": {
            "imageURL": "http://example.com/shop/women/clothing/dress/image01",
            "imageContent": "iVBORw0KGgoAAAANSUhEUgAAAJoAAB9CAYAABavnotAKtmlDQ1BJQ0MgUHJvZ ... ",
            "fileName": "image01",
            "fileFormat": "PDF"
        },
        "manufacturer": "Acme Inc.",
        "originCountryCode": "US",
        "originStateProvince": "California",
        "unitPrice": 75.0,
        "priceCurrency": "USD",
        "url": "http://example.com/shop/women/clothing/dress/floral-long-sleeve"
    },
    "options": [ {
        "name": "SIZE",
        "code": "10",
        "description": "10 (M)"
    } ],
    "active": true,
    "status": "PUBLISHED",
    "shippingAttributes": {
        "shipsAlone": false,
        "dropShip": false,
        "safetyFactor": 1
    },
    "returnParameters": {
        "returnable": true,
        "returnWindow": 160
    },
    "prePackagedBoxQuantity": 10,
    "physicalUnitDetails": {
        "weight": 0.42,
        "weightUOM": "LB",
        "dimensions": {
            "length": 12.3500,
            "height": 3.2500,
            "width": 10.5500,
            "dimensionUOM": "IN"
        }
    },
    "physicalCaseDetails": {
        "caseWeight": 34.2,
        "unitOfMeasurement": "LB",
        "caseDimension": {
            "length": 15.00,
            "height": 32.50,
            "width": 15.00,
            "dimensionUOM": "IN"
        },
        "standardQuantity": 1
    },
    "inventoryParameters": {
        "lotTracked": false,
        "expiryDateTracked": false,
        "expiryWindow": 90,
        "serialTracked": false,
        "fragile": false,
        "temperatureControlled": false,
        "highValue": false,
        "requiresQuarantine": false
    },
    "additionalLanguageSupport": [ {
        "reference": "EN_US",
        "value": ""
    } ]
}

Error Codes

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