Skip to main content

Product Import

Bulk create or update products in CoolR. Existing products are matched by SKU and updated in place.

See Overview for authentication, file formats, response structure, and import order.

To attach packshots or other images to products, see Product Image Upload.

Endpoint​

POST https://portal.coolrgroup.com/Controllers/Import.ashx?type=Product

UI access​

  • Playbook App: Master Data → Products → Manage Data → Import

Columns​

Formats: .csv, .xlsx / .xls, .json — Download template

ColumnAliasRequiredType / Max LengthValidationNotes
Basic Information
Product—YesString, max 200Must be non-emptyProduct name
SKU—YesString, max 200Must be non-emptyUnique product identifier; used to match existing records
Packaging TypePackagingTypeYesString, max 200Must be non-emptye.g., Can, Bottle
Measurement UnitMeasurementUnitYesString, max 200Must be non-emptye.g., ml, oz, L
Short NameShortNameYesString, max 200Must be non-emptyAbbreviated display name
BrandBrandNameNoString, max 100——
Manufacturer NameManufacturerNoString, max 200—Picked from brand - only needed if new brand created
Product TypeBeverageTypeNoString, max 200——
Classification
Product CategoryProductCategoryNoString, max 120—Auto-created if not found
Product Category 2ProductSecondCategoryNoString, max 200—Secondary category; auto-created if not found
Geographic limits
Country—NoString, max 200—Country
State—NoString, max 200—State
Identification Codes
UPC—NoString, max 200—Universal Product Code
Short EAN CodeShortEANCodeNoString, max 200—Short EAN barcode
Product GTINProductGTINNoString, max 200——
Distribution
Distributor GTINDistributorGTINNoString, max 200——
DistributorDistributorNameNoString, max 200——
Pricing & Packaging
Size—NoDecimal, ≥ 1≥ 1; up to 2 decimal places—
Price—NoDecimal, ≥ 0.1≥ 0.1; up to 2 decimal places—
Facings Per CaseFacingsPerCaseNoInteger, ≥ 1≥ 1—
Price OptionPriceOptionNoString, max 100——
Display & Appearance in CoolR system
Graph ColorGraphColorNoString, max 50—Color used in charts/graphs
Font ColorFontColorNoString, max 50——
Font StyleFontStyleNoString, max 50——
Height—NoDecimal—Product height
Width—NoDecimal—Product width
Status & Flags
Is KeyProduct?IsKeyProductNoBoolean (Yes / No)——
Is Active?IsActiveNoBoolean (Yes / No)—Set to No to deactivate. Use instead of deleting — inactive products are hidden from workflows but retained for historical data
Is Empty?IsEmptyNoBoolean (Yes / No)—Assumed as empty
Integration
External CodeExternalProductCodeNoString, max 200—Your internal system's identifier for this product. Used as an alternative match key — see Overview

Examples​

CSV​

Product,SKU,Packaging Type,Measurement Unit,Short Name,Brand,Product Category,UPC,Size,Price,Facings Per Case,Is Active?
Coca-Cola Classic,COKE-12OZ-001,Can,ml,Coke Classic,Coca-Cola,Soft Drinks,012000000000,355,1.99,24,Yes
Sprite,SPRITE-12OZ-001,Can,ml,Sprite,Coca-Cola,Soft Drinks,012000000001,355,1.99,24,Yes

JSON​

{
"data": [
{
"Product": "Coca-Cola Classic",
"SKU": "COKE-12OZ-001",
"PackagingType": "Can",
"MeasurementUnit": "ml",
"ShortName": "Coke Classic",
"BrandName": "Coca-Cola",
"ProductCategory": "Soft Drinks",
"ProductSecondCategory": "Carbonated",
"BeverageType": "Soda",
"UPC": "012000000000",
"ShortEANCode": "1234567",
"Country": "USA",
"State": "CA",
"DistributorName": "ABC Distributors",
"DistributorGTIN": "98765432100012",
"Manufacturer": "Coca-Cola Company",
"ProductGTIN": "00123456789012",
"Size": 355,
"Price": 1.99,
"FacingsPerCase": 24,
"PriceOption": "Retail",
"ExternalProductCode": "EXT-COKE-001",
"GraphColor": "#FF0000",
"FontColor": "#FFFFFF",
"FontStyle": "Bold",
"Height": 12.5,
"Width": 6.5,
"IsKeyProduct": "Yes",
"IsActive": "Yes",
"IsEmpty": "No"
},
{
"Product": "Sprite",
"SKU": "SPRITE-12OZ-001",
"PackagingType": "Can",
"MeasurementUnit": "ml",
"ShortName": "Sprite",
"BrandName": "Coca-Cola",
"ProductCategory": "Soft Drinks",
"ProductSecondCategory": "Carbonated",
"BeverageType": "Soda",
"UPC": "012000000001",
"ShortEANCode": "1234568",
"Country": "USA",
"State": "CA",
"DistributorName": "ABC Distributors",
"DistributorGTIN": "98765432100013",
"Manufacturer": "Coca-Cola Company",
"ProductGTIN": "00123456789013",
"Size": 355,
"Price": 1.99,
"FacingsPerCase": 24,
"PriceOption": "Retail",
"ExternalProductCode": "EXT-SPRITE-001",
"GraphColor": "#00FF00",
"FontColor": "#FFFFFF",
"FontStyle": "Bold",
"Height": 12.5,
"Width": 6.5,
"IsKeyProduct": "Yes",
"IsActive": "Yes",
"IsEmpty": "No"
}
]
}

API import​

curl -X POST 'https://portal.coolrgroup.com/Controllers/Import.ashx?type=Product' \
-H 'Cookie: .ASPXAUTH=your-auth-token' \
-F 'file=@products.csv'

Replace products.csv with products.xlsx or products.json as needed.

Response​

See Overview - Response format for response structure and error handling.

Common errors​

ErrorCauseFix
Missing required field: ProductEmpty product nameFill in Product for every row
Missing required field: SKUEmpty SKUFill in SKU for every row
Missing required field: Packaging TypeEmpty packaging typeFill in Packaging Type for every row
Missing required field: Measurement UnitEmpty measurement unitFill in Measurement Unit for every row
Missing required field: Short NameEmpty short nameFill in Short Name for every row
Value for column 'Size' must be at least 1Size value less than 1Provide Size ≥ 1
Value for column 'Price' must be at least 0.1Price value less than 0.1Provide Price ≥ 0.1
Value for column 'Facings Per Case' must be at least 1Facings value less than 1Provide Facings Per Case ≥ 1

For support, contact support@coolrgroup.com