• No results found

HireDesk API V1.0 Developer s Guide

N/A
N/A
Protected

Academic year: 2021

Share "HireDesk API V1.0 Developer s Guide"

Copied!
60
0
0

Loading.... (view fulltext now)

Full text

(1)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 1

HireDesk API V1.0 Developer’s Guide

Revision 1.4

(2)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 2

Audience

This document is intended for anyone who wants to understand, and use the Hiredesk API. If you just want to write code, you can download the sample code.

But you might want to read this anyway to understand what is going behind the scenes.

The document assumes that you understand the basics of Hiredesk application data, HTTP protocol, concept of resource in HTTP, XML, and namespaces. For more information about these see the references section of this document.

This document doesn’t use any particular programming language. You can use Hiredesk API using any language that allows you to send HTTP requests, and parse XML-based responses.

Overview

The Hiredesk API is implemented as REST web services. REST APIs consist of simple URLs describing resources, which can be manipulated using standard HTTP GET, POST calls. This means you can easily construct request URLs that will work in your code, and on the browser. To use the API, you construct the request URL and send it using appropriate HTTP verb. For example sending the following request will get details of candidate with ID 14531.

GET http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay

&sig=06AC897656E

Once you have the URL of a resource you can use standard HTTP verbs to

manipulate the resource. To query a resource you will use a HTTP GET request as shown above.

To create a new resource you will use HTTP POST request. For example the following request will create a new candidate. The details of the candidate will be supplied as post data in request body.

POST http://api.hiredesk.net/v1/candidates?comp=MyCompnay

&sig=06AC8979999

(3)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 3

To update a resource send a HTTP PUT request to the resource URL. The updated data will be in the request body. The following example will update a candidate record.

PUT http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay

&sig=06AEF99821E

To delete resources you will use HTTP DELETE requests. To delete a candidate send a delete request as shown.

DELETE http://api.hiredesk.net/v1/candidates/14531?comp=MyCompnay

&sig=06A134421E

Turning on API access

Before you can use the API, you need to turn on API access in your Hiredesk system. Go to the system administration module, and under General settings/API section, select the APIs you need. For each API you can select read only access, read/write access, and delete access.

(4)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 4

If you are turning on API access for the first time a secret key will be generated, and displayed on the screen. Note down your secret key and keep it secure. You will need the secret key to sign your API calls. Never share your secret key with anyone.

Anatomy of a request URL

All API requests are constructed as following

[Protocol identifier]://[Host name]/[API version]/[Resource identifier]?[Querystring parameters]

The protocol identifier is followed by the host name. The beginning of a request will look like http://api.hiredesk.net, where api.hiredesk.net is the host name. Your host name depends on which site your Hiredesk system is hosted, and may change.

The host name is returned as response to the authorization request. You should always retrieve the host name from the response to authorization request.

A version number follows the host name. All Hiredesk API URLs are versioned. This minimizes the impact of API changes on client side code. Generally new versions are designed to be backward compatible with older API revisions. However there might be occasions when we have to make an incompatible API change.

Additionally we may have to add additional fields. Depending on how the client side code is written, it might not handle the changes. Including a version number in the request URL guarantees that the request will receive the response it expects. A versioned URL looks like http://api.hiredesk.net/v1, where v1 is the version number.

Following the version number is the resource identifier. A resource identifier can be a resource name, or path to a resource. The following examples show different types of resource identifiers

/candidates, identifies all candidate records in the system. You will use it get a list of candidates.

/candidates/14531, identifies candidate record with ID 14531. You will use it to get details about the candidate, or to update the candidate record.

/candidates/14531/jobs, identifies all jobs candidate 14531 has applied. You will use it to get a list of all jobs the candidate has applied.

In most cases you won’t have to construct the resource identifiers. Resource identifiers will be returned in responses to queries. For example if you query for a list of candidates the response will contain URLs for the returned candidate records.

(5)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 5

<?xml version="1.0" encoding="utf-8"?>

<Candidates ...>

<Candidate href=”http://api.hiredesk.net/v1/candidates/7330”>

<CandidateRecordInfo>

...

</CandidateRecordInfo>

...

</Candidate>

<Candidate href=”http://api.hiredesk.net/v1/candidates/12228”>

<CandidateRecordInfo>

...

</CandidateRecordInfo>

...

</Candidate>

...

</Candidates>

The last part of a request URL is a list of querystring parameters. Querystring parameters are used to control the response from a request e.g. paging, sorting, specifying response format etc. The parameters take the form argument=value, where the arguments and values are urlencoded. Multiple parameters are separated by an ampersand (&). The following is an example of querystring parameters.

?comp=MyCompany&results=30&start=21&sort=city&sig=FF32EBD4555 The API documentation for each request lists all of the mandatory and optional querystring parameters, in addition to describing the request and response structures.

Mandatory parameters

The following querystring parameters are mandatory for all requests. If these parameters are not supplied the request will be rejected.

Parameter Description

comp Your company short name as used to log in to the Hiredesk system

sig Signature of the request, constructed using your secret key, this must be the last parameter in the request

(6)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 6

Optional parameters

The following querystring parameters are optional. If you don’t supply them a default value will be assumed.

Parameter Description

format Specifies the format of the response. Valid values are

• xml

Default value: xml Applies to: All requests

results Number of results returned. Valid values are

• Any integer from 1 to 50 Default value: 20

Applies to: Requests that return a list of results

p The starting result position to return. Valid values are

