Product
Methods
Entity Properties
Each merchant maintains a completely unique catalog of products managed at ShipStream whether in stock or not. It is preferable that a merchant creates all of their products with accurate names, goods type and barcodes before actually shipping physical inventory to aid in accurate processing of deliveries.
product.search
(null|object $filters = null, null|array $options = null)
Retrieve list of products with basic info (id, sku, type, set, name).
Parameters
order | description |
---|---|
0 |
|
1 |
|
Return Value
An array of objects. Each object will contain “Product Properties”.
Example Request
Get product information for one product SKU:
{
"jsonrpc" : 2.0,
"id" : 1234,
"method" : "call",
"params" : [
"be1c13ed4e03f0ed7f1e4053dfff9658",
"product.search",
[
{
"sku" : { "eq" : "product2" }
}
]
]
}
Example Response
{
"jsonrpc" : 2.0,
"id" : 1234,
"error" : null,
"result" : [
{
"sku" : "productsku",
"name" : "product name",
"barcode" : "productbarcode",
"goods_type" : "NORMAL",
"status" : 1,
"availability" : 1,
"visibility" : 2,
"weight" : 12.75,
"weight_unit" : "lb",
"length" : null,
"width" : null,
"height" : null,
"customs_value" : "24.5600",
"customs_value_currency" : "USD",
"country_of_manufacture" : "DK",
"hts_base_code" : 1234.56,
"hts_country_code" : [
{
"country_id" : "BB",
"extension" : "01"
},
{
"country_id" : "FO",
"extension" : "02"
}
],
"vendor_sku" : "vendorsku",
"requires_packaging" : 1,
"can_contain_other_items" : 0,
"confirmation_per_item" : 0,
"valid_containers" : ["containersku1", "containersku2"],
"special_supplies" : [ "supplysku1", "supplysku2" ],
"special_other" : [ "specialsku1", "specialsku2" ],
"unit_qty" : 5
}
]
}
Error Codes
code | message |
---|---|
108 | Invalid filters given. Details in error message. |
product.create
(string $sku, object $productData)
Create new product.
Parameters
order | description |
---|---|
0 | string - Product SKU. |
1 | object - Product data. |
Return Value
true if product was successfully created.
Example Request
{
"jsonrpc" : 2.0,
"id" : 1234,
"method" : "call",
"params" : [
"be1c13ed4e03f0ed7f1e4053dfff9658",
"product.create",
[
"product3",
{
"name" : "Product 3",
"barcode" : "product3",
"goods_type" : "NORMAL",
"weight" : 1.75,
"weight_unit": "lb",
"length" : 123,
"width" : 100,
"height" : 28,
"dimension_unit" : "in",
"customs_value" : "24.5600",
"customs_value_currency" : "USD",
"country_of_manufacture" : "DK",
"hts_base_code" : 1234.56,
"hts_country_code" : "BH:1000|ZW:1001",
"vendor_sku" : "vendorsku",
"requires_packaging" : 1,
"can_contain_other_items" : 1,
"confirmation_per_item" : 0,
"valid_containers" : [ "containersku1", "containersku2" ],
"special_supplies" : [ "supplysku1", "supplysku2" ],
"special_other" : [ "specialsku1", "specialsku2" ],
"unit_qty" : 5
}
]
]
}
Example Response
{
"jsonrpc" : 2.0,
"id" : 1234,
"error" : null,
"result" : true
}
Error Codes
code | message |
---|---|
102 | Invalid data given. Details in error message. |
104 | Product type is not in allowed types. |
105 | Product’s attribute set does not exist. |
106 | Product’s attribute set is not a Catalog Product entity type. |
107 | Another product with this SKU already exists. |
product.info
(string $sku)
Retrieve product info.
Parameters
order | description |
---|---|
0 | string - Product SKU. |
Return Value
Object with Product Properties.
Example Request
{
"jsonrpc" : 2.0,
"id" : 1234,
"method" : "call",
"params" : [
"be1c13ed4e03f0ed7f1e4053dfff9658",
"product.info",
[
"product1"
]
]
}
Example Response
{
"jsonrpc" : 2.0,
"id" : 1234,
"error" : null,
"result" : {
"sku" : "productsku",
"name" : "product name",
"barcode" : "productbarcode",
"goods_type" : "NORMAL",
"status" : 1,
"availability" : 1,
"visibility" : 2,
"weight" : 12.75,
"weight_unit" : "lb",
"length" : null,
"width" : null,
"height" : null,
"dimension_unit" : "in",
"customs_value" : "24.5600",
"customs_value_currency" : "USD",
"country_of_manufacture" : "DK",
"hts_base_code" : 1234.56,
"hts_country_code" : [
{
"country_id" : "BB",
"extension" : "01"
},
{
"country_id" : "FO",
"extension" : "02"
}
],
"vendor_sku" : "vendorsku",
"requires_packaging" : 1,
"can_contain_other_items" : 0,
"confirmation_per_item" : 0,
"valid_containers" : [ "containersku1", "containersku2" ],
"special_supplies" : [ "supplysku1", "supplysku2" ],
"special_other" : [ "othersku1", "othersku2" ],
"unit_qty" : 5
}
}
Error Codes
code | message |
---|---|
101 | Product not exists. |
product.update
(string $sku, object $productData)
Update product data.
Parameters
order | description |
---|---|
0 | string - Product SKU. |
1 | object - Product data. |
Return Value
true if product was successfully updated.
Example Request
{
"jsonrpc" : 2.0,
"id" : 1234,
"method" : "call",
"params" : [
"be1c13ed4e03f0ed7f1e4053dfff9658",
"product.update",
[
"product3",
{
"name" : "product name",
"barcode" : "productbarcode",
"goods_type" : "NORMAL",
"status" : 1,
"availability" : 1,
"visibility" : 2,
"weight" : 12.75,
"weight_unit" : "lb",
"length" : null,
"width" : null,
"height" : null,
"dimension_unit" : "lb",
"customs_value" : "24.5600",
"customs_value_currency" : "USD",
"country_of_manufacture" : "DK",
"hts_base_code" : 1234.56,
"hts_country_code" : [
{
"country_id" : "BB",
"extension" : "01"
},
{
"country_id" : "FO",
"extension" : "02"
}
],
"vendor_sku" : "vendorsku",
"requires_packaging" : 1,
"can_contain_other_items" : 0,
"confirmation_per_item" : 0,
"valid_containers" : [ "containersku1", "containersku2" ],
"special_supplies" : [ "supplysku1", "supplysku2" ],
"special_other" : [ "specialsku1", "specialsku2" ],
"unit_qty" : 5
}
]
]
}
Example Response
{
"jsonrpc" : 2.0,
"id" : 1234,
"error" : null,
"result" : true
}
Error Codes
code | message |
---|---|
101 | Product not exists. |
102 | Invalid data given. Details in error message. |
Entity Properties
Product Properties
sku |
A unique identifier for a product. The SKU does appear on the packing slip. It is recommended that this be human-readable and end with a per-pack quantity to facilitate proper receiving. For example, a single blue widget may be "BlueWidget-1" and a pack of 5 blue widgets may be "BlueWidget-5". Maximum character length is 64.
|
---|---|
name |
The "Name" property.
|
export_description |
Harmonized Tariff Schedule article description.
|
barcode |
The "Barcode" property. Single or comma separated barcodes.
|
goods_type |
The "Goods Type" property. Allowed: "NORMAL", "ORM_D".
|
status |
The "Status" property. Allowed: "1" - Enabled. "2" - Disabled.
|
availability |
The "Availability" property. Allowed: "1" - available. "2" - not available.
|
visibility |
The "Visibility" property. Allowed: "1" - not visible, "2" - visible.
|
weight |
The "Weight" property.
|
weight_unit |
The unit of measure used for weight . See: Weight Units.
|
length |
The "Length" property.
|
width |
The "Width" property.
|
height |
The "Height" property.
|
dimension_unit |
The unit of measure used for length , width , and height .
See: Length Units.
Note that this field is shared between length , width , and height ;
updating a single dimension will change the unit for all three.
|
freight_class |
The "Freight Class" property.
|
freight_category |
The "Freight Category" property.
|
customs_value |
The "Customs Value" property.
|
customs_value_currency |
The currency of the "Customs Value" property. Must be a valid ISO 4217 alphabetic code.
|
country_of_manufacture |
The "Country of Manufacture" property.
|
hts_base_code |
The "HTS Base Code" property.
|
hts_country_code |
The "HTS Country Code" property. Format: "{COUNTRY}:{CODE}". Separator: "|".
|
requires_packaging |
The "Requires Packaging" property. Allowed: "0" - not required. "1" - required.
|
can_contain_other_items |
The "Can Contain Other Items" property. Allowed: "0" - cannot contain other items. "1" - can contain other items.
|
confirmation_per_item |
The "Confirmation per Item" property. Allowed: "0" - not required. "1" - required.
|
valid_containers |
The "Valid Containers" property. An array of SKUs for valid containers.
|
special_supplies |
The "Special Supplies" property. An array of SKUs for special packaging supplies.
|
special_other |
The "Other Special Features" property. An array of SKUs for other special packaging features.
|
unit_qty |
The "Unit Quantity" property. Number of individually packaged items contained therein for purposes of special packaging features.
|
external_id |
The "External ID" property. The external unique numeric identifier for the product.
|
vendor_sku |
The "Vendor SKU" property. Use if different from the "SKU" property.
|