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:| Field | Description |
|---|---|
| Access groups API endpoint | The URL of your endpoint that returns the list of access groups. |
| Access groups API Access Token | An optional bearer token Nexudus includes when calling your access groups endpoint. |
| Webhook URL | The HTTPS URL Nexudus calls to notify your system of access changes. |
| Webhook Bearer | The bearer token Nexudus includes in webhook requests to your endpoint. |
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:
| Header | Description |
|---|---|
Authorization | Bearer <token> — Included only if you configured an Access Token. |
X-Nexudus-Business-UniqueId | The unique identifier of the Nexudus Location making the request. |
X-Nexudus-User-UniqueId | The unique identifier of the admin user performing the action. |
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:
| Header | Description |
|---|---|
Authorization | Bearer <webhook_bearer> — The bearer token you configured. |
Payload
The webhook payload contains the customer’s current access state:Payload field reference
Payload field reference
| Field | Type | Description |
|---|---|---|
time | string | ISO 8601 timestamp of when the notification was generated (UTC). |
business.id | number | The Nexudus Location ID. |
business.name | string | The name of the Location. |
business.uniqueId | string | The unique identifier of the Location. |
coworker.id | number | The customer’s Nexudus ID. |
coworker.full_name | string | The customer’s full name. |
coworker.email | string | The customer’s email address. |
coworker.uniqueId | string | The customer’s unique identifier. |
coworker.accessCardId | string | The customer’s access card identifier, if set. |
coworker.keyFobNumber | string | The customer’s key fob number, if set. |
coworker.accessPincode | string | The customer’s access PIN code, if set. |
access_signature | string | A hash representing the customer’s current access state. |
groups | string[] | The list of access group IDs the customer currently belongs to. |
schedule | object[] | Detailed schedule showing each group and when access expires. |
schedule[].group | string | The access group ID. |
schedule[].expires_on | string | null | ISO 8601 expiration timestamp, or null if access does not expire (e.g. from an active contract). |
Access expiration rules
Theexpires_on field in the schedule varies depending on what grants access:
| Source | Expiration |
|---|---|
| Day pass | The day pass expiration date, extended by 12 hours. |
| Resource booking | The booking end time. |
| Desk in a contract | null (no expiration while the contract is active). |
| Team member inheriting from a team leader’s contract | The contract renewal date, or null if no renewal date is set. |
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
Build the Access Groups endpoint
Create an HTTPS endpoint that returns a JSON array of
{"Id": "...", "Name": "..."} objects representing your access groups.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.
Configure Nexudus
In the Nexudus admin panel, navigate to Settings > Integrations > Custom ACS and enter your endpoint URLs and tokens.
Map access groups
Use the admin panel to map your access groups to Nexudus resources, day passes, and floor plan desks.