• Any integer starting from 1 Default value: 1

Applies to: Requests that return a list of results

sort Sort the results based on this parameter. Valid values are specified in documentation of each request.

Default value: none

Applies to: Requests that return a list of results dir Sort order of the results. Valid values are

asc , sort in ascending order des, sort in descending order Default value: asc

Applies to: Requests that return a list of results

(7)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 7

POST and PUT requests

You will use POST and PUT requests to add and update resources respectively.

POST and PUT requests differ from GET and DELETE requests, as they contain data in the request body. You will supply the data for the resource to be created or updated, in the body of the request. The following PUT request updates the first name and last name of a candidate.

PUT http://api.hiredesk.net/v1/candidates/12228?comp=MyCompnay

&sig=06AEF99DE1E

<?xml version="1.0" encoding="UTF-8"?>

<Candidates>

<Candidate>

<CandidateRecordInfo>

<Id>

<IdValue name="source_id">12228</IdValue>

</Id>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Patricia</GivenName>

<FamilyName>Bentley</FamilyName>

<EmailAddress />

</PersonName>

</PersonalData>

</CandidateProfile>

</CandidateRecordInfo>

</Candidate>

</Candidates>

Character encoding

You need to specify the character encoding of your requests by setting the charset http header to correct value.

Content-type: application/x-www-form-urlencoded; charset=utf-8

If the charset header is not there, ISO-8859-1 will be assumed as default encoding.

It’s important that the charset header and actual encoding of characters in the request match. Otherwise signature validation will fail.

Currently we support two encodings for incoming requests, ISO-8859-1 and UTF-8.

Outgoing responses are always encoded in UTF-8.

(8)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 8

Signing your requests

You need to sign all API requests using your secret key. Requests without signature will be rejected. The signature verifies that the request came from you, and

protects your data. Specifically it helps prevent replay attacks and tampering the request. The signature is a base64 encoded MD5 hash, constructed using the following algorithm:

path = relative URL of the request

args = arguments to the request, not counting sig, formatted in arg=val pairs postdata = any data that is posted, applies to post and put requests only secret = your secret key

request_str = concatenate (path, args, postdata, secret) signature = md5(request_str)

Note that the secret key is used to hash the URL and create the sig parameter, but it is not a query parameter itself.

The following pseudo function shows a generic approach to signing a request. The function takes a URL such as

http://api.hiredesk.net/v1/candidates/45221?comp=MyComp and signs it with the secret key.

function sign_url(url, secret, postdata) { parts = parse_url(url);

relative_uri = "";

if (isset(parts["path"])){

relative_uri .= parts["path"];

}

if (isset(parts["query"])) {

$relative_uri .= "?" . parts["query"];

}

if (isset(postdata)) { relative_uri .= posdata;

}

sig = base64_encode(md5(relative_uri . secret));

signed_url = url . "&sig=sig";

return signed_url;

}

(9)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 9

HTTP status codes

All API requests return standard HTTP status code to indicate the status of the request. The following table describes what various HTTP status codes returned.

Code Explanation 200 OK No error

201 CREATED Creation of a resource was successful

400 BAD REQUEST Invalid request URL or header or parameter, or post data

401 UNAUTHORIZED No authorization token or expired authorization token

403 FORBIDDEN Not authorized to perform this action 404 NOT FOUND Resource not found

500 INTERNAL SERVER ERROR Internal error. This is the default code that is used for unrecognized errors

503 SERVICE UNAVAILABLE Rate limit has exceeded or server is busy Authorizing your requests

All API requests are validated by an authorization token. You will need your Hiredesk username and password to get the authorization token. To receive an authorization token, send a post request to the following URL

http://api.hiredesk.net/login

The POST body should contain a set of parameters, as described in the following table. They should look like parameters passed by an HTML form, using the application/x-www-form-urlencoded content type.

Parameter Description

Username Hiredesk user name Password Hiredesk password A sample login request will look like

http://api.hiredesk.net/login?comp=MyCompany&sig=FF3451987

If the request fails (API access is not turned on, wrong username or password), you'll receive an HTTP 403 forbidden status code.

(10)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 10

If it succeeds, then the response from the service is an HTTP 200 OK status code, plus a long alphanumeric code and, the API host name in the body of the response.

The response to the authorization request looks like

HDAPIauth=A25F21AB819B91C6D7E6E7D53DCCF32D619C9F2E hostname=apina3.hiredesk.net

The “auth” value is the authorization token that you'll send with your request. The

“hostname” value is the API host name you will use for subsequent API calls.

If your client software supports cookies, the authorization response will set a cookie named “HDAPIauth”, containing the authorization token. The cookie will be passed automatically when you make subsequent requests. If your client doesn’t support cookies, you will have to set the authorization header in requests, using the following format:

HDAPIauth=<AuthToken>

Where <AuthToken> is the authorization token returned by the login request.

An authorization token is valid for 30 minutes. After 30 minutes you will need to acquire a new authorization token by making a login request.

When authorizing a request the API server does the following:

• Check if the API request is allowed. For example if you have only turned on read requests then create and update requests will not be allowed.

• Check if the user has permission to access the resource. For example if the Hiredesk user doesn’t have permission to access candidate data, then request for a candidate record will not be allowed.

If any of the checks fail, you will receive an HTTP 403 forbidden status.

Batch inserts/updates

Some API requests allow creating or updating multiple records in a single request.

