Chameleon-i WEBsite integration API Website API... · Website API Notes Below you will find the...

28
12/2015

Transcript of Chameleon-i WEBsite integration API Website API... · Website API Notes Below you will find the...

12/2015

Website API Notes Below you will find the information detailing the XML payloads available to integrate Chameleon-i with an external website.

You will need to use the following details: -

Action = postxml

AuthKey = Guest

AuthPassword = KgwLLm7TL6G6

Xml = {xml below}

You can test the XML Payload via: https://jobs.chameleoni.com/PostXML/PostingXML.html

When you are ready to set the website live please contact us on +44 (0)1483 600370 to obtain a unique APIKey and User Name for the recruitment agency.

Note to Developers, the following must be set up by a Chameleon-i Administrator. Tags - We use 2 specifically named Tier 1 Tags to power elements of the Search Engine Web Location and Web Expertise. These must be set up and the required Tier 2 tags associated in order for this element of the search to work. Note these tags must also be applied to the Vacancies.

Auto Responders – As part of candidate communications you can set up a number of email templates that Chameleon-i can automatically send on the following activity being performed by a Candidate on the website.

1. Registration 2. Application 3. Password Reminder

The email templates must be set up by a Chameleon-i Administrator within the Admin/CMS area and be named as follows with the email text being placed in Content Area 1

Email – Registration Email – Application Email – Password Reminder

Title method

If required to populate a dropdown on the candidate register form, this method will deliver the Titles. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>TitleList</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

</Filter>

</ChameleonIAPI>

XML Response:

<ChameleonIAPIResponse>

<Titles>

<TitleId>1</TitleId><Title></Title>

<TitleId>6</TitleId><Title>Mr</Title>

<TitleId>2</TitleId><Title>Mrs</Title>

<TitleId>3</TitleId><Title>Miss</Title>

<TitleId>4</TitleId><Title>Ms</Title>

<TitleId>5</TitleId><Title>Dr</Title>

<TitleId>43</TitleId><Title>Sir</Title>

</Titles>

</ChameleonIAPIResponse>

Candidate register method

To register a new candidate, we send just bare basic details. Remember that a candidate should not be registered if they do not pass the CheckEmail Method test. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CandidateRegister</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="TitleId" Value="[[TitleId]]" />

<Input Name="Forename" Value="[[Forename]]" />

<Input Name="Surname" Value="[[Surname]]" />

<Input Name="Email" Value="[[Email]]" />

<Input Name="WebPassword" Value="[[WebPassword]]" />

<Input Name="HomeTelNo" Value="[[HomeTelNo]]" />

<Input Name="MobileTelNo" Value="[[MobileTelNo]]" />

<Input Name="WorkTelNo" Value="[[WorkTelNo]]" />

</InputData>

</ChameleonIAPI>

Where

[[TitleId]] Is the numeric value given from the ContactTitle dropdown, populated by the ContactTitle method. If not in use then send default value of 1

[[Forename]] Entered by the user *Mandetory

[[Surname]] Entered by the user *Mandetory

[[Email]] Entered by the user *Mandetory

[[WebPassword]] Entered by the user – if omitted then a random password is assigned automatically

[[HomeTelNo]] Entered by the user

[[MobileTelNo]] Entered by the user

[[WorkTelNo]] Entered by the user

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2014-10-16T110800Z</TimeNow>

<ResponseId>5268</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<ContactId>12529474</ContactId>

</ChameleonIAPIResponse>

The returned field ContactId is the numeric ID of the newly generated candidate. This must be retained by the caller for future use.

Check email method

Before you can register a candidate, you must run the CheckEmail function, this will tell you if there’s already a candidate in the database with this email address assigned. If there is you must abort the registration, and offer to send the candidate a password reminder or to Login instead. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CheckEmail</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="Email" Value="[[useremail]]" />

</InputData>

</ChameleonIAPI>

