Skip to main content

Planogram Import

Bulk import planogram configurations for coolers/assets. The system creates planogram records with automatic versioning, organizes products by shelf and priority ranking, and generates facing layouts. Supports both asset-based planograms (linked to specific assets) and standalone planogram templates.

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

Endpoint​

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

UI access​

  • Portal: Planogram Management → Location Screen → Select Import Type: "Planogram"
  • Playbook App: Master Data → Planograms → Import

Columns​

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

ColumnAliasRequiredType / Max LengthValidationNotes
Replenish ModelReplenishModelNoString (200)Must exist if providedReplenish order model
Planogram NamePlanogramNameConditional*String (200)Must be unique; cannot duplicate existing namesIf not provided, auto-generates with versioning
Asset Serial NumberAssetSerialNumberConditional*String (200)Must exist if providedLinks planogram to specific asset
Product SKUProductSKUYesString (100)Must exist—
Shelf/PriorityProductRankingYesInteger1–50Lower number = higher priority; determines shelf/column placement
Product Stack SizeProductStackSizeNoInteger1–5 if providedNumber of facings deep. Defaults to 1
External CodeExternalPlanogramCodeNoString (200)—External planogram code

* Either Asset Serial Number OR Planogram Name must be provided (at least one is required).

Planogram types and naming​

Asset-based planograms​

When Asset Serial Number is provided, the planogram is linked to a specific asset. If Planogram Name is not provided, the system auto-generates:

Format: [Asset Serial Number]_[MM-DD]_v[Version]

Example: SN123456789_03-17_v1

Each import for the same asset on the same day increments the version number. Previous versions are retained in the system.

Standalone planograms​

When only Planogram Name is provided (without Asset Serial Number), the planogram is created as a standalone template not linked to any specific asset. The provided name must be unique and not already exist in the system.

Examples​

CSV​

Planogram Name,Asset Serial Number,Product SKU,Shelf/Priority,Product Stack Size,External Code
SN123456789_Planogram_v1,SN123456789,COKE-12OZ-001,1,3,POG-001
SN123456789_Planogram_v1,SN123456789,SPRITE-12OZ-001,2,2,POG-001
SN123456789_Planogram_v1,SN123456789,FANTA-12OZ-001,3,1,POG-001

JSON​

{
"data": [
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "COKE-12OZ-001", "ProductRanking": 1, "ProductStackSize": 3, "ExternalPlanogramCode": "POG-001" },
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "SPRITE-12OZ-001", "ProductRanking": 2, "ProductStackSize": 2, "ExternalPlanogramCode": "POG-001" },
{ "PlanogramName": "SN123456789_Planogram_v1", "AssetSerialNumber": "SN123456789", "ProductSKU": "FANTA-12OZ-001", "ProductRanking": 3, "ProductStackSize": 1, "ExternalPlanogramCode": "POG-001" }
]
}

API import​

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

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

Response​

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

Common errors​

ErrorCauseFix
Import file is emptyNo data providedProvide valid planogram data
Either Asset Serial Number or Planogram Name must be providedBoth fields are emptyProvide at least one: Asset Serial Number or Planogram Name
Asset "[serial]" not foundAsset doesn't existVerify asset exists; check spelling
Product SKU "[sku]" not foundProduct doesn't existVerify product exists; check spelling
Planogram name "[name]" already existsDuplicate planogram nameUse a unique planogram name or omit for auto-generation
Replenish Model "[model]" not foundInvalid replenish model valueUse a valid replenish model
Product Ranking must be between 1 and 50Invalid ranking valueUse integers between 1 and 50
Product StackSize must be between 1 and 5Invalid stack sizeUse integers between 1 and 5

For support, contact support@coolrgroup.com