POST /api/v3/import/reading

This endpoint allows the import of a channel reading ("interval") data import file. The file should be a base64-encoded delimited text file with a UTF8 character set.

ReadingImportV3 Permissions: IntervalData (Manage)

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Request Body

ReadingImportRequest
Property Description Type
autoCreateChannels Create new channels if they don’t exist? boolean
data The base64 encoded file. Required string
importNote Optional note/comment. string
inlineProfile ReadingImportProfile
ReadingImportProfile properties
Property Description Type
channelImportIdColumnNumber The number of the column that holds the channel import identifier Must be between 1 and 2147483647 integer (int32)
channelIntervalInSeconds The interval of the readings in seconds integer (int32)
dataMapping A list of columns from the import sheet with their observation type and unit ReadingImportProfileColumn[]
ReadingImportProfileColumn properties
Property Description Type
columnNumber The number of the column Must be between 1 and 2147483647 integer (int32)
observationTypeCode The observation type code of the reading Required Must be between 0 and 16 characters string
unitCode The unit code of the reading Required Must be between 0 and 16 characters string
dateColumnNumber The number of the column that holds the date Must be between 1 and 2147483647 integer (int32)
dateFormat The format for the date of the readings. An example is MM/dd/yyyy string
delimiter The string that represents how the file contents are delimited. Valid options are “\t” for tab, " " for space and “,” for comma. Required Must be between 1 and 2 characters One of ’ ‘, ’ ‘, ‘,’ Case sensitive string
estimated Estimated
Estimated properties
Property Description Type
columnNumber Column number specifying where to look for the estimated indicator Required Must be between 1 and 2147483647 integer (int32)
indicator The string used to indicate the reading is estimated If this value is found in the column number specified the reading will be marked as estimated Example: e, E, 1, 0, est, *, this is my estimated read Required string
meterImportIdColumnNumber The number of the column that holds the meter import identifier Must be between 1 and 2147483647 integer (int32)
noteColumnNumber Column number that holds a note to be stored with the reading Must be between 1 and 2147483647 integer (int32)
numberOfColumns The minimum number of columns in the import sheet Required Must be between 1 and 2147483647 integer (int32)
numberOfHeaderRows Number of header rows before the data begins Required Must be between 0 and 2147483647 integer (int32)
timeColumnNumber The number of the column that holds the time Must be between 1 and 2147483647 integer (int32)
timeFormat The format for the time of the readings. An example is mm:hh:ss:zzz string
timeZoneId The time zone for the readings integer (int32)
timestampColumnNumber The number of the column that holds the timestamp Must be between 1 and 2147483647 integer (int32)
timestampFormat The format for the timestamp of the readings. An example is MM/dd/yyyy mm:hh:ss:zzz string
profileCode A reading import data profile code. string
Example Request Body application/json
{  "autoCreateChannels": false,  "data": "string",  "importNote": "string",  "inlineProfile": {    "channelImportIdColumnNumber": 1,    "channelIntervalInSeconds": 1,    "dataMapping": [
      {      "columnNumber": 1,      "observationTypeCode": "string",      "unitCode": "string"
    }
    ],    "dateColumnNumber": 1,    "dateFormat": "string",    "delimiter": "string",    "estimated": {      "columnNumber": 1,      "indicator": "string"
    },    "meterImportIdColumnNumber": 1,    "noteColumnNumber": 1,    "numberOfColumns": 1,    "numberOfHeaderRows": 1,    "timeColumnNumber": 1,    "timeFormat": "string",    "timeZoneId": 1,    "timestampColumnNumber": 1,    "timestampFormat": "string"
  },  "profileCode": "string"
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

GuidResponse
Property Description Type
taskGUId A guid that identifies the current task string (uuid)
Example Response application/json
{  "taskGUId": "string"
}