Where [[useremail]] is the email address input by the user.

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2014-10-15T213800Z</TimeNow>

<ResponseId>5254</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<CandidateCount>5</CandidateCount>

</ChameleonIAPIResponse>

The returned field CandidateCount is numeric, if it is zero then the candidate is not on file and registration can continue. Any positive number indicated the candidate is on file and registration should be aborted.

Password reminder method

Below is the method to fire a password reminder email from Chameleoni to the candidate.

Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>PasswordReminder</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="Email" Value="[email protected]" />

<Input Name="MailName" Value="Email - Password Reminder" />

</InputData>

</ChameleonIAPI>

Where [[useremail]] is the email address input by the user.

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2015-12-15T101700Z</TimeNow>

<ResponseId>402020</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<ContactCount>0</ContactCount>

</ChameleonIAPIResponse>

The returned field CandidateCount is numeric, if it is zero then the candidate is not on file and no email will be sent. Any positive number indicates the candidate is on file and a password reminder has been sent.

Candidate applying for a vacancy

Note the Candidate needs to be Logged In, otherwise we don’t know who is applying...

On your website, “Register and Apply” needs to do this...

Register

Login

Apply

"Login And Apply" does this...

Login

Apply

You need to make sure that you align to these rules. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CandidateApplication</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="VacancyID" Value="[[vacancyid]]" />

<Input Name="ContactId" Value="[[contactid]]" />

</InputData>

</ChameleonIAPI>

Where

[[contactid]] Is the Chameleon ContactId given by CandidateRegister method *Mandetory

[[vacancyid]] Is the Chameleon VacancyId being applied for *Mandetory

Response

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

<ChameleonIAPIResponse>

<TimeNow>2015-10-05T134600Z</TimeNow>

<ResponseId>180175</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<AppliedStatus>1</AppliedStatus>

</ChameleonIAPIResponse>

The returned AppliedStatus can be one of 3 values: -

0 = Candidate has not applied before (and is now applied)

1 = Candidate has applied for this vacancy and is still in the shortlist (and the application is rejected)

2 = Candidate has applied for this vacancy and is no longer in the shortlist (and the application is rejected)

Candidate login to website

Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CandidateLogin</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="Email" Value="[email protected]" />

<Input Name="Password" Value="XXXXXXXX" />

</InputData>

</ChameleonIAPI>

Where

Response

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

<ChameleonIAPIResponse>

<TimeNow>2015-10-12T173700Z</TimeNow>

<ResponseId>192631</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<ContactId>14283887</ContactId>

</ChameleonIAPIResponse>

The returned ContactId is 0 if the user/password pair does not match (login failure).

Attaching a CV to an existing candidate record

If you are registering a new Candidate, this must be called after the CandidateRegister method as you will need to pass the ContactId.

The CV itself is sent as a Base64 encoded string, we using the CVDocType parameter we build this back into a document. A sample Base64 string is attached, better there that pasted into a mail. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>AttachCV</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="ContactId" Value="[[contactid]]" />

<Input Name="CVDocType" Value="[[doctype]]" />

<Input Name="CVBase64" Value="[[base64string]]"

</InputData>

</ChameleonIAPI>

Where

[[contactid]] Is the Chameleon ContactId given by CandidateRegister method *Mandetory

[[doctype]] File extension for the end filename, e.g doc, docx, pdf *Mandetory

[[base64string]] CV file as base64 encoded document (see attached for example) *Mandetory

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

<ChameleonIAPIResponse>

<TimeNow>2015-01-13T095100Z</TimeNow>

<ResponseId>32348</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

</ChameleonIAPIResponse>

Candidate application trace

Below is the method to trace if a candidate has applied for a vacancy.

Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CandidateApplication</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="RequirementId" Value="444082" />

<Input Name="CandidateId" Value="5439613" />

<Input Name="WebApplicationTaskTypeId" Value="119" />

