Important
This repository contains the connector and configuration code only. The implementer is responsible to acquire the connection details such as username, password, certificate, etc. You might even need to sign a contract or agreement with the supplier before implementing this connector. Please contact the client's application manager to coordinate the connector requirements.
Warning
Do not use this repository! There are still some questions that are being discussed with the supplier and customer.
Warning
During testing, the API and/or the local machine on which CardAccess was installed were very slow. This does not necessarily apply to a production environment, but it is possible.
- HelloID-Conn-Prov-Target-Aras-CardAccess
- Table of contents
- Introduction
- Supported features
- Getting started
- Remarks
- Persons, CardAccess and access
- On-Premises Application
- API Port Configuration
- BadgeOperation Endpoint
- Required AddBadge Fields
- Expiration Date Constraint
- Enabled State Preservation
- Single Partition Support
- Single Facility Configuration
- AG Properties Limitation
- FirstName Field Mapping
- No Pagination Support
- Long audit message
- Process for Granting and Receiving Physical Access Cards
- Development resources
- Getting help
- HelloID docs
HelloID-Conn-Prov-Target-Aras-CardAccess is a target connector. Aras-CardAccess provides a set of REST APIs that allow you to programmatically interact with its data.
The following features are available:
| Feature | Supported | Actions | Remarks |
|---|---|---|---|
| Account Lifecycle | ✅ | Create, Update, Enable, Disable, Delete | |
| Permissions | ✅ | Retrieve, Grant, Revoke | |
| Resources | ❌ | - | |
| Entitlement Import: Accounts | ✅ | - | |
| Entitlement Import: Permissions | ✅ | - | |
| Governance Reconciliation Resolutions | ✅ | - |
URL of the icon used for the HelloID Provisioning target system.
https://raw.githubusercontent.com/Tools4everBV/HelloID-Conn-Prov-Target-ArasCardaccess/refs/heads/main/Icon.png
-
Aras CardAccess Installation:
An Aras CardAccess system must be installed and configured on-premises. The connector requires access to the CardAccess API endpoints to manage badges and permissions. -
HelloID Agent:
A local agent is required for this connector. The connector only works when there is a local connection to the API and therefore does not function with the cloud agent. -
Concurrent actions set to 1: The grant and revoke permissions scripts use the
UpdateBadgeendpoint. This means that concurrent actions should be set to 1 to ensure all permissions are correctly set.
The following settings are required to connect to the API.
| Setting | Description | Mandatory |
|---|---|---|
| Username | The Username to connect to the API | Yes |
| Password | The Password to connect to the API | Yes |
| BaseUrl | The URL to the API | Yes |
| PartitionId | The PartitionId used to retrieve all badgeHolders | Yes |
| Facility | The Facility on which the API requests will be executed | Yes |
| NoAccessPermissionId | The Permission Id (valueMember) of the 'no access' permission | Yes |
-
PartitionId:
To retrieve the partition ID, the API requestGET Partitions/AllPartitionscan be executed. For more information on the API request, please refer to the API documentation found at your local installation of CardAccess. -
Facility:
The Facility may be found in the CardAccess UI. During testing,0was used. -
NoAccessPermissionId:
To retrieve the 'no access' permission ID (valueMember), the API requestGET Access/AccessGroupscan be executed. For more information on the API request, please refer to the API documentation found at your local installation of CardAccess.
The correlation configuration is used to specify which properties will be used to match an existing account within Aras-CardAccess to a person in HelloID.
| Setting | Value |
|---|---|
| Enable correlation | True |
| Person correlation field | PersonContext.Person.ExternalId |
| Account correlation field | Badge |
Tip
For more information on correlation, please refer to our correlation documentation pages.
The field mapping can be imported by using the fieldMapping.json file.
The account reference is populated with the Badge property from Aras-CardAccess.
- Connector functionality: The connector creates badge holders in Aras CardAccess based on persons in HelloID with a one-to-one relationship (one HelloID person equals one badge holder), where each badge holder can have multiple active permissions stored directly on the badge holder object, and although Aras CardAccess also supports creating persons via its API, persons are not used by this connector.
- Installation Type: The connector is designed for an on-premises Aras CardAccess installation, not cloud-based deployments. This means an agent should be configured.
- Default Port: The API listens on port 8081 by default. If your instance uses a different port, update the BaseUrl connection setting accordingly.
- Delete Operation: The
BadgeOperationendpoint is used for the delete action. Although it requires FirstName, LastName, and MiddleName as parameters, these name fields may be empty; only Badge and Facility are required to contain values. The request is a POST without a body.
- Mandatory Fields: The Facility ID, Badge, and LastName are mandatory fields for the AddBadge API request.
- Date Behavior: Expiration dates can be set to null during account creation, but once set, they cannot be changed back to null. To prevent unintended date updates, the connector no longer sends
ActvDateandExprDatein create, enable, and disable payloads.
- Mandatory for UpdateBadge: The
UpdateBadgeendpoint can disable an account whenEnabledis not included in the payload. Therefore, the connector always includes the currentEnabledvalue in account update and permission grant/revoke operations.
- Partition Limitation: The connector currently supports only one partition ID for the
AllBadgeHoldersendpoint. If your configuration uses multiple partitions, the connector code must be modified to handle them appropriately.
- Facility Scope: The connector is currently configured to work with a single facility number only. Modifications to the connector are required to support multiple facilities.
- Facility Scope: Because the connector supports only one facility, it does not correlate existing badge holders that were created in other facilities.
- Property Limit: The data model supports a maximum of 16
AG#properties. Behavior is undefined if more than 16accessGroupsare assigned to an account. - Grant no access during revoke: It is not possible to revoke all permissions through the API without granting the
no accesspermission. Because of this, theno accesspermission is granted in therevokePermissionscript when revoking the last remaining permission.
- Field Conversion: The connector operation includes special mapping to convert the property "FrstName" to "FirstName" to match API requirements.
- Bulk Retrieval: The GetAllBadgeHolders endpoint does not support pagination, so all accounts are retrieved in a single request.
- Error message max length: The API sometimes returns a very long error message. Since HelloID doesn't support long audit log messages, messages are capped at 254 characters.
-
Because the Badge property is used as a correlation field, issues may occur when the CardAccess property Badge is populated with a field from the source system that contains the physical badge number.
Persons remain in HelloID (depending on the configured retention period) for up to one month after they leave the organization. During this period, HelloID retains which badge/card number belongs to that person.
If an employee leaves the organization and the physical badge is reassigned to a new employee within that month, this can result in two HelloID persons being correlated to a single badge holder.
The following endpoints are used by the connector.
| Endpoint | Method | Description |
|---|---|---|
| /token | POST | Authenticate and retrieve access token |
| /Badges/AllBadgeHolders | GET | Retrieve all badge holders (accounts) |
| /Badges/BadgeInfo | GET | Retrieve specific badge/account information |
| /Badges/AddBadge | POST | Create a new badge/account |
| /Badges/UpdateBadge | POST | Update badge/account information |
| /Badges/BadgeOperation | POST | Delete/manage badge operations |
| /Access/AccessGroups | GET | Retrieve access groups (permissions) |
Tip
For more information on how to configure a HelloID PowerShell connector, please refer to our documentation pages.
Tip
If you need help, feel free to ask questions on our forum.
The official HelloID documentation can be found at: https://docs.helloid.com/
