Scroll down to learn more

Documentation Center

Welcome to Opinum Documentation Center. You find here all the content you need to enjoy your data.

Search Results for

    Show / Hide Table of Contents

    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:

    1. Parsing of the request body
    2. Interpretation and validation of the body content
    3. Insertion of RAW data points
    4. Aggregation of RAW data points by day
    5. 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

    1. 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.

    1. operationTimeoutSec: this integer parameter is only meaningful when operationIdis 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 for operationId, 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"
    }
    

    Developer Center

    User manual API Swagger Github
    © Opinum 2025  -   www.opinum.com

    Follow us

    Linkedin Twitter Youtube Facebook