Batch requests should be sent as an HTTP POST or PUT to the request URL. The body of the request will contain the data for the records to be created or updated.

Batch operations are limited to 20 records per request. If your request body contains more than 20 records, then only first 20 records will be processed.

(11)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 11

Rate limits

Rate limits are imposed as a limit on the number of API requests made per company during a one-hour window. The limit is set to 60 requests per hour per company. We begin counting the first time we see an API call from the company.

Then one hour later, we reset the counters for the company.

When you exceed the specified limit for any given service, you'll receive an HTTP 503 service unavailable status. Further calls will be rejected till one hour has passed till the first call.

Web site structure

URL Description

http://api.hiredesk.net API home page http://api.hiredesk.net/login API login page

http://api.hiredesk.net/docs API Documentation home page http://api.hiredesk.net/samplecode Sample code home page

http://api.hiredesk.net/schemas XML schema home page http://api.hiredesk.net/ns XML namespace home page

References

Downloadable sample code

HTTP 1.1 method definitions; specification for GET, POST, PUT, and DELETE HTTP 1.1 status code definitions

Representational State Transfer (REST) Building Web Services the REST Way A technical introduction to XML

XML Namespaces by Example

(12)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 12

API reference

Candidate API Resources

The following resources are available in Candidate API

Resource HTTP verbs

supported

Description

/candidates GET Searches and gets a

list of candidates POST Adds single

candidate, batch add candidates

PUT Updates a single

candidate or batch updates candidates DELETE Batch deletes

candidates

/candidates/[candidate id] GET Gets single candidate details

DELETE Deletes single candidate

/candidates/[candidate id]/jobs GET Gets the list of jobs the candidate applied for

/candidates/[candidate id]/jobs/[job id]

GET Reports the current stage of the job the candidate is in DELETE Removes the

candidate from the job

(13)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 13

Searching candidates

Relative URI /v1/candidates/

Method GET

Query string q The search criteria.

comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

results Number of results returned

Valid values are: Any integer from 1 to 50

Default value: 20

p The starting result position to return Valid values are: Any integer >= 1 Default value: 1

dir Sort order of the results. Valid values are

asc , sort in ascending order des, sort in descending order Default value: asc

sort Sort the results based on this parameter. Valid values: any of the search attributes

Default value: none

Post data None

Returns on success

200 OK and Candidate XML Sample

Response

Search Candidate Response XML sample

The search criteria must follow certain rules. Below is the grammar and samples:

Grammar q

[ predicates ] predicates

(predicate || predicate) && predicates

(14)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 14

predicate

attribute comp_op constant_expression attribute

FirstName LastName Email Phone Address City State Zip Country Status Source DateAdded DateModified JobID

JobTitle Stage comp_op

=

>

<

>=

<=

<>

* (LIKE and goes after the constant expression)

(15)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 15

constant_expression

“constant”

“constant”*

constant string

Dates need to be in YYYY-MM-DD format and in UTC Samples

q=[FirstName="john"&&dateadded>"2006-05-26"]

q=[FirstName="john"||LastName="sm"*]

Getting a candidate

Relative URI /v1/candidates/[Candidate ID]

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success

200 OK and Candidate XML

Sample Response Get Candidate Response XML sample Updating a candidate

See Batch operations – Updating candidates

(16)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 16

Adding a candidate

Relative URI /v1/candidates

Method POST

Query string comp Your company short name

sig Signature of the request

Post data Candidate XML to add – Can be either a <StructuredResume>

or a <NonXMLRresume>. The two schemas are mutually exclusive, with <NonXMLRresume> taking priority. If a

<NonXMLRresume> exists in the post data any

<StructuredResume> in the post data will be ignored. Both schemas will be depicted in the following sample XML. . NOTE: When submitting <NonXMLRresume>, the

<Attachment Reference> should contain the name of the file.

This is used to decipher the mime-type for the Base64 encoded content.

Returns on success 201 CREATED and Candidate id of the added candidate Sample Request Add candidate Request XML sample

Deleting a candidate

Relative URI /v1/candidates/[Candidate ID]

Method DELETE

Query string comp Your company short name sig Signature of the request

Post data None

Returns on success 200 OK

Getting status of a candidate in a particular job

Relative URI /v1/candidates/[Candidate ID]/jobs/[job id]

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success 200 OK

Sample Response Get status of a candidate in a particular job Response XML sample

(17)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 17

Removing a candidate from a job

Relative URI /v1/candidates/[Candidate ID]/jobs/[job id]

Method DELETE

Query string comp Your company short name sig Signature of the request

Post data None

Returns on success 200 OK

Getting all jobs that a candidate applied for

Relative URI /v1/candidates/[Candidate ID]/jobs

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success 200 OK and job list XML

Sample Response Get all jobs that a candidate applied for Response XML sample

Batch operations Adding candidates

Relative URI /v1/candidates

Method POST

Query string comp Your company short name sig Signature of the request

Post data XML with a list of candidates – Can be multiples of either

<StructuredResume> or <NonXMLRresume>. The two schemas are mutually exclusive, with

<NonXMLRresume> taking priority. If

<NonXMLRresume>(s) exists in the post data any

<StructuredResume>(s) in the post data will be ignored.

Both schemas will be depicted in the following sample XML. NOTE: When submitting <NonXMLRresume>, the

<AttachmentReference> should contain the name of the file. This is used to decipher the mime-type for the Base64 encoded content.

Returns on success

201 CREATED and count of candidates added

(18)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 18

