How it works
Nexudus maintains a mapping table that links resources, day passes, and floor plan items to access groups in your system. When a customer books a resource, purchases a day pass, or is assigned a desk through a contract, Nexudus determines which access groups they should belong to and notifies your system via a webhook. The integration requires two components:- Access Groups endpoint — An endpoint you host that returns the list of access groups in your system. Nexudus calls this endpoint so operators can map Nexudus items to your access groups from the admin panel.
- Webhook receiver — An endpoint you host that receives notifications from Nexudus whenever a customer’s access groups change.
Configuration
Configure the integration from the Nexudus admin panel at Settings > Integrations > Custom ACS:Access Groups endpoint
You must provide an endpoint that returns the list of access groups available in your system. Nexudus calls this endpoint when an operator opens the access control configuration page in the admin panel.Request
Nexudus sends aGET request to your endpoint with the following headers:
Response
Your endpoint must return a JSON array of access group objects:A unique identifier for the access group in your system.
A human-readable name displayed to operators in the Nexudus admin panel.
Nexudus enforces a 10-second timeout when calling your access groups endpoint. Make sure your endpoint responds within this limit.
Mapping access groups
Once Nexudus retrieves the list of access groups from your endpoint, operators can map them to Nexudus items from the admin panel. The following item types can be mapped:- Resources — Bookable inventory such as meeting rooms, phone booths, and event spaces.
- Day passes — Time-limited passes that grant access to the Location.
- Floor plan desks — Desks assigned through contracts on a floor plan.
Webhook notifications
Whenever a customer’s access groups change, Nexudus sends a webhook notification to the URL you configured. Changes are triggered by:- A customer purchasing or being assigned a day pass.
- A customer making or being added as a visitor to a resource booking (within 15 minutes of the booking start time).
- A customer’s contract including assigned desks.
- A customer’s day pass expiring or being revoked.
- A booking ending.
- A customer being deactivated.
- A customer checking in with a day pass.
- A team leader’s contract desks being inherited by team members.
Request
Nexudus sends aPOST request to your webhook URL with the following headers:
Payload
The webhook payload contains the customer’s current access state:Payload field reference
Payload field reference
Access expiration rules
Theexpires_on field in the schedule varies depending on what grants access:
When a customer belongs to a group through multiple sources (for example, a day pass and a booking), the latest expiration is used.
Handling the webhook
Your webhook endpoint should:- Respond with a
2xxstatus code to acknowledge receipt. - Replace the customer’s access groups with the list provided in the
groupsarray. This is a full replacement, not an incremental update. - Use the
schedulearray to set time-based access rules if your system supports them.
Nexudus sends a webhook notification on every access update, even if the customer’s groups have not changed. Your system should handle idempotent updates gracefully.
Implementation checklist
1
Build the Access Groups endpoint
Create an HTTPS endpoint that returns a JSON array of
{"Id": "...", "Name": "..."} objects representing your access groups.2
Build the Webhook receiver
Create an HTTPS endpoint that accepts POST requests with the webhook payload described above and updates access in your system accordingly.
3
Configure Nexudus
In the Nexudus admin panel, navigate to Settings > Integrations > Custom ACS and enter your endpoint URLs and tokens.
4
Map access groups
Use the admin panel to map your access groups to Nexudus resources, day passes, and floor plan desks.
5
Test the integration
Assign a day pass to a test customer and verify that your webhook receives the expected notification with the correct access groups.