User
Summary
An individual or entity that makes use of one or more systems. An entity could be a group, shared account, or a service account, i.e. an account not intended to be used by an individual or multiple parties.
Schema
Data Definitions
User
The top level user record. Holds information about the user, and the individual or entity which owns the user.
Data Type | Field Name | Rules | About |
---|---|---|---|
String | description | Zero or One | A description for the user. |
EmailAddress | emailAddress | Zero or One | The email address for the user |
String | firstName | Zero or One | The first name of the business partner representing this user. |
Boolean | isActive | Zero or One | User level flag denoting the active status of the user. |
String | lastName | Zero or One | The last name of the business partner representing this user. |
Person | person | Zero or One | Legacy field for holding information about the individual. Disposition: deprecate for removal. |
PhoneAddress | phoneAddress | Zero or One | The phone address for the business partner representing the user. |
PhysicalAddress | physicalAddress | Zero or One | The physical address for the business partner representing the user. |
UserAccount | userAccounts | Zero to Many | The user accounts associated with this user. |
UserAddress | userAddress | Zero to Many | Legacy field for holding address information for the user. Disposition: deprecate for removal. |
String | username | Zero or One | The username for the user. |
Note omitted fields: attributeField, extendedBy, externalIdentity, recordedBy, sourceSystemCode, sourceSystemId, uniqueText
EmailAddress
Data Type | Field Name | Rules | About |
---|---|---|---|
String | Exactly 1 | The email address for the user. |
PhoneAddress
Data Type | Field Name | Rules | About |
---|---|---|---|
String | phoneNumber | Exactly 1 | The phone number for the user. |
PhysicalAddress
Data Type | Field Name | Rules | About |
---|---|---|---|
String | cityName | Zero or One | The name of the city. |
Country | country | Exactly 1 | Reference to a Country. |
String | line1 | Zero or One | The first line of the address. |
String | line2 | Zero or One | The second line of the address. |
String | postalCode | Zero or One | The postal code. |
String | regionName | Zero or One | The name of the region. |
String | suburbName | Zero or One | The name of the suburb. |
UserAccount
A user account in a system. Each user account record in SyncHive should represent one user account in an external system.
Data Type | Field Name | Rules | About |
---|---|---|---|
Boolean | isActive | Zero or One | User level flag denoting the active status of the user. |
String | systemName | Zero or One | A human friendly name of the system the user account is for. |
String | userAccountKey | Zero or One | An identifier of the system and the user account. This field should hold values that allow for a connector to resolve the system this user account is for, and the user account to update (if required). The userAccountKey is an Alternate Key. |
UserPermission | userPermissions | Zero to Many | The user permissions associated with this user account. |
String | username | Zero or One | The username for the user account. The username may be different from the user level username. This can be an email, or an identifier to help identify the user account in an system. |
Note omitted fields: attributeField, extendedBy, externalIdentity, recordedBy, sourceSystemCode, sourceSystemId, uniqueText
UserPermission
The permissions a user has for a given system object.
Data Type | Field Name | Rules | About |
---|---|---|---|
String | systemObject | Zero or One | A human friendly name of the resource/object the user account has permissions for. |
String | systemObjectId | Zero or One | An identifier for a resource/object for which the user account has permissions for. E.g. could be a record identifier, or a part of an application. The systemObjectId is an Alternate Key. |
String | systemObjectType | Zero or One | The type of resource/object this permission is for. |
| String | systemRights | Zero to Many | The rights the user account has for the system object. |
Note omitted fields: attributeField, extendedBy, externalIdentity, recordedBy, sourceSystemCode, sourceSystemId, uniqueText
Sample JSON
{
"@type": "User",
"emailAddress": {
"@type": "EmailAddress",
"email": "[email protected]"
},
"firstName": "James",
"lastName": "Smith",
"isActive": true,
"userAccounts": [
{
"@type": "UserAccount",
"userAccountKey": "NZ_ShopEase",
"systemName": "NZ Portal",
"username": "[email protected]",
"isActive": true,
"userPermissions": [
{
"@type": "UserPermission",
"systemObject": "Auckland CBD Store",
"systemObjectId": "10001",
"systemObjectType": "Store",
"systemRights": ["SalesPersonRights", "AdminRights"]
},
{
"@type": "UserPermission",
"systemObject": "Auckland Albany Store",
"systemObjectId": "10002",
"systemObjectType": "Store",
"systemRights": ["SalesPersonRights"]
}
]
},
{
"@type": "UserAccount",
"systemName": "WarrantyPortal",
"isActive": true,
"userPermissions": [
{
"@type": "UserPermission",
"systemObject": "Warrany Portal App",
"systemObjectId": "App",
"systemRights": ["WarrantyPortal"]
}
]
}
]
}