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.

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, .jsonDownload template

ColumnAliasRequiredType / Max LengthValidationNotes
Basic Information
ProductYesString, max 200Must be non-emptyProduct name
SKUYesString, 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 200Picked from brand - only needed if new brand created
Product TypeBeverageTypeNoString, max 200
Classification
Product CategoryProductCategoryNoString, max 120Auto-created if not found
Product Category 2ProductSecondCategoryNoString, max 200Secondary category; auto-created if not found
Geographic limits
CountryNoString, max 200Country
StateNoString, max 200State
Identification Codes
UPCNoString, max 200Universal Product Code
Short EAN CodeShortEANCodeNoString, max 200Short EAN barcode
Product GTINProductGTINNoString, max 200
Distribution
Distributor GTINDistributorGTINNoString, max 200
DistributorDistributorNameNoString, max 200
Pricing & Packaging
SizeNoDecimal, ≥ 1≥ 1; up to 2 decimal places
PriceNoDecimal, ≥ 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 50Color used in charts/graphs
Font ColorFontColorNoString, max 50
Font StyleFontStyleNoString, max 50
HeightNoDecimalProduct height
WidthNoDecimalProduct 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 200Your 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