Anda di halaman 1dari 30

Assessment Central Integration Document

March 23, 2008

Building and Retaining the High-Performance Company

PROFILE S OFFICE PARK 5205 LAKE SHORE DR IVE WACO, TEXAS 76710-1732 USA 254.751.1 644 WWW.PR OFILE SINTERNAT IONAL.COM COPYRIGHT 2001-2009 PROFILES INTERNATIONAL, INC.

TA B L E O F C O N T E N T S

Introduction Whats Included in this SDK Installation Running the Sample App Integrating the Sample App Database changes required for integration Integration Points Assessment Central Integration Requirements Checklist for Successful Assessment Central Implementation General Process HR-XML Assessments Messages HR-XML Assessments Use Cases Example Messages Testing Appendix A: Version History Appendix B: Differences from HR-XML Assessment Standard Values Stored in Messages Web Services vs. POST

3 5 6 8 9 9 10 12 12 14 14 15 17 27 28 29 29 30

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 2 of 30

INTRODUCTION
Assessment Central is a rich portal providing access to a broad range of Profiles International assessments. Assessment Central is not a stand-alone website but is designed to be integrated with a clients website or processes. Assessment Central consists of four parts: a Web Service which is called to schedule Profiles Internationals assessments, a Website which takes the candidates through the assessments and collects their answers, a client-hosted callback Web Service that accepts notification when the candidate completes the assessment, and a Website which allows a client to look at a candidates assessment details include scores, reports and comparisons with other candidates and to customize the process. Assessment Centrals Web Service communication is based upon the HR-XML Assessments standard ( http://www.hr-xml.org/ ). The HR-XML Consortium is an independent, non-profit organization dedicated to the development and promotion of a standard suite of XML specifications to enable e-business and the automation of human resources-related data exchanges. The HR-XML Assessments standard sets up the following scenario allowing a Client (you) to work with an Assessment Vendor (Profiles International, Inc.) to assess a Candidate (your candidates).

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 3 of 30

Assessment Central uses a secure connection for all communication with your application. With Assessment Central, you do not have to create any new web pages on your site. You can integrate assessments into your existing web pages and workflows. 1) During some process on your system you will make a Web Service call to Assessment Central to register your candidate for an assessment. 2) Assessment Central will return a URL and credentials that the candidate can use to take their assessment. 3) You provide a link to your candidate so that they can take the assessment. 4) When the candidate has completed the assessment you will receive notification and details describing the candidates scores on the assessments. Integrate that information into your system to help you make better decisions about the candidate. 5) Then send your employees (Hiring Manager, Department Head, etc) over to Assessment Centrals portal to view information to help you make better decisions about the candidate. Data retained on your servers: Scheduling Request some data about the scheduled assessment will be retained to allow you to send the candidate to the assessment. Data retained on our servers: Assessment Central retains information about each candidate and each scheduled assessment and retains the candidates answers and scores. Assessment Central retains any Performance Models, Scheduling Templates, and Teams that might be used in this process. Information retained on Assessment Central servers may be purged after an assessment is complete or the scheduling request has expired.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 4 of 30

WHATS INCLUDED IN THIS SDK


AC SDK Documentation.doc ACSDK.Setup.msi This document. Installer for the sample application and source code for simplifying an integration. WSDL file that can be used by some tools to speed up the creation of client stubs to access Assessment Central. WSDL file that can be used by some tools to speed up the creation of server stubs to write a callback Web Service to be hosted on the clients side.

AssessmentCentral.wsdl -

ACClient.wsdl

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 5 of 30

INSTALLATION
The Assessment Central SDK Sample App is delivered as a single Microsoft .NET C# solution. It includes business components for communicating with Assessment Central and a Web Service for responding to callbacks from Assessment Central. These solutions were developed against the .NET Framework version 2.0 using Microsoft Visual Studio 2005. 1) Install ACSDK.Setup.msi This setup installs a sample app that demonstrates the functionalities available from the Assessment Central Web Service. 2) Create the sample database The sample application uses a database for storing scheduling information. The sample code also requires a table to store candidate information. The following script(s) will be installed in the ACSDK\Database folder during step 1. CreateDatabase.sql will create a database named ACLSampleApp and a SQL user named ACLSampleUser. You can skip this script if you have a database and user already in mind, otherwise, this must be the first script executed. Each of the remaining scripts references the ACLSampleApp database in the first line with a use statement. Candidate.sql will create tables and stored procedures used by the sample application to identify candidates. * Because the sample app needs some information that will already be in your system (like an individuals unique id, first name and last name), you may not need this table at all when you integrate with your own system. If you use your own candidate table, you will need to modify the code in GetCandidate.sql. ACSDK.sql will create tables and stored procedures used by the sample application. GetCandidate.sql contains the stored procedure that obtains a candidates name and details along with the assessments scheduled. * Because the sample app needs some information that will already be in your system (like an individuals unique id, first name and last name), you may end up modifying this single stored procedure to point to your existing data. 3) Configure the installation For ease of use there are application configuration items in the ACSampleApp\web.config file. Values for the following items will be provided by Profiles International, Inc.
<add <add <add <add <add <add key="AC key="AC key="AC key="AC key="AC key="AC Web Service URL" value=""/> Consumer ID" value=""/> Consumer User Name" value=""/> Consumer Password" value=""/> API Version" value=""/> Environment" value=""/> Page 6 of 30

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