<Input Name="ApplicationText" Value="test" />

<Input Name="MailName" Value="Email - Application" />

<Input Name="SiteName" Value="test" />

</InputData>

</ChameleonIAPI>

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2015-12-15T094100Z</TimeNow>

<ResponseId>401952</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<AppliedStatus>1</AppliedStatus>

</ChameleonIAPIResponse>

Check applied status

Below is the method to check application status.

Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>CheckAppliedStatus</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="RequirementId" Value="511354" />

<Input Name="CandidateId" Value="13158774" />

</InputData>

</ChameleonIAPI>

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2015-12-15T101600Z</TimeNow>

<ResponseId>402019</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<AppliedStatus>0</AppliedStatus>

</ChameleonIAPIResponse>

Login populate data

Below is the method to populate the candidate’s record data on screen post login. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>ReadLogin</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="ContactId" Value="14143991" />

<Input Name="Userid" Value="6683" />

</InputData>

</ChameleonIAPI>

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2015-12-15T102300Z</TimeNow>

<ResponseId>402031</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<Contacts><Contact><Christian>CAILAH</Christian><Surname>T</Surname><EMail>[email protected]</EMail><WorkTelNo>0114622864</WorkTelNo><MobileTelNo>07429288909</MobileTelNo><WebPassword>green3panda</WebPassword><TelNo></TelNo></Contact></Contacts>

</ChameleonIAPIResponse>

Update profile Below is the method to update a candidate’s record. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>update_profile</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<InputData>

<Input Name="CandidateId" Value="11378860" />

<Input Name="Christian" Value="Caroline11" />

<Input Name="Surname" Value="Boatwright" />

<Input Name="Email" Value="[email protected]" />

<Input Name="Password" Value="1bluekoala" />

<Input Name="HomeTelNo" Value="" />

<Input Name="MobileTelNo" Value="07984857900" />

<Input Name="WorkTelNo" Value="" />

</InputData>

</ChameleonIAPI>

Search vacancies [Single] method

This method is used to retrieve a single of vacancies following user selection. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>SearchVacancies</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="VacancyId" Value="365935" />

</Filter>

</ChameleonIAPI>

XML Response is the same as with the SearchVacancies [List] Option:

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

<ChameleonIAPIResponse>

<TimeNow>2014-09-02T172700Z</TimeNow>

<ResponseId>280</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<SearchVacanciesCount>1</SearchVacanciesCount>

<Vacancies>

<Vacancy>

<RowNumber>1</RowNumber>

<VacancyID>365935</VacancyID>

<JobType>Contract</JobType>

<Reference>DE102</Reference>

<DatePosted>20130304</DatePosted>

<CloseDate>20130401</CloseDate>

<JobTitle>Brand New Striker for Alex</JobTitle>

<JobDescription>An attacking player, esp one who generally positions himself near his opponents goal in the hope of scoring</JobDescription>

<PayRangeVerbose>£100.00ph</PayRangeVerbose>

<PayRangeNoUnits>£100.00</PayRangeNoUnits>

<PayRange>100.00ph</PayRange>

<RatesPer>Hour</RatesPer>

<Benefits>Free football boots</Benefits>

<MinPayRate>100.0000</MinPayRate>

<MinSalary>1000000</MinSalary>

<MaxSalary>1000000</MaxSalary>

<Bonus>0.0000</Bonus>

<LocationVerbose>Various Locations</LocationVerbose>

<TownVerbose></TownVerbose>

<Country></Country>

<LocationTag>UK - North</LocationTag>

<ConsultantName>David Leaguex</ConsultantName>

<ConsultantTelNo></ConsultantTelNo>

<ConsultantEmail>[email protected]</ConsultantEmail>

</Vacancy>

</Vacancies>

</ChameleonIAPIResponse>

Tag list T2ForT1 method

This method is used to retrieve a list of Tier2 Chameleon-i Tags when given a Tier1 Tag. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>TagListT2ForT1</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="T1" Value="Web Location" />