Sample Request Add Candidates Request XML sample Updating candidates

Relative URI /v1/candidates

Method PUT

Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates

Returns on success

200 OK and count of candidates updated Sample Request Update Candidates Request XML sample Deleting candidates

Relative URI /v1/candidates

Method DELETE

Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates

Returns on success

200 OK and count of candidates deleted Sample Request Delete Candidates Request XML sample

(19)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 19

Job API

Resources

The following resources are available via the Job API

Resource HTTP verbs

supported

Description

/jobs/talentportals GET Gets a list of active

Talent Portals.

Note: Hidden Talent Portals will be

excluded

/jobs/talentportal/[talent portal id] GET Gets a list of jobs posted in the specific talent portal

/jobs/[job id] GET Gets the details for a

single job

/jobs GET Searches and gets a

list of jobs.

POST Adds a single job.

NOTE: Currently does not support batch adding jobs PUT Updates a single job.

NOTE: Currently does not support batch updating jobs /jobs/[job id]/candidates GET Gets all candidates

who applied for the job

POST Adds single

candidate, batch add candidates to a job

(20)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 20

Getting a list of Talent Portals

Relative URI /v1/jobs/talentportals

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success 200 OK

Sample Response Get List of Talent Portals Response XML sample Getting list Jobs for a Talent Portal

Relative URI /v1/jobs/talentportal/[Talent Portal Id]

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success 200 OK

Sample Response Get List of Jobs for Talent Portals Response XML sample

Getting details of a job

Relative URI /v1/jobs/[Job ID]

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success

200 OK and Job XML

Sample Response Get Job Response XML sample

Comments/Notes Currently, only the Description tab of the job/requisition is output under the <UserArea> of the response.

(21)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 21

Searching jobs

Relative URI /v1/jobs/

Method GET

Query string q The search criteria.

comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

results Number of results returned

Valid values are: Any integer from 1 to 50

Default value: 20

p The starting result position to return Valid values are: Any integer >= 1 Default value: 1

dir Sort order of the results. Valid values are

asc , sort in ascending order des, sort in descending order Default value: asc

sort Sort the results based on this parameter. Valid values: any of the search attributes

Default value: none

Post data None

Returns on success

200 OK and XML with limited job information and count of jobs

404 NOT FOUND - if no results were found for search criteria

Sample Response

Search Jobs Response XML sample

(22)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 22

Grammar

Please refer to Grammar section under Candiadte Search Limitations

NOTE: Currently only supports searching for all active jobs that the currently logged in user is a team member of

Example:

Search for job that the currently logged in user is a team member of /jobs/?q=[myjobs=true]

Adding a job

Relative URI /v1/jobs/

Method POST

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml Post data XML with a list of jobs

Returns on success

201 OK and a count of jobs added Sample Response Add Job Request XML sample Updating a job

Relative URI /v1/jobs/

Method PUT

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml Post data XML with a list of jobs

Returns on success

200 OK and Job XML

Sample Response Update Job Request XML sample

(23)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 23

Comments/Notes When updating a job, when any of the team members including the Team Lead is being modified

(add/remove/change), nodes for ALL team members including the Team Lead must be specified in the XML.

Likewise when any of the Clients including the Primary Client is being modified (add/remove/change), nodes for ALL clients including the Primary Client must be

specified in the XML.

If the Primary Client needs to be removed, an empty

<PositionSupplier relationship=”primary hiring manager”> node must be specified in the XML.

NOTE: This will remove all clients associated with that job.

Adding candidates to a job

Relative URI /v1/jobs/[job id]/candidates

Method POST

Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates

Returns On Success 201 CREATED

Count of candidates added to the job Reporting per candidate

added/attempted

On Failure 404 NOT FOUND if the specifed job was not found

412 PRE CONDITION FAILED if the job status doesn’t allow the addition of candidates

Sample Request Add Candidates to a job Request XML sample

(24)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 24

Getting all candidates for a job

Relative URI /v1/jobs/[job id]/candidates

Method GET

Query string comp Your company short name sig Signature of the request format Format of the response

Valid values are: xml Default value: xml

Post data None

Returns on success 200 OK and candidate list XML 404 NOT FOUND job not found

Sample Response Get all candidates for a job Response XML sample Deleting candidates from a job

Relative URI /v1/jobs/[job id]/candidates

Method DELETE

Query string comp Your company short name sig Signature of the request Post data XML with a list of candidates

Returns On Success 200 OK

Count of candidates deleted from the job

Sample Request Add Candidates to a job Request XML sample

(25)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 25

Appendices

This section contains sample XMLs for requests and responses related to different API calls

Candidate API XML Samples

Search Candidate Response XML sample

<?xml version="1.0" encoding="utf-8" ?>

<Candidates start="1" count="7">

<Candidate href="http://api.hiredesk.net/v1/candidates/12f1a93d-754a-4562-8402- acf5a645473d">

<CandidateRecordInfo>

<Id>

<IdValue name="source_id">10946</IdValue>

<IdValue name="pers_id">12f1a93d-754a-4562-8402- acf5a645473d</IdValue>

</Id>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Jonathan</GivenName>

<FamilyName>Clarck</FamilyName>

<EmailAddress />

</PersonName>

</PersonalData>

</CandidateProfile>

</CandidateRecordInfo>

</Candidate>

<Candidate href="http://api.hiredesk.net/v1/candidates/12dd97f1-6067-4fc4-9bbf-ff61caaad909">