<add key="Language Code" value=""/> <add key="Package ID" value=""/>

There are a couple items that need to be configured in the web.config with values provided by you:
<add key="Client Owner ID" value="ClientNameOrIDHere"/> <add key="Assessment Requester" value="ClientNameHere"/>

The Client Owner ID is merely an identifier of who is responsible for defining the elements in the Client Order section of the AssessmentOrderRequest message. This could merely be your company name. The Client Order section of the AssessmentOrderRequest allows you to supply custom data that could be used for tracking like department names, purchase order numbers. This data does not have any bearing on our processing, but will be returned to you with our callback to your client-hosted Web Service, so it may be useful to you in tracking the responses. The Assessment Requester is the individual who requested the assessment. That information is tracked by Assessment Central. In the SDK, this is a single value pulled from the web.config. Your process may likely want to make this a unique value based upon on the candidate or position, but that is up to you to change.

The sample app is designed to pick up its database connection string from the same configuration file. For purposes of running the sample, fill in your connection string value here:
<connectionStrings> <add name="Default" connectionString=""/> </connectionStrings>

If you have used the CreateDatabase.sql script exactly as provided and your database in on the same server, then insert the following connection string value:
Server=(local);UID=ACLSampleUser;PWD=Password;Database=ACLSampleApp

Note: If you are using SQL Server 2000, be sure that youve configured it to support authentication based upon both SQL Server logins and Windows accounts. By default, SQL Server 2000 is setup to accept only Windows account authentication (Tools-Menu\SQL Server Configuration Properties\Security-Tab).

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 7 of 30

RUNNING THE SAMPLE APP


NOTE: Before you can run the sample app completely, youll need to provide Profiles with the callback URL of the ACClient.asmx Web Service. To do that you may need to place the web service on an IP address outside of your firewall. If you dont do this step, you cannot receive notification when the candidate completes their assessment. In a web browser on the development machine installed, navigate to the following URL: http://localhost/ACSampleApp/default.aspx These web pages are not designed to be incorporated into your application, but merely to show you how it would be possible to integrate some its functions into your existing web pages. The New Candidate link goes to a page to create a sample candidate. This page does nothing more than create a candidate in the local system by collecting a unique candidate id, name, optional email address, and optional gender and optional salutation. To use this page, simply enter any Candidate ID (a Candidate ID is the same as a UserID or LoginID on your system) and other information and click Create Candidate. The next step is to click the Register the candidate for an assessment. You must enter a Scheduling Template id and click the Add button. You will need a Scheduling Template to be created before you can continue with this step. This will send an HR-XML AssessmentOrderRequest message to Assessment Central and will immediately return the information to allow the candidate to take an assessment. The Candidate URL on the user interface will be populated with the URL that you would give to the candidate. Your system could put this value into an email or an integrated link on your screen. If you follow the Candidate URL, this will transition you to the Profiles Assessment Center and allow you to take the assessment just as a candidate would. While youre taking the assessment you could open a second web browser and navigate to the same URL as above: http://localhost/ACSampleApp/default.aspx. You find the same candidate and then click the Check Progress button. This will send an HR-XML AssessmentStatusRequest message and retrieve the candidates current progress. When the candidate completes the assessment, Assessment Central will make a callback sending a HR-XML AssessmentResult message to the ACClient Web Service hosted on your server. NOTE: If you have not provided Profiles with the URL of this callback, then you wont receive the call and cannot go any further with your testing. The sample code will accept the callback which will provide percent matches to Performance Models in our system (where appropriate) and a URL to view the candidates results and allow you to request printable reports. Once this occurs, the URL will be populated in the Client URL of this sample application. When you follow this URL, youll be asked to login using Profiles Assessment Central credentials.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 8 of 30

