Partner Products
Partner products represent the product catalog for a specific partner (client). Each product has a unique code used for consignment imports and inventory tracking.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET |
/v1/partners/{partnerId}/products |
Get partner products page |
GET |
/v1/partners/{partnerId}/products/{partnerProductId} |
Get product details |
POST |
/v1/partners/{partnerId}/products/convert-units |
Calculate unit conversions |
Get Partner Products Page
Retrieve a paginated list of products for a partner.
Endpoint: GET /v1/partners/{partnerId}/products
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
PageIndex |
integer | No | Page number (default: 1) |
PageSize |
integer | No | Items per page (default: 25, max: 500) |
SearchText |
string | No | Filter by product code, name, or barcode |
ProductStatus |
integer | No | Filter by product status |
Product Status Values
| Value | Status | Description |
|---|---|---|
1 |
Active | Active product |
2 |
Inactive | Inactive product |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/products?PageIndex=1&PageSize=50&Status=1" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Example
{
"index": 1,
"total": 150,
"products": [
{
"id": "550e8400-e29b-41d4-a716-446655443000",
"code": "PROD-A",
"name": "Product A - Premium Grade",
"lengthMM": 300,
"heightMM": 150,
"widthMM": 200,
"isVolumeAutoCalculated": true,
"volumeM3": 0.009,
"weightKG": 5.5,
"isSerialRequired": false,
"serialTrackingMode": 1,
"productGroupId": "550e8400-e29b-41d4-a716-446655443050",
"productGroupName": "General Products",
"productUnitTypeId": "550e8400-e29b-41d4-a716-446655443060",
"productUnitTypeName": "Each",
"isDangerousGood": false,
"dgProperShippingName": null,
"dgTechnicalName": null,
"dgPackagingGroup": null,
"dgHazchemEac": null,
"dgUnNumber": null,
"dgFlashpointDegC": null,
"dgMarinePollutant": null,
"dgPhLevel": null,
"barcode": "9421234567890",
"gtin": null
},
{
"id": "550e8400-e29b-41d4-a716-446655443001",
"code": "PROD-B",
"name": "Product B - Standard",
"lengthMM": null,
"heightMM": null,
"widthMM": null,
"isVolumeAutoCalculated": false,
"volumeM3": 0.025,
"weightKG": 2.0,
"isSerialRequired": true,
"serialTrackingMode": 2,
"productGroupId": "550e8400-e29b-41d4-a716-446655443050",
"productGroupName": "General Products",
"productUnitTypeId": null,
"productUnitTypeName": null,
"isDangerousGood": false,
"dgProperShippingName": null,
"dgTechnicalName": null,
"dgPackagingGroup": null,
"dgHazchemEac": null,
"dgUnNumber": null,
"dgFlashpointDegC": null,
"dgMarinePollutant": null,
"dgPhLevel": null,
"barcode": "9421234567891",
"gtin": "09421234567891"
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
id |
uuid | Product ID |
code |
string | Product code |
name |
string | Product name |
lengthMM |
integer | Length in mm |
heightMM |
integer | Height in mm |
widthMM |
integer | Width in mm |
isVolumeAutoCalculated |
boolean | Whether volume is auto-calculated from dimensions |
volumeM3 |
number | Volume in m³ |
weightKG |
number | Weight in kg |
isSerialRequired |
boolean | Whether serial tracking is required |
serialTrackingMode |
integer | Serial tracking mode (see values below) |
productGroupId |
uuid | Product group ID |
productGroupName |
string | Product group name |
productUnitTypeId |
uuid | Product unit type ID |
productUnitTypeName |
string | Product unit type name |
isDangerousGood |
boolean | Whether product is dangerous goods |
dgProperShippingName |
string | DG proper shipping name |
dgTechnicalName |
string | DG technical name |
dgPackagingGroup |
integer | DG packaging group |
dgHazchemEac |
string | Hazchem Emergency Action Code |
dgUnNumber |
string | DG UN number |
dgFlashpointDegC |
string | DG flashpoint in °C |
dgMarinePollutant |
boolean | Whether DG is marine pollutant |
dgPhLevel |
number | DG pH level |
barcode |
string | Product barcode |
gtin |
string | Product GTIN |
Get Partner Product Details
Retrieve detailed information for a specific product.
Endpoint: GET /v1/partners/{partnerId}/products/{partnerProductId}
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
partnerProductId |
uuid | Yes | The product ID |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/products/550e8400-e29b-41d4-a716-446655443000" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Example
{
"id": "550e8400-e29b-41d4-a716-446655443000",
"status": 1,
"name": "Product A - Premium Grade",
"code": "PROD-A",
"unitType": {
"id": "550e8400-e29b-41d4-a716-446655443060",
"name": "Each",
"status": 1
},
"lengthMM": 300,
"heightMM": 150,
"widthMM": 200,
"isVolumeAutoCalculated": true,
"volumeM3": 0.009,
"weightKG": 5.5,
"barcode": "9421234567890",
"gtin": null,
"productGroup": {
"id": "550e8400-e29b-41d4-a716-446655443050",
"name": "General Products"
},
"productUnitType": {
"id": "550e8400-e29b-41d4-a716-446655443060",
"name": "Each",
"status": 1
},
"isSerialRequired": false,
"serialTrackingMode": 1,
"receiveInstructions": "Check for damage on arrival",
"pickInstructions": "Handle with care - fragile",
"batchUsage": 2,
"bestBeforeDateUsage": 2,
"expiryUsage": 3,
"packagingDateUsage": 1,
"productionDateUsage": 1,
"sellByDateUsage": 1,
"isDangerousGood": true,
"dgProperShippingName": "Flammable liquid, n.o.s.",
"dgTechnicalName": "Ethanol solution",
"dgPackagingGroup": 2,
"dgUnNumber": "1234",
"dgHazchemEac": "2SE",
"dgFlashpointDegC": "23",
"dgMarinePollutant": false,
"dgPhLevel": null,
"dgHazardClasses": [
{
"dgStandard": 1,
"dgHazardClass": {
"id": "550e8400-e29b-41d4-a716-446655449202",
"name": "Flammable Liquids",
"dgStandard": 1
},
"dgHazardCategory": {
"id": "550e8400-e29b-41d4-a716-446655449210",
"name": "Flammable Liquids Cat. 2"
}
}
],
"unitConversions": [
{
"inputMetricType": 1,
"inputUnitType": {
"id": "550e8400-e29b-41d4-a716-446655443060",
"name": "Each",
"status": 1
},
"outputMetricType": 2,
"outputUnitType": {
"id": "550e8400-e29b-41d4-a716-446655443061",
"name": "Carton",
"status": 1
},
"conversionRate": 12.0,
"itemConversionRate": 12.0,
"barcode": null,
"gtin": null
}
]
}
Detail Response Fields
In addition to the page response fields, the detail response includes:
| Field | Type | Description |
|---|---|---|
status |
integer | Product status (see values above) |
unitType |
object | Unit type (id, name, status) |
isVolumeAutoCalculated |
boolean | Whether volume is auto-calculated from dimensions |
productGroup |
object | Product group (id, name) |
productUnitType |
object | Product unit type (id, name, status) |
receiveInstructions |
string | Instructions for receiving |
pickInstructions |
string | Instructions for picking |
batchUsage |
integer | Batch attribute usage (see Attribute Usage below) |
bestBeforeDateUsage |
integer | Best before date usage |
expiryUsage |
integer | Expiry date usage |
packagingDateUsage |
integer | Packaging date usage |
productionDateUsage |
integer | Production date usage |
sellByDateUsage |
integer | Sell by date usage |
unitConversions |
array | Unit conversion definitions |
Dangerous Goods Fields
| Field | Type | Description |
|---|---|---|
isDangerousGood |
boolean | Whether product is dangerous goods |
dgProperShippingName |
string | Proper shipping name |
dgTechnicalName |
string | Technical name |
dgPackagingGroup |
integer | Packaging group (I=1, II=2, III=3) |
dgUnNumber |
string | UN number |
dgHazchemEac |
string | Hazchem Emergency Action Code |
dgFlashpointDegC |
string | Flashpoint in °C |
dgMarinePollutant |
boolean | Whether product is marine pollutant |
dgPhLevel |
number | pH level |
dgHazardClasses |
array | Hazard classifications (see below) |
DG Hazard Class Object
| Field | Type | Description |
|---|---|---|
dgStandard |
integer | DG standard (see values below) |
dgHazardClass |
object | Hazard class (id, name, dgStandard) |
dgHazardCategory |
object | Hazard category (id, name) |
Attribute Usage Values
| Value | Usage |
|---|---|
1 |
Hidden |
2 |
Optional |
3 |
Required |
DG Standard Values
| Value | Standard |
|---|---|
1 |
NewZealand_Ghs7 |
2 |
Australia_Ghs7 |
3 |
NewZealand_Dg2005 |
4 |
Australia_AdgCode |
Serial Tracking Modes
| Value | Mode | Description |
|---|---|---|
1 |
None | No serial tracking |
2 |
FullCapture | Serial captured at receive and dispatch |
3 |
ReleaseCapture | Serial captured at dispatch only |
Stock Rotation Methods
Stock rotation determines the order in which inventory is picked:
| Value | Method | Description |
|---|---|---|
0 |
None | No specific rotation method |
1 |
Batch | Rotate by batch |
2 |
ExpiryAscending | Earliest expiry first (FEFO) |
3 |
ExpiryDescending | Latest expiry first |
4 |
ProductionDateAscending | Oldest production date first |
5 |
ProductionDateDescending | Newest production date first |
6 |
BestBeforeDateAscending | Earliest best-before date first |
7 |
BestBeforeDateDescending | Latest best-before date first |
8 |
SellByDateAscending | Earliest sell-by date first |
9 |
SellByDateDescending | Latest sell-by date first |
10 |
PackagingDateAscending | Oldest packaging date first |
11 |
PackagingDateDescending | Newest packaging date first |
12 |
ReceivedDateAscending | Oldest received date first (FIFO) |
13 |
ReceivedDateDescending | Newest received date first (LIFO) |
Stock Depletion Methods
| Value | Method | Description |
|---|---|---|
1 |
FIFO | First In, First Out |
2 |
LIFO | Last In, First Out |
Convert Units
Calculate unit conversions for partner products. Given an input quantity and metric type, returns the equivalent values across all configured unit conversions.
Endpoint: POST /v1/partners/{partnerId}/products/convert-units
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
partnerId |
uuid | Yes | The partner ID |
Request Body
{
"conversions": [
{
"id": "550e8400-e29b-41d4-a716-446655443000",
"inputMetricType": 1,
"inputQuantity": 100,
"inputUnitTypeId": "550e8400-e29b-41d4-a716-446655443060",
"metricResolution": 1
}
]
}
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
conversions |
array | Yes | Array of conversion requests |
conversions[].id |
uuid | No | Partner product ID |
conversions[].code |
string | No | Partner product code (alternative to ID) |
conversions[].inputMetricType |
integer | Yes | Input metric type |
conversions[].inputQuantity |
number | Yes | Input quantity to convert |
conversions[].inputUnitTypeId |
uuid | No | Input unit type ID |
conversions[].metricResolution |
integer | No | Metric resolution |
Request Example
curl -X POST "https://api.consignlyhq.com/v1/partners/550e8400-e29b-41d4-a716-446655442000/products/convert-units" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"conversions": [
{
"id": "550e8400-e29b-41d4-a716-446655443000",
"inputMetricType": 1,
"inputQuantity": 100
}
]
}'
Response Example
Status: 200 OK
{
"results": [
{
"id": "550e8400-e29b-41d4-a716-446655443000",
"code": "PROD-A",
"inputQuantity": 100,
"metrics": [...]
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
results |
array | Array of conversion results |
results[].id |
uuid | Partner product ID |
results[].code |
string | Partner product code |
results[].inputQuantity |
number | Original input quantity |
results[].metrics |
array | Converted unit metrics |
Using Product Codes
Product codes are used in consignment imports:
{
"products": [
{
"productCode": "PROD-A",
"items": [{ "quantity": 100 }],
"batch": "BATCH-001"
}
]
}
Related Endpoints
- Partners - Partner information
- Inventory - Stock levels for products
- Product Attributes - Product attribute definitions
- Hazard Classes - Dangerous goods classifications