<CandidateRecordInfo>

<Id>

<IdValue name="source_id">5029</IdValue>

<IdValue name="pers_id">12dd97f1-6067-4fc4-9bbf- ff61caaad909</IdValue>

</Id>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Jonathan</GivenName>

<FamilyName>linux</FamilyName>

<EmailAddress />

</PersonName>

</PersonalData>

</CandidateProfile>

</CandidateRecordInfo>

</Candidate>

<Candidate href="http://api.hiredesk.net/v1/candidates/127c8c54-3a00-4743-8b3d- 1eaf53a2a697">

<CandidateRecordInfo>

<Id>

<IdValue name="source_id">10425</IdValue>

<IdValue name="pers_id">127c8c54-3a00-4743-8b3d- 1eaf53a2a697</IdValue>

</Id>

(26)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 26

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Jonathan</GivenName>

<FamilyName>Smith</FamilyName>

<EmailAddress>[email protected]</EmailAddress>

</PersonName>

</PersonalData>

</CandidateProfile>

</CandidateRecordInfo>

</Candidate>

</Candidates>

Get Candidate Response XML sample

<?xml version="1.0" encoding="UTF-8" ?>

<Candidate>

<CandidateRecordInfo>

<Id>

<IdValue name="source_id">10425</IdValue>

<IdValue name="pers_id">907c8c54-3a00-4743-3344r-1eaf53a2a697</IdValue>

</Id>

</CandidateRecordInfo>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Pissa</GivenName>

<PreferredGivenName>Jon</PreferredGivenName>

<MiddleName>A.</MiddleName>

<FamilyName>Smith</FamilyName>

<Affix type="generation"></Affix>

<Affix type="qualification"></Affix>

</PersonName>

<ContactMethod>

<Location>home</Location>

<Telephone>

<InternationalCountryCode>1</InternationalCountryCode>

<AreaCityCode>604</AreaCityCode>

<SubscriberNumber>1234567</SubscriberNumber>

<Extension></Extension>

</Telephone>

<InternetEmailAddress>[email protected]</InternetEmailAddress>

<InternetWebAddress></InternetWebAddress>

<PostalAddress>

<CountryCode>Canada [CA]</CountryCode>

<PostalCode>R1W2A1</PostalCode>

<Region>British Columbia [BC]</Region>

<Municipality>Vancouver</Municipality>

<DeliveryAddress>

<AddressLine>123 Main St</AddressLine>

</DeliveryAddress>

</PostalAddress>

</ContactMethod>

<ContactMethod>

<Location>office</Location>

<Telephone>

(27)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 27

<InternationalCountryCode></InternationalCountryCode>

<AreaCityCode></AreaCityCode>

<SubscriberNumber></SubscriberNumber>

<Extension></Extension>

</Telephone>

<InternetWebAddress></InternetWebAddress>

<PostalAddress>

<CountryCode></CountryCode>

<PostalCode></PostalCode>

<Region></Region>

<Municipality></Municipality>

<DeliveryAddress>

<AddressLine></AddressLine>

</DeliveryAddress>

</PostalAddress>

</ContactMethod>

<PersonDescriptors>

<LegalIdentifiers>

<PersonLegalId>

<IdValue name=""></IdValue>

</PersonLegalId>

<MilitaryStatus></MilitaryStatus>

<VisaStatus></VisaStatus>

</LegalIdentifiers>

<DemographicDescriptors>

<Race></Race>

<Nationality></Nationality>

<Religion></Religion>

</DemographicDescriptors>

<BiologicalDescriptors>

<DateOfBirth></DateOfBirth>

<GenderCode>0</GenderCode>

<DisabilityInfo>

<Type></Type>

</DisabilityInfo>

</BiologicalDescriptors>

</PersonDescriptors>

<UserArea>

<ContactMethod type="other">

<InternetEmailAddress></InternetEmailAddress>

<InternetEmailAddress></InternetEmailAddress>

<Telephone type="Fax">

<InternationalCountryCode></InternationalCountryCode>

<AreaCityCode></AreaCityCode>

<SubscriberNumber></SubscriberNumber>

<Extension></Extension>

</Telephone>

<Telephone type="Cell">

<InternationalCountryCode></InternationalCountryCode>

<AreaCityCode></AreaCityCode>

<SubscriberNumber></SubscriberNumber>

<Extension></Extension>

</Telephone>

</ContactMethod>

</UserArea>

</PersonalData>

<Resume>

<StructuredResume>

<Objective>Seeking full time employment in which I gan use my experience

(28)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 28

and knowledge.</Objective>

<EmploymentHistory>

<EmployerOrg index="1">

<EmployerOrgName>ABC Corporation</EmployerOrgName>

<EmployerContactInfo>

<LocationSummary>

<Municipality>Vancouver</Municipality>

<Region>British Columbia [BC]</Region>

<CountryCode>Canada [CA]</CountryCode>

</LocationSummary>

</EmployerContactInfo>

<PositionHistory>

<Title>Supervisor</Title>

<OrgName>

<OrganizationName></OrganizationName>

</OrgName>

<OrgIndustry primaryIndicator="false">

<IndustryDescription>Consulting/Contracting</IndustryDescription>

</OrgIndustry>

<OrgSize>100</OrgSize>

<Description>Establish and maintain management procedures.</Description>

<StartDate>

<YearMonth>2005-08</YearMonth>

</StartDate>

<EndDate>

