ℹ️ Information |
---|
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. |
- HelloID-Conn-Prov-Target-ArdaOnline
HelloID-Conn-Prov-Target-ArdaOnline is a target connector. ArdaOnline provides a set of REST API's that allow you to programmatically interact with its data. Contrary to most connectors, ArdaOnline uses a GraphQL API. The difference compared to REST is that; with GraphQL every request is a POST containing a json payload. That payload consists of a query. Fore more information on GraphQL please refer to: https://graphql.org/learn/
The following lifecycle actions are available:
Action | Description |
---|---|
create.ps1 | Create and/or correlate the Account |
update.ps1 | Update the Account |
enable.ps1 | Enable the Account |
delete.ps1 | Disable the Account |
The correlation configuration is used to specify which properties will be used to match an existing account within ArdaOnline to a person in HelloID.
To properly set up the correlation:
-
Open the
Correlation
tab. -
Specify the following configuration:
Setting Value Enable correlation True
Person correlation field Person.ExternalId
Account correlation field externalUserId
The mapping plays a fundamental role in every connector and is essential for aligning the data fields between a HelloID person and the target system. The Provisioning PowerShell V2 connector comes with a UI-based field mapping and is therefore, more accessible to a broader audience, including people who may not have a programming background.
The following fields are used within the ArdaOnline connector:
ℹ️ Information
Note that field names are case sensitive and be aware that both the email and lastName fields use a complex mapping.
Create | Update | Enable | Disable | Delete | |||||
---|---|---|---|---|---|---|---|---|---|
Field | Mapped to value | Type | Options: | Description | |||||
externalUserId | Person.ExternalId |
x | x | Field |
- notifications: false - account data: false |
||||
See complex mapping | x | x | Complex |
- notifications: false - account data: false |
|||||
firstName | Person.Name.NickName |
x | x | Field |
- notifications: false - account data: false |
||||
lastName | See complex mapping | x | x | Complex |
- notifications: false - account data: false |
||||
locale | nl |
x | x | Fixed |
- notifications: false - account data: false |
||||
department | Person.PrimaryContract.Department.ExternalId |
x | x | Field |
- notifications: false - account data: false |
||||
expiresAt | See complex mapping | x | x | Field |
- notifications: false - account data: false |
See expiresAt |
The following settings are required to connect to the API.
Setting | Description | Mandatory |
---|---|---|
UserName | The UserName to connect to Arda Online | Yes |
Password | - | Yes |
ClientId | The CLientId to connect to Arda Online | Yes |
ClientSecret | The ClientSecret to connect to Arda Online | Yes |
BaseUrl | The URL to Arda Online | Yes |
VoucherCode | The voucherCode | Yes |
GroupId | The Id of the group that determines which courses the user can follow | Yes |
ℹ️ Make sure to toggle
Use account data from other systems
on theAccount
tab and selectActive Directory
.
function updatePersonSurnameToConvention(personObject) {
let surname;
switch (personObject.Name.Convention) {
case 'B':
surname = `${personObject.Name.FamilyName}`;
if (personObject.Name.FamilyNamePrefix) {
surname += `, ${personObject.Name.FamilyNamePrefix}`;
}
break;
case 'BP':
surname = `${personObject.Name.FamilyName} - ${personObject.Name.FamilyNamePartnerPrefix} ${personObject.Name.FamilyNamePartner}`;
if (personObject.Name.FamilyNamePrefix) {
surname += `, ${personObject.Name.FamilyNamePrefix}`;
}
break;
case 'P':
surname = `${personObject.Name.FamilyNamePartner}`;
if (personObject.Name.FamilyNamePartnerPrefix) {
surname += `, ${personObject.Name.FamilyNamePartnerPrefix}`;
}
break;
case 'PB':
surname = `${personObject.Name.FamilyNamePartner} - ${personObject.Name.FamilyNamePrefix} ${personObject.Name.FamilyName}`;
if (personObject.Name.FamilyNamePartnerPrefix) {
surname += `, ${personObject.Name.FamilyNamePartnerPrefix}`;
}
break;
default:
surname = `${personObject.Name.FamilyName}`;
if (personObject.Name.FamilyNamePrefix) {
surname += `, ${personObject.Name.FamilyNamePrefix}`;
}
break;
}
return surname;
}
updatePersonSurnameToConvention(Person);
function getActiveDirectoryEmail(){
return Person.Accounts.MicrosoftActiveDirectory.mail
}
getActiveDirectoryEmail();
function GetCurrentDate(){
return new Date()
}
GetCurrentDate();
The expiresAt attribute will only be set within the enable and delete lifecycle actions.
- Set to
Person.PrimaryContract.EndDate
within the enable lifecycle action. - Set to current date within the delete lifecycle action.
The voucherCode is a fixed value that is the same for all users.
The GroupId is a fixed value that is the same for all users.
Both the externalUserId
and mail
properties are always mandatory when updating the account within ArdaOnline.
ℹ️ For more information on how to configure a HelloID PowerShell connector, please refer to our documentation pages
ℹ️ If you need help, feel free to ask questions on our forum
The official HelloID documentation can be found at: https://docs.helloid.com/