INTEGRATING THE SAMPLE APP


The Sample App code is specifically designed to make integration simple. The main difference between the sample and your existing application is that you already have the candidates name and if necessary their salutation and gender. Throughout the source code of the Sample App, you will find comments that begin with //DESIGN_TODO:. Each of these includes a description of the change that is required or should be considered. You will not use the Default.aspx or CreateCandidate.aspx web pages in your application. You will use the concepts within them in other pages within your application. However you can use the ACClient.asmx web service completely as is. DATABASE CHANGES REQUIRED FOR INTEGRATION Remove the CreateDatabase.sql as needed. This script creates a new database. Youll want to include the rest of these tables and stored procedures as part of your applications database. This script also creates a SQL user account. You will likely re-use an existing SQL user account on your database or use a trusted account. Remove the Candidate.sql script to remove the creation of the ACCandidate database table and remove the usp_ACCreateCandidate stored procedure. Run the ACSDK.sql script as is to create the ACCandidateScheduling table and supporting stored procedures. Modify GetCandidate.sql script and change the usp_ACGetCandidate stored procedure to replace the results returned from the ACCandidate table and return them from a database table in your own system. If the candidate ID in your system is not a string, convert it to a string when returned. There are two possible candidate IDs that need to be returned. The UniqueCandidateID is meant to be a permanent ID that would remain with the individual if they were to transition from say a candidate to an employee. The other candidate ID is meant to be more temporary as a current identifier. You can return the same ID for both values if that fits your situation. If you dont have a value for Salutation, return a 4 and Assessment Central will ask the candidate if its required. If you dont have a value for Gender, return a 2 and Assessment Central will ask the candidate if its required. Some Profiles International reports use sentences like Mr. Smith likes or He can be to make the report flow more naturally. If you return a different set of fields you may need to change ACSDK\BusinessComponents\ClientHelper.cs in order to fill in the required values.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 9 of 30

INTEGRATION POINTS Even if you dont use any of the SDKs web pages, by using the classes provided you can save yourself considerable programming effort. For instance the RegistrationHelper class encapsulates everything needed to call our web service to schedule a candidate. Look at each of the Processes below to see if they fit your needs. Process: Scheduling a candidate Code required:
ICandidate candidate = new CandidateHelper(candidateID); string packageID = ConfigurationManager.AppSettings["Package ID"]; string assessmentRequester = ConfigurationManager.AppSettings["Assessment Requester"]; RegistrationHelper.RegisterCandidate(candidate, packageID, null, assessmentRequester);