<YearMonth>2007-06</YearMonth>

</EndDate>

<Compensation>

<OtherCompensation type="Hourly"

currency=""></OtherCompensation>

<OtherCompensation type="Daily"

currency=""></OtherCompensation>

<OtherCompensation type="Yearly"

currency="">$76k-$80k</OtherCompensation>

<OtherCompensation type="Monthly"

currency=""></OtherCompensation>

</Compensation>

</PositionHistory>

<UserArea />

</EmployerOrg>

<EmployerOrg index="2">

<EmployerOrgName>Basic Solutions</EmployerOrgName>

<EmployerContactInfo>

<LocationSummary>

<Municipality>Vancouver</Municipality>

<Region>British Columbia [BC]</Region>

<CountryCode>Canada [CA]</CountryCode>

</LocationSummary>

</EmployerContactInfo>

<PositionHistory>

<Title>Manager</Title>

<OrgName>

<OrganizationName></OrganizationName>

</OrgName>

<OrgIndustry primaryIndicator="false">

(29)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 29

<IndustryDescription></IndustryDescription>

</OrgIndustry>

<OrgSize>60</OrgSize>

<Description>Complete plans provided in an effective and timely manner. Establish and maintain management procedures.</Description>

<StartDate>

<YearMonth>2002-08</YearMonth>

</StartDate>

<EndDate>

<YearMonth>2005-06</YearMonth>

</EndDate>

<Compensation>

<OtherCompensation type="Hourly"

currency=""></OtherCompensation>

<OtherCompensation type="Daily"

currency=""></OtherCompensation>

<OtherCompensation type="Yearly"

currency="">$31k-$40k</OtherCompensation>

<OtherCompensation type="Monthly"

currency=""></OtherCompensation>

</Compensation>

</PositionHistory>

<UserArea />

</EmployerOrg>

</EmploymentHistory>

<EducationHistory>

<SchoolOrInstitution index="1" schoolType="Private College">

<School>

<SchoolName>First College</SchoolName>

</School>

<LocationSummary>

<Municipality>Vancouver</Municipality>

<Region>British Columbia [BC]</Region>

<CountryCode>Canada [CA]</CountryCode>

<PostalCode>X1W8A1</PostalCode>

</LocationSummary>

<Degree>

<DegreeName>Bachelors Of Commerce [B.

Com]</DegreeName>

<DegreeDate>

<YearMonth>11/2004</YearMonth>

</DegreeDate>

<OtherHonors></OtherHonors>

<DegreeMajor>

<Name>Accountancy</Name>

</DegreeMajor>

<DegreeMinor>

<Name></Name>

</DegreeMinor>

</Degree>

<Measure measureType="GPA">

<MeasureSystem>GPA</MeasureSystem>

<MeasureValue>3.66-4.00</MeasureValue>

</Measure>

<DatesofAttendance>

<StartDate>

<YearMonth>11/2002</YearMonth>

</StartDate>

(30)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 30

</DatesofAttendance>

<UserArea />

</SchoolOrInstitution>

</EducationHistory>

<LicensesandCertifications>

<LicenseorCertification index="1">

<Name></Name>

<EffectiveDate>

<ValidFrom>

<YearMonth></YearMonth>

</ValidFrom>

<ValidTo>

<YearMonth></YearMonth>

</ValidTo>

</EffectiveDate>

<Description></Description>

</LicenseorCertification>

<LicenseorCertification></LicenseorCertification>

</LicensesandCertifications>

<Qualifications>

<Competency index="1">

<CompetencyID id="">

<competencyWeight>

<StringValue></StringValue>

</competencyWeight>

</CompetencyID>

</Competency>

</Qualifications>

<Languages>

<Language>

<LanguageCode></LanguageCode>

<LanguageCode></LanguageCode>

<LanguageCode></LanguageCode>

</Language>

</Languages>

<Associations>

<Association index="1">

<Name></Name>

<StartDate></StartDate>

<EndDate></EndDate>

<Comments></Comments>

</Association>

</Associations>

</StructuredResume>

<NonXMLResume>

<TextResume><!-- If binary Base64 Encoded text --->

1VSUklDVUxVTSBWSVRBRQ0KSmFtZXMgQk9ORA0KMTIzNCBNYXBsZSBT dHJl

XQNCkFtaXR5dmlsbGUsIE5lYnJhc2thDQoxMjMzNSBVU0ENClTDqWwgOiAxI D

MxMyA1NTUgMTIzNA0KRS1tYWlsIDoganNvbmdAaGlyZWRlc2suY29tDQogIC A

JDQoNCkFtw6lyaWNhaW5lLCAzMCBhbnMNCk1hcmnDqWUgYXZlYyBkZXV4I GVu

ZmFudHMgKDIgZXQgNyBhbnMpCQ0KVHJhZHVjdHJpY2UgOiBTZXB0IGFucy BkJ

2V4cMOpcmllbmNlIGludGVybmF0aW9uYWxlIGRhbnMgbGEgdHJhZHVjdGlvbi ...

(31)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 31

...

...

</TextResume>

<SupportingMaterials>

<AttachmentReference>SampleResume.txt</AttachmentReference>

</SupportingMaterials>

</NonXMLResume>

</Resume>

<UserArea>

<UserDefinedTabs>

<Tab id="002004002" name="Additional Achievements">

<field id="002004002012" name="Licensure/Certification (Select all that apply)" index="1">Other</field>