</Filter>

</ChameleonIAPI>

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2014-09-02T112500Z</TimeNow>

<ResponseId>224</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<ListLocationsFromTagCount><Count>2</Count></ListLocationsFromTagCount>

<TagListT2ForT1>

<Tag><TagId>215475</TagId><Tag>UK - North</Tag></Tag>

<Tag><TagId>215476</TagId><Tag>UK - South</Tag></Tag>

</TagListT2ForT1>

</ChameleonIAPIResponse>

This method can be used to get any Tier2 Tag list, but in the case of the demo website

Send T1=”Web Location”

Send T1=”Web Expertise”

Populate location DDL using Town NOT Tags

This method is used to retrieve a list of Towns to populate the Location Element of the Search. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>Tag_towns_get</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="JobsOnly" Value="1" />

</Filter>

</ChameleonIAPI>

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2015-10-22T163300Z</TimeNow>

<ResponseId>213636</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<ListLocationsFromTagCount><Count>3</Count></ListLocationsFromTagCount>

<towns><towns><TownId>12005</TownId><Town>Anywhere</Town></towns><towns><TownId>230</TownId><Town>Chippenham</Town></towns><towns><TownId>477</TownId><Town>High Holborn</Town></towns></towns>

</ChameleonIAPIResponse>

Search vacancies [List] method using Town for location DDL This method is used to retrieve vacancies using Town Location instead of Location TAGs. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>SearchVacancies</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="Permanent" Value="True" />

<Param Name="Contract" Value="True" />

<Param Name="Temporary" Value="True" />

<Param Name="PageNo" Value="1" />

<Param Name="PageSize" Value="10000" />

<Param Name="Location" Value="chippenham" />

</Filter>

</ChameleonIAPI> XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2014-09-02T172700Z</TimeNow>

<ResponseId>280</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<SearchVacanciesCount>1</SearchVacanciesCount>

<Vacancies>

<Vacancy>

<RowNumber>1</RowNumber>

<VacancyID>365935</VacancyID>

<JobType>Contract</JobType>

<Reference>DE102</Reference>

<DatePosted>20130304</DatePosted>

<CloseDate>20130401</CloseDate>

<JobTitle>Brand New Striker for Alex</JobTitle>

<JobDescription>An attacking player, esp one who generally positions himself near his opponents goal in the hope of scoring</JobDescription>

<PayRangeVerbose>£100.00ph</PayRangeVerbose>

<PayRangeNoUnits>£100.00</PayRangeNoUnits>

<PayRange>100.00ph</PayRange>

<RatesPer>Hour</RatesPer>

<Benefits>Free football boots</Benefits>

<MinPayRate>100.0000</MinPayRate>

<MinSalary>1000000</MinSalary>

<MaxSalary>1000000</MaxSalary>

<Bonus>0.0000</Bonus>

<LocationVerbose>chippenham</LocationVerbose>

<TownVerbose>chippenham</TownVerbose>

<Country></Country>

<LocationTag>UK - North</LocationTag>

<ConsultantName>David Leaguex</ConsultantName>

<ConsultantTelNo></ConsultantTelNo>

<ConsultantEmail>[email protected]</ConsultantEmail>

</Vacancy>

</Vacancies>

</ChameleonIAPIResponse>

Search vacancies [List] method using TAGs for location DDL

This method is used to retrieve a list of vacancies following user input. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>SearchVacancies</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="Permanent" Value="True" />

<Param Name="Contract" Value="True" />

<Param Name="Temporary" Value="True" />

<Param Name="PageNo" Value="1" />

<Param Name="PageSize" Value="10000" />

<Param Name="TagIDCSV" Value="!AND215476" />

</Filter>

</ChameleonIAPI>

The Parameters Permanent, Contract, Temporary relate to :

The PageNo, PageSize Parameters denote the number of results per page to return, and the page number.

