Data Invalidation for External Types

Is it possible to have Analytics fire on data change for External Types?

I imagine that i could configure the external database to notify C3 of data changes. Is this feature available? Is there any information on what message needs to be sent to C3?

1 Like

Not at this time. Analytics fire based on data changes that we capture, which doesn’t occur for external types.

How it can be done directly? Without using a bath/Cron.

There is something like a Rest API? That can be use in real time.

Thx¡

You can trigger analytic evaluation using REST APIs. For example:

start = “2014-01-01";
end = “2015-01-01"; 
AnalyticsContainer.fireAnalytics(
[{
typeId: Tag.getTypeId('-', ‘SmartBulb'), objId: “SMBLB19",
timeRanges: [{start: start, end: end}]
}], ["SmartBulbOverheatAlert"], {forceReEval: true});

Where SmartBulb is the external type, SMBLB19 is the identifier of the object you want to evaluate the analytic on, and SmartBulbOverheadAlert is the analytic you want to trigger.

This is a synchronous call. You can also use the APIs below to invoke analytics:

  • AnalyticsContainer.invalidateSources (synchronous)
  • AnalyticsQueue.invalidateSources (asynchronous)
1 Like