<field id="002004002016" name="List any other training/classes you have completed" index="1">International Business Training</field>

</Tab>

<Tab id="002001" name="Demographics">

<field id="002001016" name="Please enter your age category"></field>

</Tab>

<Tab id="002004" name="Education">

<field id="002004005" name="Highest Level of Education Completed">Bachelors + 60</field>

</Tab>

<Tab id="002061" name="About You!">

<field id="002061001" name="How did you hear about us?">Web Site [College]</field>

<field id="002061027" name="Date Available to Work (MM/DD/YYYY)">8/1/2007 12:00:00 AM</field>

<field id="002061038" name="Languages - Read (Select all that apply)">English</field>

<field id="002061039" name="Languages - Written (Select all that apply)&#xD;&#xA;">English</field>

<field id="002061040" name="Languages - Spoken (Select all that apply)&#xD;&#xA;&#xD;&#xA;">English</field>

</Tab>

<Tab id="002064" name="References">

<field id="002064001" name="1] First Name">Alicia</field>

<field id="002064002" name="Last Name">Jones</field>

<field id="002064003" name="Job Title/Profession">Manager</field>

<field id="002064004" name="Email Address [if applicable]"></field>

<field id="002064005" name="Phone Number">6047654321</field>

<field id="002064006" name="Relationship to you">Supervisor</field>

<field id="002064007" name="2] First Name">George</field>

<field id="002064008" name="Last Name">Adams</field>

<field id="002064009" name="Job Title/Profession">Accountant</field>

<field id="002064010" name="Email Address [if applicable]"></field>

<field id="002064011" name="Phone Number">6045231456</field>

<field id="002064012" name="Relationship to you">coworker</field>

<field id="002064013" name="3] First Name">Kyle</field>

<field id="002064014" name="Last Name">Michaels</field>

<field id="002064015" name="Job Title/Profession">Manager</field>

<field id="002064016" name="Email Address [if applicable]"></field>

<field id="002064017" name="Phone number">6048512356</field>

<field id="002064018" name="Relationship to you">Friend</field>

</Tab>

<Tab id="002006" name="Skills">

(32)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 32

<field id="002006004" name="Skill level" index="5">AC</field>

<field id="002006004" name="Skill level" index="15">A</field>

</Tab>

<Tab id="001001002" name="Company">

<field id="001001002002" name="Division">Management</field>

<field id="001001002003" name="Department">Operations and Procedures</field>

<field id="001001002004" name="Title">Supervisor</field>

</Tab>

</UserDefinedTabs>

</UserArea>

</CandidateProfile>

</Candidate>

Add candidate Request XML sample

<?xml version="1.0" encoding="UTF-8" ?>

<Candidates>

<!-- Example for using StructuredResume -->

<Candidate>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Durango</GivenName>

<PreferredGivenName>Jon</PreferredGivenName>

<MiddleName>A.</MiddleName>

<FamilyName>Flowers</FamilyName>

<Affix type="generation"></Affix>

<Affix type="qualification"></Affix>

</PersonName>

<ContactMethod>

<Location>home</Location>

<Telephone>

<InternationalCountryCode>1</InternationalCountryCode>

<AreaCityCode>604</AreaCityCode>

<SubscriberNumber>1115555</SubscriberNumber>

<Extension></Extension>

</Telephone>

<InternetEmailAddress>[email protected]</InternetEmailAddress>

<InternetWebAddress></InternetWebAddress>

<PostalAddress>

<CountryCode>Canada [CA]</CountryCode>

<PostalCode>V1W2A2</PostalCode>

<Region>British Columbia [BC]</Region>

<Municipality>Vancouver</Municipality>

<DeliveryAddress>

<AddressLine>123 My St</AddressLine>

</DeliveryAddress>

</PostalAddress>

</ContactMethod>

</PersonalData>

<Resume>

<StructuredResume>

<Objective>To obtain a manager position in an elementary

(33)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 33

school.</Objective>

<EmploymentHistory>

<EmployerOrg index="1">

<EmployerOrgName>ABC Industry</EmployerOrgName>

<EmployerContactInfo>

<LocationSummary>

<Municipality>Vancouver</Municipality>

<Region>British Columbia [BC]</Region>

<CountryCode>Canada [CA]</CountryCode>

</LocationSummary>

</EmployerContactInfo>

<PositionHistory>

<Title>Supervisor</Title>

<OrgName>

<OrganizationName></OrganizationName>

</OrgName>

<OrgIndustry primaryIndicator="false">

<IndustryDescription>Consulting/Contracting</IndustryDescription>

</OrgIndustry>

<OrgSize>100</OrgSize>

<Description>Establish and maintain management procedures.</Description>

<StartDate>

<YearMonth>2005- 01</YearMonth>

</StartDate>

<EndDate>

<YearMonth>2007- 01</YearMonth>

</EndDate>

<Compensation>

<OtherCompensation type="Hourly" currency=""></OtherCompensation>

<OtherCompensation type="Daily"

currency=""></OtherCompensation>

<OtherCompensation type="Yearly" currency="">$76k-$80k</OtherCompensation>

<OtherCompensation type="Monthly" currency=""></OtherCompensation>

</Compensation>

</PositionHistory>

<UserArea />

</EmployerOrg>

</EmploymentHistory>

<EducationHistory>

<SchoolOrInstitution index="1" schoolType="Private College">

<School>

<SchoolName>The Main College</SchoolName>

</School>

<LocationSummary>

<Municipality>Vancouver</Municipality>

