Click or drag to resize

SDK Authorization and Auditing

In the past SDK has relied on Agency Authorization by means of an Authorization Key provided the Agency with their license. The auditability of the data inserted and updated by SDK, was traceable only by the standard EPICSDKUSER user id, which hampered the tracing of data by both Client and Applied developers, for the simple reason that there is no traceability of the data when there is a problem.

In Epic2019, there had been some changes to this. There had been two new optional parameters added to the existing MessageHeader. The header could contain up to five parameters (DatabaseName, AuthenticationKey, Culture, IntegrationKey and UserCode). Although it was possible to include the two new parameters for all SDK method calls, which will enable Integration and User validation for each call, the new auditing feature was only been implemented in five areas (Activity, Policy, Contact, Opportunity, and Client). In these areas, if included in the message header, the UserCode and the IntegrationKey will be stored in the appropriate databases when inserts or updates were performed in the supported areas.

In Epic 2020, the auditing feature has been implemented for more areas (Line, Company, Employee, Broker, Commissions, Attachment, Certificate, Service, Transaction and Claim).

SDK MessageHeader Parameters

DatabaseName

The DatabaseName is required, and is the name of the current database.

AuthenticationKey

The AuthenticationKey is required, and will be validated against the Agency licence to allow the agency access to SDK.

Culture

The Culture parameter is needed when the user wishes to use a language other than US english for their lookups, or their Attachments in SDK. Currently the valid values are 'US-en', 'CA-en', 'CA-fr' and 'GB-en' for use in respectively United States, English speaking Canada, French speaking Canada, and the United Kingdom.

IntegrationKey

The IntegrationKey parameter is only needed when tracking the Integrations changing data is required. The value will be a guid, to which the client has associated the current integration. This will be validated against a list of valid guids. The valid guids for use by all external clients can be found in the IntegrationKey section of the MessageHeader document. This IntegrationKey will be translated by SDK, and stored in the database as the human readable code associated with the key. The IntegrationKey guid if entered, must match one of these lists, otherwise access will be denied.

UserCode

The UserCode parameter is the name of the Epic user who is using the Integration to make the SDK call, and is only necessary when it is desirable to track which user has made changes to the data. This user will be validated against valid active users in the current database. If this validation fails, access to the SDK call will be denied.

In previous versions of SDK whenever data was inserted or updated by SDK, the user was recorded as EPICSDKUSER, as in the diagram below.

Activity 2018

Following the update to Epic2019, if the UserCode parameter is used on any of the implemented method calls, EPICSDKUSER will be replaced by the UserCode from the parameter. If the UserCode parameter is not on the header, or is left blank, the system will default to EPICSDKUSER as in the past.

Activity 2019