Note: By supplying a Hashtable as the third parameter you can send additional information such as purchase order numbers or department name where the request for the assessment came from. Assessment Central will return this information to you in the AssessmentResult message when a candidate completes the assessment(s) as well as other status requests. The ACSDK does not use this information as the ReceiptID unique identifier serves as a lookup in a local database to uniquely identify the scheduling request. Process: Client is interested in a candidates progress and clicks a button on their site (or through some other automated process.) NOTE: It is possible to setup an automated reminder directly from Assessment Central, but that email would come from Profiles International and not from your company which may or may not desired. Code Required:
ICandidate candidate = new CandidateHelper(candidateID); RegistrationHelper.CheckStatus(candidate); if (candidate.Schedulings[0].Status != SchedulingStatusEnum.Completed) { //Candidate has not completed the assessment, so we could // send a gentle reminder //NOTE: Could also check candidate.Schedulings[0].ScheduledDate to // verify when the candidate was scheduled and could check // candidate.Schedulings[0].LastStatusDate to determine when the // candidate last worked on the assessment }

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 10 of 30

Process: Sending a candidate to their assessment via email Email Content Required: URL for them to take their assessment. NOTE: When the candidate first arrives at the Profiles Assessment Center site, they will be asked to create a password to be used for re-entry. They can return and resume an assessment at any time up until the scheduling request has expired. To retrieve the URL:
ICandidate candidate = new CandidateHelper(candidateID); string URL = candidate.Schedulings[0].CandidateURL;

NOTE: Even if your implementation has more than one scheduling for the candidate, the CandidateURL in each of those Scheduling objects will have the same value. Process: Sending a candidate to their assessment via your website Code Required: You can merely place a link on your site with the candidates URL. Code to receive the URL is the same as above. Process: Receiving a callback when the candidate completes their assessment. Solution: The ACClient.asmx page could be used as is to perform this step. It merely accepts the callback and then updates the candidates scheduling status. Its possible that this may mark the candidate as having completed their assessments or may have cancelled their assessments if they have expired.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 11 of 30

ASSESSMENT CENTRAL INTEGRATION REQUIREMENTS


If you use the code in the sample application included in this SDK in your own application, then youll have code that will satisfy Profiles Internationals requirements for a successful implementation. If you need to design an implementation of your own, the sample application code is a good place to start, but it must include all of the following: CHECKLIST FOR SUCCESSFUL ASSESSMENT CENTRAL IMPLEMENTATION General Requirements: 1. No user should be able to see a report they're not authorized for. General Capture Requirements: 2. Need to log errors so that you can identify / recreate any problem 3. Capture and supply the candidates first and last name. 4. Optionally supply the candidates gender and salutation to be used in reports 5. Create a unique candidate identifier. It can be any string value up to 50 characters. 6. Fill in all required fields in messages sent to Profiles International. Storage Requirements: 7. Store a record for each scheduling request made by the client system and use the ReceiptID as the unique identifier 8. Store the URL, token and key returned as a response to a scheduling request to be able to re-provide that information to your candidate 9. Store a list of Scheduling Template names along with their Scheduling Template IDs to be used upon scheduling a candidate. 10. Optionally store a list of Security Group names if the candidates should be secured against specific users in the Profiles Assessment Center. 11. Optionally store a list of Optional Code IDs and values that can be applied to candidates to facilitate better searching for candidates in Profiles Assessment Center. These values can be sourced from the clients system and allowed to be automatically added in the Profiles Assessment Center upon scheduling. General XML messaging: 12. Xml messages require all fields even though the WSDL may indicate that all fields are optional Call Limitations: 13. Calls to schedule a candidate for a particular package should not occur more than once. 14. Calls to check the status of a candidates assessments should not be automated. a. Calls should not occur more than 4 times per day for an individual candidate. 15. The Consumer Token is only valid for 8 hours. a. Calls to get a Consumer Token should not occur more than 8 times per day. To make an implementation easier: 16. Pull all system properties (ConsumerID, username, password, Assessment Central URL, Environment Name, API Version) in retrievable storage locally. 17. Write code to always trust our https URL 18. Ensure that the servers are all synchronized for time. If one server is using a different patch for daylight savings time or the time is off for other reasons, then the code in
Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c Page 12 of 30

ProductHelper.cs which uses an absolute time for synchronizing the Consumer Token across servers may cause the token to be cached longer than its usable.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 13 of 30

GENERAL PROCESS
HR-XML ASSESSMENTS MESSAGES Assessment Central is based upon release 2.5 of the HR-XML Assessments standard. The HRXML consortium is continuing to update their standard with additional features. We may implement those changes to support new features. The HR-XML Assessments standard provides the interface for four messages: HR-XML Message: AssessmentOrderRequest Purpose: This message is used as part of the Assess a Candidate use case. The purpose is to schedule a candidate to take an assessment. Response: This message responds with an AssessmentOrderAcknowledgement message which contains a unique ReceiptID and the URL and credentials to use to send the candidate to Assessment Central HR-XML Message: AssessmentStatusRequest Purpose: This message is used as part of the Query Assessment Status use case. The purpose it to inquire of a candidates progress if the assessment is not complete. Response: This message responds with an AssessmentResult message which contains the current status. If the status is Complete, Results will be provided. HR-XML Message: AssessmentCancelRequest Purpose: This message is used as part of the Cancel an Assessment use case. The purpose is to stop an assessment before the candidate completes it. Unstopped assessments will expire automatically, so this message is not required unless otherwise desired by the candidate. Response: This message responds with an AssessmentResult message with a status of Cancelled. HR-XML Message: AssessmentResult Purpose: This message is used as part of the Assess a Candidate use case. The purpose is to communicate a candidates completion status to the client. This message is initiated by Assessment Central and is sent to the clienthosted Web Service. Response: This message responds with an Acknowledge message which just indicates the date received.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 14 of 30

HR-XML ASSESSMENTS USE CASES Assess a Candidate The main process involved in any Assessment Central integration is the action of scheduling a candidate to take an assessment. The following use case diagram describes this process:

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 15 of 30

Query Assessment Status Once a candidate has been scheduled, and youve sent them to Assessment Central to take their assessments, you dont know about their progress until they complete the assessment. If you want to check on their progress, you can ask for that information through the AssessmentStatusRequest message.

Cancel an Assessment If after a candidate has been scheduled, you want to stop the candidate from taking an assessment, you need to notify Assessment Central to stop the assessment.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 16 of 30

EXAMPLE MESSAGES AssessmentOrderRequest message:


<AssessmentOrderRequest xmlns="http://ns.hr-xml.org/2004-08-02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/AssessmentOrderRequest.xsd"> The schema file is superceded by the AssessmentCentral.wsdl. The wsdl contains a superset of all of the information contained in the schema file. <ClientId idOwner="Profiles International Inc"> <IdValue name="ConsumerID">[Guid]</IdValue> <IdValue name="UserName">[Username]</IdValue> <IdValue name="Password">[Password]</IdValue> The ConsumerID, Username, and Password will be provided to you by Profiles <IdValue name="APIVersion">1</IdValue> <IdValue name="Environment">[Sandbox|Production]</IdValue> Use Sandbox when developing against our PubTest site. </ClientId> <PackageId validFrom="2006-01-24" idOwner="Profiles International Inc"> <IdValue name="SchedulingTemplateID">PXT</IdValue> The value PXT is a sample Scheduling Template ID that may not exist. You will need to provide a way to store the potential Scheduling Template IDs on your system. </PackageId> <ProviderId idOwner="Consumers Company Name Here"> <IdValue>Profiles International, Inc.</IdValue> </ProviderId> The ProviderId section is defined by you. You can put your own values for idOwner and IdValue. For almost all implementations this information is not important as you will be dealing directly with Profiles International and expect responses back directly from Profiles International. <ComparisonGroupId> <IdValue name="OptionalCode1">CodeValue</IdValue> </ComparisonGroupId> <ComparisonGroupId> <IdValue name="OptionalCode2">CodeValue</IdValue> </ComparisonGroupId> The ComparisonGroupId nodes are optional. The ComparisonGroupId node allows you to mark candidates with Optional Codes inside Profiles Assessment Center. These can be used to make searching for candidates more efficient. Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c Page 17 of 30

<ClientOrderId> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </ClientOrderId> The ClientOrderId node is an optional node allowing you to pass multiple arbitrary values which will be returned to you in the AssessmentResult message. The names and values are up to you to provide. <AssessmentRequester>Johnny Employer</AssessmentRequester> The assessment requester is the person at the client requesting that this candidate take an assessment. <AssessmentSubject> <SubjectId idOwner="Consumers Company Name Here"> <IdValue name="UniqueID">12345</IdValue> <IdValue name="CandidateID">12345</IdValue> </SubjectId> The SubjectID defines the unique id provided by the client. You can supply one or both of the UniqueID and CandidateID values. If both are provided, the Candidate ID value will be the one visible on screen inside Profiles Assessment Center. The UniqueID is expected to be maintained indefinitely for a candidate. The CandidateID is allowed to change over time. For example a candidate for a job may be given a candidate id by an applicant tracking system. Later when that candidate is an employee, he may be given an employee id. <PersonName script=""> <Affix type="formOfAddress">[Salutation= Mister,Misses]</Affix> <Affix type="gender">[Gender=Male,Female]</Affix> The Salutation and Gender values are optional. Profiles International assessments use pronouns and salutation in the printed reports to make the sentences flow more naturally. So if this information is not provided here, we will ask the candidate to provide it later. <FamilyName prefix="" primary="true">Assesse</FamilyName> <GivenName>Tommy</GivenName> <MiddleName></MiddleName> </PersonName> <ContactMethod> <Use>business</Use> <InternetEmailAddress>tommy.assesse@abcinc.com</InternetEmailAddress> </ContactMethod> The ContactMethod node is optional. The ContactMethod is where you would supply the candidates personal email address. Users of the Profiles Assessment Center can send candidates email reminders to complete their assessment either manually or automatically. </AssessmentSubject> <AssessmentLanguage>EN-US</AssessmentLanguage> Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c Page 18 of 30

AssessmentLanguage defines the language the candidate can take the assessment in. Contact your representative to determine the languages that are available to you as choices. <ResultLanguage>EN-US</ResultLanguage> The ResultLanguage defines the language that the AssessmentResult message should be returned using. <UserArea> <OwningSecurityGroup> <Name>Admin</Name> </OwningSecurityGroup> The OwningSecurityGroup node is optional. Candidates can be secured within Profiles Assessment Center so that only certain users are able to see the candidate. You can automatically place the candidate in one of those security groups by supplying the Security Group Name here. Your system will have to maintain the possible values for security groups and decide when to use each value. </UserArea> </AssessmentOrderRequest>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 19 of 30

AssessmentOrderAcknowledgement message:
<AssessmentOrderAcknowledgement xmlns="http://ns.hr-xml.org/2004-08-02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/AssessmentOrderRequest.xsd"> <ClientId idOwner="Profiles International Inc"> <IdValue name="ConsumerID">[GUID]</IdValue> </ClientId> The ClientId, ProviderId, and ClientOrderId nodes here are included because the HRXML standard requires them. The original HRXML standard was based upon a One-Way communication standard and therefore these values were required in order to verify the identity of the which request this acknowledgement was for. You will not need to use these nodes in this message only. <ProviderId idOwner="Consumers Company Name Here"> <IdValue>Profiles International, Inc.</IdValue> </ProviderId> <ReceiptId idOwner="Profiles International Inc"> <IdValue>[Guid]</IdValue> </ReceiptId> The ReceiptId value will be provided upon successful completion of scheduling. This value can be used to match this scheduling request with AssessmentResult messages sent by Profiles system at a later date. <ClientOrderId idOwner="Customer Inc"> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </ClientOrderId> <AccessPoint> <Use>business</Use> <InternetWebAddress>https://www.profilesac.com/ABCDEFGHIJ</InternetWebAddress> <Description>URL for subject to access assessment.</Description> The InternetWebAddress is the unique URL for this candidate to access and take their assessments. </AccessPoint> <AssessmentStatus> <Status>Acknowledged</Status> <Details>The assessment order has been processed.</Details> <StatusDate>2003-04-24</StatusDate> </AssessmentStatus> The AssessmentStatus/Status may return Error if youve provided a bad parameter. The Details node in that case should identify the problem with the request. When the status is an error, the ReceiptId and AccessPoint nodes will not be provided. <UserArea/> </AssessmentOrderAcknowledgement>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 20 of 30

AssessmentCancelRequest message:
<AssessmentCancelRequest xmlns="http://ns.hr-xml.org/2004-08-02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/AssessmentOrderRequest.xsd"> <ClientId idOwner="Profiles International Inc"> <IdValue name="ConsumerID">[GUID]</IdValue> <IdValue name="UserName">[Username]</IdValue> <IdValue name="Password">[Password]</IdValue> The ConsumerID, Username, and Password will be provided to you by Profiles <IdValue name="APIVersion">1</IdValue> <IdValue name="Environment">[Sandbox|Production]</IdValue> Use Sandbox when developing against our PubTest site. </ClientId> <ProviderId idOwner="Consumers Company Name Here"> <IdValue>Profiles International, Inc.</IdValue> </ProviderId> <ReceiptId idOwner="Profiles International Inc"> <IdValue>[Guid]</IdValue> </ReceiptId> Use the ReceiptId value provided in the AssessmentOrderAcknowledgment message to uniquely identify the scheduling to cancel. <ClientOrderId idOwner="Customer Inc"> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </ClientOrderId> <UserArea/> </AssessmentCancelRequest>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 21 of 30

AssessmentStatusRequest message:
<AssessmentStatusRequest xmlns="http://ns.hr-xml.org/2004-08-02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.hr-xml.org/AssessmentOrderRequest.xsd"> <ClientId idOwner="Profiles International Inc"> <IdValue name="ConsumerID">[GUID]</IdValue> <IdValue name="UserName">[Username]</IdValue> <IdValue name="Password">[Password]</IdValue> The ConsumerID, Username, and Password will be provided to you by Profiles <IdValue name="APIVersion">1</IdValue> <IdValue name="Environment">[Sandbox|Production]</IdValue> Use Sandbox when developing against our PubTest site. </ClientId> <ProviderId idOwner="Consumers Company Name Here"> <IdValue>Profiles International, Inc.</IdValue> </ProviderId> <ReceiptId idOwner="Profiles International Inc"> <IdValue>[Guid]</IdValue> </ReceiptId> Use the ReceiptId value provided in the AssessmentOrderAcknowledgment message to uniquely identify the scheduling to cancel. <ClientOrderId idOwner="Customer Inc"> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </ClientOrderId> <UserArea/> </AssessmentStatusRequest>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 22 of 30

AssessmentResult message:
<AssessmentResult xmlns="http://ns.hr-xml.org/2004-08-02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://ns.hrxml.org/2004-08-02.xsd"> <ClientId idOwner="Profiles International, Inc."> <IdValue name="ConsumerID">[GUID]</IdValue> </ClientId> <ProviderId idOwner="Customer Inc"> <IdValue>Profiles International, Inc.</IdValue> </ProviderId> <ClientOrderId> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </ClientOrderId> <ReceiptId idOwner="Profiles International Inc"> <IdValue>[Guid]</IdValue> </ReceiptId> Match this ReceiptId value to the one provided in the AssessmentOrderAcknowledgment message to identify which candidate this message is being sent for <Results xml:lang="en-US"> <Profile>PXT3</Profile> The Profile field contains the assessment identifier for the results below. <SupportingMaterials> <Id idOwner="Profiles International, Inc."> <IdValue name="Candidate ID">12345</IdValue> </Id> This Candidate ID value is not an effective means of uniquely identifying this response. The Profiles Assessment Center user interface allows users to modify Candidate IDs in our system. Any update to that information would be presented here. Use the ReceiptId above for unique identification of the Scheduling request. <EffectiveDate> <StartDate>2004-03-08</StartDate> </EffectiveDate> The EffectiveDate shows the date the candidate completed the assessment. If multiple assessments were involved, this AssessmentResult message will not have been automatically sent until all assessments are complete. <dc:title>Assessments</dc:title> <dc:format>text/html</dc:format> <ExtendedMetadata> <dc:subject>Joe Smith</dc:subject> <dc:publisher>Profiles International Inc.</dc:publisher> <dc:date>2004-03-08</dc:date> Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c Page 23 of 30

This dc:date is the date of the information in this SupportingMaterials node. </ExtendedMetadata> <ReferenceInfo> <InternetWebAddress>https://www2.profilesac.com/Assessments.aspx?cid=E9B0709D2475-4f1a-A583-77A2DDDA79EE</InternetWebAddress> The InternetWebAddress is the URL that a client user could use to follow to retrieve additional information about this candidates results. The URL is secure and the user will be challenged to provide login credentials. This URL is not to be given to the candidate. </ReferenceInfo> <Comments>Access URL</Comments> </SupportingMaterials> <OverallResult> <Description>Overall Job Match</Description> <Score type="percentile">65</Score> <Scale>1-100</Scale> </OverallResult> The OverallResult node will only be available for Profiles assessments that use Performance Models for comparison. <DetailResult> <Description>Thinking Style</Description> <Score type="percentile">80</Score> <Scale>1-100</Scale> </DetailResult> <DetailResult> <Description>Behavioral Traits</Description> <Score type="percentile">60</Score> <Scale>1-100</Scale> </DetailResult> <DetailResult> <Description>Interests</Description> <Score type="percentile">50</Score> <Scale>1-100</Scale> </DetailResult> Some Profiles assessments have additional percent match values available. Those values will appear as DetailResult nodes when available. <DetailResult> <Description>Distortion</Description> <Score type="sten">1</Score> <Scale>Distortion</Scale> </DetailResult> Some Profiles assessments measure Distortion. When provided, a value of 1 is passable. A value of 0 should be noted as the candidate may not have answered consistently and other scores should not be used in a hiring decision. Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c Page 24 of 30

</Results> <Results xml:lang="en-US"> If multiple assessments were scheduled in a single Scheduling Template, then additional Results nodes will be returned in the AssessmentResult message. <Profile>SOS3</Profile> <SupportingMaterials> <Id idOwner="Profiles International, Inc."> <IdValue name="Candidate ID">1237712882</IdValue> </Id> <EffectiveDate> <StartDate>2004-03-06</StartDate> </EffectiveDate> <dc:title>Assessments</dc:title> <dc:format>text/html</dc:format> <ExtendedMetadata> <dc:subject>Joe Smith</dc:subject> <dc:publisher>Profiles International Inc.</dc:publisher> <dc:date>2004-03-06</dc:date> </ExtendedMetadata> <ReferenceInfo> <InternetWebAddress>https://www2.profilesac.com/Assessments.aspx?cid=E9B0709D2475-4f1a-A583-77A2DDDA79EE</InternetWebAddress> The InternetWebAddress is not specific to an assessment or scheduling and could be stored once per candidate. </ReferenceInfo> <Comments>Access URL</Comments> </SupportingMaterials> <DetailResult> <Description>Distortion</Description> <Score type="sten">0</Score> <Scale>Distortion</Scale> </DetailResult> </Results> <AssessmentStatus> <Status>Completed</Status> <Details>Candidate has completed the assessment</Details> <StatusDate>2003-04-05</StatusDate> </AssessmentStatus> If the AssessmentResult message is sent automatically to your web service, then the status will be Completed. If you request status, you may also find the status to be either Scheduled or InProgress. Other possible values are Cancelled or Error. <AssessmentLanguage>en-us</AssessmentLanguage> <UserArea/> </AssessmentResult>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 25 of 30

Acknowledge message:
<Acknowledge> <ApplicationAcknowledgement> <PayloadResponseSummary> <TransportMessageId> <MessageIdType>ShowAssessmentResult</MessageIdType> <MessageId> <IdValue name="ConsumerID">[GUID]</IdValue> </MessageId> The MessageId value should be the value of your ConsumerId </TransportMessageId> <UniquePayloadTrackingId idOwner="Profiles International Inc"> <IdValue>[Guid]</IdValue> The UniquePayloadTrackingId is the ReceiptId value. </UniquePayloadTrackingId> <TransactionReceiptTimestamp >[TodaysDate]</TransactionReceiptTimestamp> Three places in the Acknowledge message require a properly formated date time stamp string (example: 5/1/2008 8:30:52 AM) <AcknowledgementCreationTimestamp >[TodaysDate]</AcknowledgementCreationTimestamp> <ReceivedPayloadSummary> <ReceivedPayloadSchemaURI>http://ns.hr-xml.org/2_5/HR-XML2_5/StandAlone/AssessmentResult.xsd</ReceivedPayloadSchemaURI> <EntityInfo> <EntityInstanceAxisXPath >/AssessmentResult</EntityInstanceAxisXPath> <Count>1</Count> <EntityShortName>AssessmentResult</EntityShortName> </ReceivedPayloadSummary> <ProcessingTimestamp description="Complete" >[TodaysDate]</ProcessingTimestamp> </PayloadResponseSummary> <PayloadDisposition> <EntityIdentifier> <IdValue name="PO Number">53RR20031618</IdValue> <IdValue name="Department Name">Administration</IdValue> </EntityIdentifier> </PayloadDisposition> </ApplicationAcknowledgement> </Acknowledge>

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 26 of 30

TESTING
When developing an Assessment Central implementation, Profiles International provides a set of PubTest servers with which you can test and re-test your integration. For successful testing, youll need to create a test environment that is available outside of your firewall. Youll need to provide Profiles International with a URL of your callback Web Service (that handles the ShowAssessmentResult HR-XML message) so that we can send you notifications when candidates complete their assessment. Profiles International personnel needs to verify functionality before you can move your code to production. You cannot point your Production Application against our PubTest Assessment Central servers. The candidate results will be marked temporary and you could lose access to your candidates data, so its important that you only point a Production Application against our Production Assessment Central servers.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 27 of 30

APPENDIX A: VERSION HISTORY

APIVersion Release Date 1 3/24/2008

Description Initial Release. Based upon HR-XML Assessments v. 2.5

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 28 of 30

APPENDIX B: DIFFERENCES FROM HR-XML ASSESSMENT STANDARD


There are technically not any differences in Assessment Central from the HR-XML Assessment standard. Assessment Central implements the HR-XML Assessments 2.5 message syntax exactly. VALUES STORED IN MESSAGES The HR-XML standard is designed to be flexible. It is designed to have some open interpretation of the data that should be passed. It is not possible to take an HR-XML message intended for one vendor and send it to another vendor without changes. HR-XML Assessments also include support for additional XML nodes that dont make sense for Assessment Central. Example: ClientID The very first node in an AssessmentOrderRequest is the ClientID. The ClientID node is of the EntityIDType type (the EntityIDType is used extensively throughout the standard). Heres an example provided by HR-XML:
<ClientId idOwner="Provider Inc"> <IdValue name="ClientCode">OurClient-1342</IdValue> </ClientId>

The idOwner attribute identifies the organization which will define the fields inside this element that will be used to identify the client (you). Therefore for Assessment Central, Profiles International Inc. is the owner and weve established the following information needs to be included in this section of the request:
<ClientId idOwner="Profiles International, Inc."> <IdValue name="ConsumerID">C68CE8BF-40DF-400f-8741-01B959B4A716</IdValue> <IdValue name="UserName">username</IdValue> <IdValue name="Password">pwd</IdValue> <IdValue name="APIVersion">1</IdValue> <IdValue name="Environment">Sandbox</IdValue> </ClientId>

The EntityIDType allows for multiple IdValue elements and uses them in many situations. Profiles has used these multiple pieces of data to uniquely identify requests that originate from its clients.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 29 of 30

WEB SERVICES VS. POST The HR-XML consortium has been around for a while and some of its standards pre-date Web Services as a protocol for inter-computer communication. As such the HR-XML Assessments version 2.5 standard did not have an ratified Web Service interface. Our Web Service is based upon their proposal for a Web Service interface. In both cases, the protocol is merely a transport for the HR-XML Assessments messages such as AssessmentOrderRequest.

Last Updated: 5/4/2012 Copyright 2004-2009 Profiles International, In c

Page 30 of 30

Anda mungkin juga menyukai