Skip to main content

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 TypeField NameRulesAbout
StringdescriptionZero or OneA description for the user.
EmailAddressemailAddressZero or OneThe email address for the user
StringfirstNameZero or OneThe first name of the business partner representing this user.
BooleanisActiveZero or OneUser level flag denoting the active status of the user.
StringlastNameZero or OneThe last name of the business partner representing this user.
PersonpersonZero or OneLegacy field for holding information about the individual. Disposition: deprecate for removal.
PhoneAddressphoneAddressZero or OneThe phone address for the business partner representing the user.
PhysicalAddressphysicalAddressZero or OneThe physical address for the business partner representing the user.
UserAccountuserAccountsZero to ManyThe user accounts associated with this user.
UserAddressuserAddressZero to ManyLegacy field for holding address information for the user. Disposition: deprecate for removal.
StringusernameZero or OneThe username for the user.

Note omitted fields: attributeField, extendedBy, externalIdentity, recordedBy, sourceSystemCode, sourceSystemId, uniqueText

EmailAddress

Data TypeField NameRulesAbout
StringemailExactly 1The email address for the user.

PhoneAddress

Data TypeField NameRulesAbout
StringphoneNumberExactly 1The phone number for the user.

PhysicalAddress

Data TypeField NameRulesAbout
StringcityNameZero or OneThe name of the city.
CountrycountryExactly 1Reference to a Country.
Stringline1Zero or OneThe first line of the address.
Stringline2Zero or OneThe second line of the address.
StringpostalCodeZero or OneThe postal code.
StringregionNameZero or OneThe name of the region.
StringsuburbNameZero or OneThe 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 TypeField NameRulesAbout
BooleanisActiveZero or OneUser level flag denoting the active status of the user.
StringsystemNameZero or OneA human friendly name of the system the user account is for.
StringuserAccountKeyZero or OneAn 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.
UserPermissionuserPermissionsZero to ManyThe user permissions associated with this user account.
StringusernameZero or OneThe 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 TypeField NameRulesAbout
StringsystemObjectZero or OneA human friendly name of the resource/object the user account has permissions for.
StringsystemObjectIdZero or OneAn 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.
StringsystemObjectTypeZero or OneThe 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"]
}
]
}
]
}