How to extract Access Control external ID from SDK (or API?)

Is it possible to retrieve more data from Access Control items?

They do not appear in the Configutation API:

There is in the Configuration API (and REST API) a way to get the Milestone path (Get internal unit path) if you have the External ID.

There is no functionality for going the other way.

Can you explain the use case? Why would it be useful to be able to look up the external ID?

Hi Bo,

Thanks for your reply. This Get internal unit path function works on which versions of XProtect/MIP SDK?

The use case we have is very specific.

Lets say both XProtect and an Access Control software are each connected to a kind of supervisor, and they both forward alarms to it. The supervisor receives alarms from both the AC system and the XProtect access control alarm definitions.

From the plugin that sends alarms from XProtect to the supervisor, we want to send the external ID of the access control unit so that the supervisor can match it with the ID being sent in alarms from the access control system.

If we could have the function going the other way around, it would be possible to detect when we get an access control alarm and send the external ID intead of the XProtect GUID.

If we can’t get the external ID from XProtect SDK, we need to build a dictionary of internal ID to external ID and the only way to do this now would be to extract the external IDs directly from the Access Control system. Also, I am aware that there is no guarantee that the external ID in XProtect for a given access control plugin actually matches with the ID of items in the access control software/API.

Another possibility would be to include the external ID in the Alarm.EventHeader of the MessageId.Server.NewAlarmIndication data.