The Parameter is a comma separated list of the TagIDCSV TagId’s selected in these two controls. Note these must be prefixed with !AND

XML Response:

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

<ChameleonIAPIResponse>

<TimeNow>2014-09-02T172700Z</TimeNow>

<ResponseId>280</ResponseId>

<Status>Pass</Status>

<Message>Nothing to say</Message>

<SearchVacanciesCount>1</SearchVacanciesCount>

<Vacancies>

<Vacancy>

<RowNumber>1</RowNumber>

<VacancyID>365935</VacancyID>

<JobType>Contract</JobType>

<Reference>DE102</Reference>

<DatePosted>20130304</DatePosted>

<CloseDate>20130401</CloseDate>

<JobTitle>Brand New Striker for Alex</JobTitle>

<JobDescription>An attacking player, esp one who generally positions himself near his opponents goal in the hope of scoring</JobDescription>

<PayRangeVerbose>£100.00ph</PayRangeVerbose>

<PayRangeNoUnits>£100.00</PayRangeNoUnits>

<PayRange>100.00ph</PayRange>

<RatesPer>Hour</RatesPer>

<Benefits>Free football boots</Benefits>

<MinPayRate>100.0000</MinPayRate>

<MinSalary>1000000</MinSalary>

<MaxSalary>1000000</MaxSalary>

<Bonus>0.0000</Bonus>

<LocationVerbose>Various Locations</LocationVerbose>

<TownVerbose></TownVerbose>

<Country></Country>

<LocationTag>UK - North</LocationTag>

<ConsultantName>David Leaguex</ConsultantName>

<ConsultantTelNo></ConsultantTelNo>

<ConsultantEmail>[email protected]</ConsultantEmail>

</Vacancy>

</Vacancies>

</ChameleonIAPIResponse>

Search parameters

Below are all of the filter parameters the search vacancies method will accept

Each job type can be selected individually or multiples by setting Contract, Permanent, Self Employed and/or Temporary to 1

Salary can be set using the Min/Max fields for each job type

Keywords are accepted as a comma separated list and are treated as AND. EG Guildford, Sport will return jobs with Guildford AND Sport in the description. Post XML to: https://jobs.chameleoni.com/PostXML/PostingXML.html

XML Payload:

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

<ChameleonIAPI>

<Method>SearchVacancies</Method>

<APIKey>D12E9CF3-F742-47FC-97CB-295F4488C2FA</APIKey>

<UserName>David</UserName>

<Filter>

<!-- Options Placeholder -->

<Param Name="ClientId" Value="0" />

<Param Name="Contract" Value="" />

<Param Name="Permanent" Value="" />

<Param Name="SelfEmployed" Value="" />

<Param Name="Temporary" Value="" />

<Param Name="MinContract" Value="" />

<Param Name="MinPerm" Value="" />

<Param Name="MinSelfEmployed" Value="" />

<Param Name="MinTemporary" Value="" />

<Param Name="MaxContract" Value="" />

<Param Name="MaxPerm" Value="" />

<Param Name="MaxSelfEmployed" Value="" />

<Param Name="MaxTemporary" Value="" />

<Param Name="GetTagDesc" Value="" />

<Param Name="GetTagDescparentID" Value="" />

<Param Name="GetTagSalary" Value="" />

<Param Name="GetTagSalaryID" Value="" />

<Param Name="JobTitle" Value="" />

<Param Name="Reference" Value="" />

<Param Name="Keywords" Value="" />

<Param Name="Location" Value="" />

<Param Name="SectorId" Value="" />

<Param Name="SubSectorId" Value="" />

<Param Name="PageNo" Value="1" />

<Param Name="PageSize" Value="10000" />

<Param Name="TagIDCSV" Value="" />

<Param Name="Tag" Value="" />

<Param Name="TownId" Value="" />

</Filter>

</ChameleonIAPI>