(34)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 34

<Region>British Columbia [BC]</Region>

<CountryCode>Canada [CA]</CountryCode>

<PostalCode>D1W2A2</PostalCode>

</LocationSummary>

<Degree>

<DegreeName>Bachelors Of Commerce [B. Com]</DegreeName>

<DegreeDate>

<YearMonth>11/2001</YearMonth>

</DegreeDate>

<OtherHonors></OtherHonors>

<DegreeMajor>

<Name>Accountancy</Name>

</DegreeMajor>

<DegreeMinor>

<Name></Name>

</DegreeMinor>

</Degree>

<Measure measureType="GPA">

<MeasureSystem>GPA</MeasureSystem>

<MeasureValue>3.66- 4.00</MeasureValue>

</Measure>

<DatesofAttendance>

<StartDate>

<YearMonth>11/2003</YearMonth>

</StartDate>

</DatesofAttendance>

<UserArea />

</SchoolOrInstitution>

</EducationHistory>

<LicensesandCertifications>

<LicenseorCertification index="1">

<Name></Name>

<EffectiveDate>

<ValidFrom>

<YearMonth></YearMonth>

</ValidFrom>

<ValidTo>

<YearMonth></YearMonth>

</ValidTo>

</EffectiveDate>

<Description></Description>

</LicenseorCertification>

<LicenseorCertification></LicenseorCertification>

</LicensesandCertifications>

<Qualifications>

<Competency index="1">

<CompetencyID id="">

<competencyWeight>

<StringValue></StringValue>

</competencyWeight>

</CompetencyID>

</Competency>

</Qualifications>

<Languages>

(35)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 35

<Language>

<LanguageCode></LanguageCode>

<LanguageCode></LanguageCode>

<LanguageCode></LanguageCode>

</Language>

</Languages>

<Associations>

<Association index="1">

<Name></Name>

<StartDate></StartDate>

<EndDate></EndDate>

<Comments></Comments>

</Association>

</Associations>

</StructuredResume>

</Resume>

</CandidateProfile>

</Candidate>

<!-- Example for using NonXMLResume -->

<Candidate>

<CandidateProfile>

<Resume>

<NonXMLResume>

<TextResume><!-- If binary Base64 Encoded text --->

1VSUklDVUxVTSBWSVRBRQ0KSmFtZXMgQk9ORA0KMTIzNCBNY XBsZSBTdHJl

XQNCkFtaXR5dmlsbGUsIE5lYnJhc2thDQoxMjMzNSBVU0ENClTDq WwgOiAxID

MxMyA1NTUgMTIzNA0KRS1tYWlsIDoganNvbmdAaGlyZWRlc2suY29 tDQogICA

JDQoNCkFtw6lyaWNhaW5lLCAzMCBhbnMNCk1hcmnDqWUgYXZlYy BkZXV4IGVu

ZmFudHMgKDIgZXQgNyBhbnMpCQ0KVHJhZHVjdHJpY2UgOiBTZX B0IGFucyBkJ

2V4cMOpcmllbmNlIGludGVybmF0aW9uYWxlIGRhbnMgbGEgdHJhZ HVjdGlvbi

...

...

...

</TextResume>

<SupportingMaterials>

<AttachmentReference>SampleResume.txt</AttachmentReference>

</SupportingMaterials>

</NonXMLResume>

</Resume>

<UserArea>

<ResumeSource><!--Optional-->

<Source>Talemetry Match</Source><!--This is the source application/integration providing the resume. Ex; Talemetry-Match, PeopleSoft Integration-->

<SourceJobBoard>Workopolis</SourceJobBoard><!--This is the original source of the resume. Ex; Job Board/ATS-->

</ResumeSource>

</UserArea>

</CandidateProfile>

</Candidate>

</Candidates>

(36)

[email protected] 1.866.447.3933

Talent Technology Corporation Page 36

Batch operations

Add Candidates Request XML sample

<?xml version="1.0" encoding="UTF-8" ?>

<Candidates>

<Candidate>

<CandidateProfile>

<PersonalData>

<PersonName>

<GivenName>Michael</GivenName>

<PreferredGivenName>Jon</PreferredGivenName>

<MiddleName>A.</MiddleName>

<FamilyName>Flowers</FamilyName>

<Affix type="generation"></Affix>

<Affix type="qualification"></Affix>

</PersonName>

<ContactMethod>

<Location>home</Location>

<Telephone>

<InternationalCountryCode>1</InternationalCountryCode>

<AreaCityCode>604</AreaCityCode>

<SubscriberNumber>3214567</SubscriberNumber>

<Extension></Extension>

</Telephone>

<InternetEmailAddress>[email protected]</InternetEmailAddress>

<InternetWebAddress></InternetWebAddress>

<PostalAddress>

<CountryCode>Canada [CA]</CountryCode>

<PostalCode>V1W2A1</PostalCode>

<Region>British Columbia [BC]</Region>

<Municipality>Vancouver</Municipality>

<DeliveryAddress>

<AddressLine>321 Main St</AddressLine>

</DeliveryAddress>

</PostalAddress>

</ContactMethod>

</PersonalData>

<Resume>

<StructuredResume>

<Objective>To obtain a manager position in an elementary school.</Objective>

<EmploymentHistory>

<EmployerOrg index="1">

<EmployerOrgName>ABC Industry</EmployerOrgName>

<EmployerContactInfo>

<LocationSummary>

References

Related documents