While Nexudus connects to a range of access control systems natively, if your system of choice is not currently supported, you can still register it and, with the help of the provider or a technical resource, still achieve the same level of integration offered by the native integrations.
To do this, you will need to register your access control provider (ACS) as a "Custom ACS" integration and provide two API endpoints, one to fetch the available access groups, entries or locks available and the other so Nexudus can notify the access control system about any changes in the access of a particular customer.
Registering your access control system as a Customer ACS.
Access Settings > Integrations > Access Control and click on "Custom ACS"
https://dashboard.nexudus.com/settings/integrations/generic-acs-1
Provide a name for the integration.
This would typically be the name of the access control provider itselt.
Provide a webhook URL.
This is the endpoint where the access control system will be notified every time the access for a customer changes. We do this by sending a POST request with the a payload following this format.
{
"time": "2024-08-20T16:30:49.7961262Z",
"business": {
"id": 101,
"name": "Space Plus",
"uniqueId": "d4cb499b-ec2c-4208-ae9f-3699ed4e210e"
},
"coworker": {
"id": 3032,
"email": "[email protected]",
"uniqueId": "4539cf82-ad6b-4832-90dc-83d1e8b43404",
"accessPincode": "11546"
},
"groups": [
"1"
],
"schedule": [
{
"group": "1",
"expires_on": "2024-08-31T20:00:00Z"
}
]
}
This includes the time when the notification was generated in our servers, the id, name and global unique Id of the location (business) and customer (coworker). We also include the access card, fob, pin-code, full name and email of the customer. This helps the access control system register this customer as a user in their system and keep record of their unique id so they can recognise them in later updates as the same customer.
Nexudus computes the specific groups, entries or locks the customer should have access based on the configuration of the integration and places the identifiers of these in the "groups" array.
Provide an access groups API endpoint.
Nexudus requires a list of all access groups, entries or locks in the access control system so the integration page allows to create a mapping between all resources, passes and floor plan items and those access groups. By doing so, Nexudus can compute what access groups a customer should have access to based on the bookings they have in the calendar, what passes they hold or what floor plan units are connected to their contracts or their paying member contracts.
This endpoint must respond to GET requests with the following JSON structure:
Optionally, the endpoint can be protected with a Bearer token, which can be typed in the "Access groups API Access Token" field.
The requests to this endpoint will also include a "x-nexudus-user-uniqueid" and a "x-nexudus-business-uniqueid" headers with the unique id of the user loading the page and the unique id of the location setting up the integration.
When this is configured correctly, the user will be able to see a table with all their resources, passes and floor plan items and a way to map each of those to one or more access groups.
Lastly, once this is all done, Save the changes to the settings.