Customer Documentation Portal
  • Docs

›Documentation

Getting Started

  • Welcome
  • Environments
  • Onboarding

Documentation

  • Introduction
  • Data Organisation
  • Authentication
  • Query Language
  • Data Model

    • Data Model
    • Entities
    • Price
    • Price Request
    • Product
    • Product Group
    • Reference
    • Site
    • Survey History
    • Volume
  • Import Endpoints

Tutorials

  • Welcome
  • Excel
  • Authenticating

Import Endpoints

Overview

The Data API exposes a set of RESTful web service endpoints that allow customers to submit new data in simplified form to Kalibrate Pricing. The Data API Endpoints implement the standard set of import formats as the file-based imports currently supported via SFTP.

The endpoints themselves use the same authentication and authorization mechanisms as the standard Data API endpoints, however they will require credentials with ReadWrite privileges. These credentials should be used for Import only and will be issued by Kalibrate as part of the onboarding process.

Import Endpoints all use the POST http verb and require a correctly formatted JSON document body. The JSON document body schema for each endpoint is provided in the swagger documentation for each endpoint.

Calls to each endpoint will return a unique operation identifier. This can be used to match the import request to the processed import data in the Import Status user interface (a.k.a. Error Browser)

Field Length Restrictions

Certain fields (attributes) in the import data are restricted to certain lengths (as follows:)

AttributeLength (characters)
brand100
siteID20
produceCode20
source20
origin50
currencyUnit3
Import EntityDescriptionEndpoint
Competitor PricesThis is used for the import of product prices at competitor sites/api/import/competitorPrice
Own PricesThis is used for the import of product prices at own sites/api/import/ownPrice
Sales VolueSend updated sales volume information/api/import/salesVolume
Cost BreakdownThis is used for the import of product cost breakdowns at own sites/api/import/costBreakdown

Competitor Prices

This channel is used to import prices for the products sold by competitor sites. The import of competitor prices will, if the system is enabled to generate prices on data receipt, initiate the price generation process for any sites associated with the imported competitors.

If the optional OwnSite identifier is included,the price generation process will only be initiated for the specified own site, and not the other own sites associated to the competitor.

Details

The import data schema for Competitor Price data is an array of competitorPriceItems. Each competitor price item consists of the following attributes:

NameTypeDescriptionMandatory
ownSiteOwn SiteOwn sites when provided will ensure that price generation only occurrs for the provided own site. Child attributes are mandatory if the optional own site block is includedN
ownSite.brandStringOwn brand nameY
ownsite.siteIdStringImport code of the related own siteY
brandStringCompetitor brand nameY
competitorIdStringImport code of the competitor siteY
effectiveDateDateTimeUTC date from which the competitor price is effectiveY
productCodeStringGlobal product import codeY
sourceStringData channel formatN
originStringDescription of where the price originatedN
competitorPriceCompetitorPriceThe price value and currency unit for the competitor priceY
competitorPrice.currencyUnitStringISO 4217 currency codeN
competitorPrice.priceValueCurrencyPrice value to import for the productY

Schema

