PUSH API using standard Format
This document describes the JSON format that you can use to push data points into DataHub variables through the PUSH API located at https://push.opinum.com/api/data.
Please note that this API does not provide any user interface, it is only intended to be called by client code.
By adding specific parameters to the call, you can drive the PUSH API to send a webhook at the end of the PUSH operations.
Standard Format
Payload
[{ "sourceId": int, "sourceSerialNumber": string, "sourceEan": string, "sourceName": string, "variableId": int, "meterNumber": string, "mappingConfig": string "data": [{ "date": string,, "value": double, }, …] }, …]
You can use a combination of the green fields to identify the variable in which to insert the data.
The search is only applied to DataHub entities (Source/Variable) belonging to the account of the user that performs the PUSH API call.
The parsing of the payload is case-insensitive, meaning that you can write either "variableid" or "VariableId". On the other hand, the parsing of the string values is case-insensitive, meaning that SourceEan = "abc" and SourceEan = "AbC" will not produce the same result
Important
The PUSH service does not support mixed source identifiers in the same call, meaning that all sources must have the same identifier (sourceId, sourceName, ...). If you mix identifiers, the first one defined in the file will be the one used to identify all sources.
Field | Requires | Applied search |
---|---|---|
VariableId | - | A unique single variable having the specified Id |
SourceId | MappingConfig | The first variable having the specified MappingConfig of the unique source having the specified Id |
SourceSerialNumber | MappingConfig | The first variable having the specified MappingConfig of all sources having the specified serial number |
SourceEan | MappingConfig | The first variable having the specified MappingConfig of all sources having the specified EAN |
SourceName | MappingConfig | The first variable having the specified MappingConfig of all sources having the specified name |
MeterNumber | MappingConfig | The first variable having the specified MappingConfig of all sources having the specified meter number |
Webhook notification
Data flow of a PUSH operation
A PUSH operation is an asynchronous operation that immediately returns an HTTP result but that also queues deferred ordered steps:
- Parsing of the request body
- Interpretation and validation of the body content
- Insertion of RAW data points
- Aggregation of RAW data points by day
- Webhook triggering
Note
The aggregation of RAW data points is performed by time-windowing, which always induces some latency, depending on the number of data points and on the time frame they belong to
Ask for a webhook notification
There are 2 parameters telling the PUSH API how to trigger a webhook at the end of the PUSH operation
operationId
: when this string parameter is set, it will be the unique key of the PUSH operation that will also be the webhook discriminant. When this parameter is not set, there will be no webhook triggered at the end of the PUSH operation.
Warning
It is very important that you provide a value for operationId
that is UNIQUE for every PUSH call, otherwise you could have webhook triggers mixing the result of parallel API calls.
operationTimeoutSec
: this integer parameter is only meaningful whenoperationId
is set; it determines the maximum number of seconds that the PUSH operation is expected to last. If the PUSH did not end within this time window, the webhook will be triggered and will report a timeout error. If not specified, it will default to 60 (1 min). This means that you'll always get a webhook notification when you specify a value foroperationId
, whatever happens during the PUSH operation.
Note
If the PUSH operation lasts more than the number of seconds, the PUSH service will trigger the webhook and set the Timeout
field to true. This does not end the PUSH operation, it keeps on running until the end but the webhook will not be triggered anymore at the end of this operation.
Webhook body content
{
"UserId": string,
"MissingVariableDefinitions": [
{
"SourceIdentifier": string,
"SourceIdentifierValue": string
}, ...
],
"VariablesNotFound": [ int ]
"VariablesNotInAccount": [ int ]
"VariablesWithInvalidTimeZone": [ int ],
"InitialVariables": [
{
"VariableId": int,
"SourceId": int,
"NumberOfDataPoints": int
}, ...
],
"MappedVariables": [
{
"SourceIdentifier": string,
"SourceIdentifierValue": string,
"VariableMappingConfig": string,
"SourceId": int,
"VariableId": int,
"Info": string,
}, ...
],
"NotificationType": string,
"AccountId": int,
"OperationKey": int,
"EmitterKey": int,
"OperationId": string
"EmitterId": string
"OperationStartDate": string
"TimeoutDate": string
"Timeout": boolean,
"Failed": boolean,
"Message": string,
"NumberOfValidRawVariables": int,
"RejectedRawIngestions": [
{
"VariableId": int,
"NumberOfDataPoints": int,
"Reason": string
}, ...
],
"IngestedRawDataPoints": [
{
"VariableId": int,
"NumberOfDataPoints": int
}, ...
],
"NumberOfIngestedRawDataPoints": int,
"RawIngestionEndDate": string,
"AggregatedIngestionEndDate": string
}
Element | Type | Descrition |
---|---|---|
UserId | string | The Id of the user that called the PUSH API |
MissingVariableDefinitions | array(element) | The list of PUSH payload elements that do not fully define the target variable |
MissingVariableDefinitions.SourceIdentifier | string | The source identifier ("SourceSerialNumber", "SourceEan", "SourceName", "MeterNumber" |
MissingVariableDefinitions.SourceIdentifierValue | string | The value of the source identifier |
VariablesNotFound | array(int) | The list of variable Ids that does not exist in the account |
VariablesNotInAccount | array(int) | The list of variable Ids that exist but does not belong to the account |
VariablesWithInvalidTimeZone | array(int) | The list of variable Ids that exist but belongs to a source having an invalid time zone Id |
InitialVariables | array(object) | The list of all variables that will be processed |
InitialVariables.VariableId | int | The Id of the variable |
InitialVariables.SourceId | int | The Id of the variable's source |
InitialVariables.NumberOfDataPoints | int | The number of data points to push to the variable |
MappedVariables | array(object) | The list of variables resolved by a tuple SourceIdentifier/Variable mapping config |
MappedVariables.SourceIdentifier | string | The source identifier specified in the PUSH payload |
MappedVariables.SourceIdentifierValue | string | The source identifier value specified in the PUSH payload |
MappedVariables.VariableMappingConfig | string | The variable mapping config value specified in the PUSH payload |
MappedVariables.SourceId | int | The Id of the existing source corresponding to the SourceIdentifier/SourceIdentifierValue |
MappedVariables.VariableId | int | The Id of the existing variable holding the requested mapping config in the above source |
MappedVariables.Info | string | Give additional info about the mapping, whether it is valid or not |
NotificationType | string | (internal) "PushOperationNotificationContent" |
AccountId | int | The account the calling user belongs to |
OperationKey | int | (internal) The CRC32 of the OperationId |
EmitterKey | int | (internal) The CRC32 of the EmitterId |
OperationId | string | The value of the operationId specified in the PUSH API call (discriminant) |
EmitterId | string | (internal) "PUSH_STANDARD" |
OperationStartDate | string | The ISO8601 representation of the start date of the PUSH operation |
TimeoutDate | string | (internal) The ISO8601 representation of the date after which the PUSH operation should be considered as timed out |
Timeout | boolean | true if the PUSH operation lasted more than the number of seconds specified by the parameter operationTimeoutSec specified in the PUSH API call, otherwise false |
Failed | boolean | true if the PUSH operation failed, otherwise false |
Message | string | The reason of the PUSH operation failure, otherwise empty string |
NumberOfValidRawVariables | int | The number of valid distinct variable Ids that reached the RAW ingestion step |
RejectedRawIngestions | array(element) | The list of variables rejected during the RAW step |
RejectedRawIngestions.VariableId | int | The Id of the variable |
RejectedRawIngestions.NumberOfDataPoints | int | The number of RAW data points that were not inserted |
RejectedRawIngestions.Reason | string | The reason of the rejection |
IngestedRawDataPoints | array(element) | The list of variables containing RAW data points successfully inserted in the RAW step |
IngestedRawDataPoints.VariableId | int | The Id of the variable |
IngestedRawDataPoints.NumberOfDataPoints | int | The number of RAW data points successfully inserted during the RAW step |
NumberOfIngestedRawDataPoints | int | The total number of RAW data points successfully inserted during the RAW step |
RawIngestionEndDate | string | The ISO8601 representation of the end of the RAW step |
AggregatedIngestionEndDate | string | The ISO8601 representation of the end of the AGGREGATION step |
Create the webhook
Warning
The webhook must belong to the same account as the user performing the API call.
Examples of webhook content
All examples are based on the following DataHub content
Source
- Id = 'MySource'
- Meter number = 'MyMeterNumber'
Index variable
- Id = 284388
- MappingConfig = 'INDEX'
Conso variable
- Id = 284389
- MappingConfig = 'CONSO'
The PUSH API call parameters are:
operationId
= 'myUniqueOperationId'operationTimeoutSec
= 120
PUSH based on variable Id
Push payload
[
{
"variableid": 284388,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"variableid": 284389,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284388,
"SourceId": 79696,
"NumberOfDataPoints": 3
},
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-10T14:24:17.4895648+00:00",
"TimeoutDate": "2024-12-10T14:26:17.4895701+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 2,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284388,
"NumberOfDataPoints": 3
},
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 6,
"RawIngestionEndDate": "2024-12-10T14:24:17.6129093+00:00",
"AggregatedIngestionEndDate": "2024-12-10T14:25:00.9259439+00:00"
}
PUSH based on source name
Push payload
[
{
"SourceName": "MySource",
"MappingConfig" : "INDEX",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceName": "MySource",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284388,
"SourceId": 79696,
"NumberOfDataPoints": 3
},
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "INDEX",
"SourceId": 79696,
"VariableId": 284388,
"Info": "Valid mapping"
},
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "CONSO",
"SourceId": 79696,
"VariableId": 284389,
"Info": "Valid mapping"
}
],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T08:55:04.2129639+00:00",
"TimeoutDate": "2024-12-11T08:57:04.2129719+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 2,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284388,
"NumberOfDataPoints": 3
},
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 6,
"RawIngestionEndDate": "2024-12-11T08:55:04.4050601+00:00",
"AggregatedIngestionEndDate": "2024-12-11T08:55:48.5789018+00:00"
}
Invalid variable
Push payload
[
{
"variableid": 999,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"variableid": 284389,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [
999
],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-10T14:28:16.3934774+00:00",
"TimeoutDate": "2024-12-10T14:30:16.3934863+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-10T14:28:16.5781046+00:00",
"AggregatedIngestionEndDate": "2024-12-10T14:29:00.8818239+00:00"
}
Variable belonging to another account
Push payload
[
{
"variableid": 1529197,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"variableid": 284389,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [
1529197
],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-10T14:30:42.2850426+00:00",
"TimeoutDate": "2024-12-10T14:32:42.285239+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-10T14:30:42.395928+00:00",
"AggregatedIngestionEndDate": "2024-12-10T14:31:01.8961664+00:00"
}
Data points outside the maximum time window permitted by DataHub (-5 years, +2 years)
Push payload
[
{
"variableid": 284388,
"data" : [
{"date" : "1000-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"variableid": 284389,
"data" : [
{"date" : "3000-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284388,
"SourceId": 79696,
"NumberOfDataPoints": 3
},
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-10T14:33:23.658018+00:00",
"TimeoutDate": "2024-12-10T14:35:23.6581829+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 2,
"RejectedRawIngestions": [
{
"VariableId": 284388,
"NumberOfDataPoints": 1,
"Reason": "Dates are outside ingestion period"
},
{
"VariableId": 284389,
"NumberOfDataPoints": 1,
"Reason": "Dates are outside ingestion period"
}
],
"IngestedRawDataPoints": [
{
"VariableId": 284388,
"NumberOfDataPoints": 2
},
{
"VariableId": 284389,
"NumberOfDataPoints": 2
}
],
"NumberOfIngestedRawDataPoints": 4,
"RawIngestionEndDate": "2024-12-10T14:33:23.8019423+00:00",
"AggregatedIngestionEndDate": "2024-12-10T14:34:00.917912+00:00"
}
PUSH Timeout (operationTimeoutSec paramater = 1)
Push payload
[
{
"variableid": 284388,
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284388,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T08:38:07.7552906+00:00",
"TimeoutDate": "2024-12-11T08:38:08.7552906+00:00",
"Timeout": true,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284388,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-11T08:38:08.5141488+00:00"
}
Mixed source identifier
Push payload
[
{
"SourceName": "MySource",
"MappingConfig" : "INDEX",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceSerialNumber": "MySourceSerialNumber",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284388,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "INDEX",
"SourceId": 79696,
"VariableId": 284388,
"Info": "Valid mapping"
},
{
"SourceIdentifier": "SourceSerialNumber",
"SourceIdentifierValue": "MySourceSerialNumber",
"VariableMappingConfig": "CONSO",
"SourceId": -1,
"VariableId": -1,
"Info": "All identifiers should be SourceName', SourceSerialNumber' is rejected"
}
],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T08:49:52.3174616+00:00",
"TimeoutDate": "2024-12-11T08:51:52.3178465+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284388,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-11T08:49:52.889127+00:00",
"AggregatedIngestionEndDate": "2024-12-11T08:50:48.53936+00:00"
}
Missing mapping config using source identifier
Push payload
[
{
"SourceName": "MySource",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceName": "MySource",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource"
}
],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "CONSO",
"SourceId": 79696,
"VariableId": 284389,
"Info": "Valid mapping"
}
],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T09:27:05.7166203+00:00",
"TimeoutDate": "2024-12-11T09:29:05.7167294+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-11T09:27:05.825261+00:00",
"AggregatedIngestionEndDate": "2024-12-11T09:27:48.7277376+00:00"
}
Missing source identifier
Push payload
[
{
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceName": "MySource",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [
{
"SourceIdentifier": "Unknown",
"SourceIdentifierValue": ""
}
],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "CONSO",
"SourceId": 79696,
"VariableId": 284389,
"Info": "Valid mapping"
}
],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T09:30:32.5432808+00:00",
"TimeoutDate": "2024-12-11T09:32:32.5432877+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-11T09:30:33.2893679+00:00",
"AggregatedIngestionEndDate": "2024-12-11T09:30:48.7638631+00:00"
}
Missing data
Push payload
[
{
"SourceName": "MySource",
"MappingConfig" : "CONSO"
},
{
"SourceName": "MySource",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [
{
"VariableId": 284389,
"SourceId": 79696,
"NumberOfDataPoints": 3
}
],
"MappedVariables": [
{
"SourceIdentifier": "SourceName",
"SourceIdentifierValue": "MySource",
"VariableMappingConfig": "CONSO",
"SourceId": 79696,
"VariableId": 284389,
"Info": "Valid mapping"
}
],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T09:44:13.1022505+00:00",
"TimeoutDate": "2024-12-11T09:46:13.1022544+00:00",
"Timeout": false,
"Failed": false,
"Message": "",
"NumberOfValidRawVariables": 1,
"RejectedRawIngestions": [],
"IngestedRawDataPoints": [
{
"VariableId": 284389,
"NumberOfDataPoints": 3
}
],
"NumberOfIngestedRawDataPoints": 3,
"RawIngestionEndDate": "2024-12-11T09:44:13.2483939+00:00",
"AggregatedIngestionEndDate": "2024-12-11T09:44:48.6694801+00:00"
}
All invalid mapping configs
Push payload
[
{
"SourceName": "MySource",
"MappingConfig" : "XXXX",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceName": "MySource",
"MappingConfig" : "YYYYY",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T09:47:07.5171756+00:00",
"TimeoutDate": "2024-12-11T09:49:07.5171855+00:00",
"Timeout": false,
"Failed": true,
"Message": "No data point to ingest"
}
All invalid sources
Push payload
[
{
"SourceName": "???",
"MappingConfig" : "INDEX",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 100},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 110},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 125}
]
},
{
"SourceName": "???",
"MappingConfig" : "CONSO",
"data" : [
{"date" : "2024-11-21T06:00:00.00Z", "value" : 4000},
{"date" : "2024-11-21T07:00:00.00Z", "value" : 4010},
{"date" : "2024-11-21T08:00:00.00Z", "value" : 4025}
]
}
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": -1423467058,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T10:01:42.8681235+00:00",
"TimeoutDate": "2024-12-11T10:03:42.8681292+00:00",
"Timeout": false,
"Failed": true,
"Message": "No data point to ingest"
}
Empty PUSH body
Push payload
[
]
Webhook payload
{
"UserId": "1edbf590-dc0c-4e55-99ab-4f4c2b0ef2e5",
"MissingVariableDefinitions": [],
"VariablesNotFound": [],
"VariablesNotInAccount": [],
"VariablesWithInvalidTimeZone": [],
"InitialVariables": [],
"MappedVariables": [],
"NotificationType": "PushOperationNotificationContent",
"AccountId": 507,
"OperationKey": 1828226991,
"EmitterKey": -803554661,
"OperationId": "myUniqueOperationId",
"EmitterId": "PUSH_STANDARD",
"OperationStartDate": "2024-12-11T10:42:05.8508273+00:00",
"TimeoutDate": "2024-12-11T10:43:05.8510171+00:00",
"Timeout": false,
"Failed": true,
"Message": "No row to push"
}