{
  "competitorPrices": {
    "competitorPriceItems": [
      {
        "ownSite": {
          "brand": "string",
          "siteId": "string"
        },
        "brand": "string",
        "competitorId": "string",
        "effectiveDate": "2020-09-17T12:40:32.895Z",
        "productCode": "string",
        "source": "string",
        "origin": "string",
        "competitorPrice": {
          "currencyUnit": "string",
          "priceValue": 0
        }
      }
}

Own Price

This channel is used by PriceNet to import prices for the products sold by each site

Details

NameTypeDescriptionMandatory
siteIdStringImport code of the siteY
brandStringOwn brand nameY
effectiveDateDateTimeUTC date from which the competitor price is effectiveY
productCodeStringGlobal product import codeY
sourceStringData channel formatN
originStringDescription of where the price originatedN
ownPriceOwnPriceThe price value and currency unit for the product priceY
OwnPrice.currencyUnitStringISO 4217 currency codeN
OwnPrice.priceValueCurrencyPrice value to import for the productY

Schema

{
  "ownPrices": {
    "ownPriceItems": [
      {
        "siteId": "string",
        "brand": "string",
        "effectiveDate": "2020-09-17T12:59:07.249Z",
        "productCode": "string",
        "ownPrice": {
          "currencyUnit": "string",
          "priceValue": 0
        },
        "source": "string",
        "origin": "string",
      }
    ]
  }
}

Sales Volume

This channel is used to import the volumes of each product sold by each site. These are known as Sell-Out volumes.

The Sales Breakdown import schema will import various sales elements which, when added together producea completes ales volume value.

These values can be used to store elements such as “cash sales”, “card sales”, etc., or even the “total sales volumes”.

The sales volumes can now be imported using sub-daily dates for each defined type, i.e. 00:00:00 to 12:00:00 and 12:00:01 to 23:59:59.

Volumes that span days will be proportion by time where the system requires daily volumes, e.g. 10000 litres imported for Tues 20:00:00 to Weds 06:00:00 will be split to include 4000 litres for Tues and 6000 litres for Weds.

This is usually required for running rates and Optimisation.

Details

NameTypeDescriptionMandatory
brandStringName the related own brandY
siteIdStringImport code for the own siteY
startDateDateTimeDate/Time of the start of the sales volume periodY
endDateDateTimeDate/Time of the end of the sales volume periodY
productCodeStringImport code of the global productY
infoCodeStringTBC?
salesVolumeSalesVolumeSales Volume dataY
SalesVolume.VolumeDecimalVolume value for this volume recordY
SalesVolume.PriceDecimalPrice value for this volume recordY
SalesVolume.TypeStringImport Code of the associated Sales Type for which this volume relatesY

Schema

{
  "salesVolumes": {
    "salesVolumeItems": [
      {
        "brand": "string",
        "siteId": "string",
        "startDate": "2020-09-17T13:26:52.481Z",
        "endDate": "2020-09-17T13:26:52.481Z",
        "productCode": "string",
        "infoCode": 0,
        "salesVolume": {
          "volume": 0,
          "price": 0,
          "type": "string"
        }
    ]
  }
}

Cost Breakdown

This channel is used to import various cost elements which, when added together produce acomplete costvalue. These values can be used to store elements such as “taxes”, “discounts”, “logistic costs”, etc., or even the “total cost price”.

The cost elements can be imported at various levels, i.e. Network, Area, OwnSite, Terminal, All, where the cost value is imported for each product at the defined level, e.g. Importing a cost value of 0.89 for TOTALCOST for product GP-04-DIES for site Hyperlow Superstore (OS-23-HYSU) will import the cost for one product.

Importing the same information for terminal CarPort will import the cost for all products where the site has the terminal property of CarPort.

The same applies for Network and Area.

Importing for All will import the cost for all own products in the data model.

Details

NameTypeDescriptionMandatory
entityIntegerIdentifier of the enity typeY
entityNameStringImport code of the instance of the entity typeY
effectiveDateDate/TimeDate/Time from which the cost breakdown record appliesY
productCodeStringImport code for the related global productY
costCostCost detailY
cost.costValueDecimalActual value associated with the cost elementY
cost.costTypeStringImport code of the cost type associated with this cost elementY

Schema

{
  "costs": {
    "costItems": [
      {
        "entity": 0,
        "entityName": "string",
        "effectiveDate": "2020-09-17T13:38:37.780Z",
        "productCode": "string",
        "cost": {
          "costValue": 0,
          "costType": "string"
        }
    ]
    }
}

← VolumeWelcome →
  • Overview
    • Field Length Restrictions
  • Competitor Prices
    • Details
    • Schema
  • Own Price
    • Details
    • Schema
  • Sales Volume
    • Details
    • Schema
  • Cost Breakdown
    • Details
    • Schema
Copyright © 2025 Kalibrate Technologies Limited