API Quick start
Overview
The Reach ATS® API has been designed to provide an easy to use toolkit for adding recruitment related data into your career web pages or backoffice systems.
The API is REST based and can be called from many modern languages such as PHP, Python,classic ASP, ASP.net, Perl and Java.
You will note that the API key (in bold) is used as part of the URL itself. For the purposes of testing, the key above may be used to generate ficticious data for testing.
N.B. (View source in the browser, as by default this call outputs XML)
The first segment of the request is an action verb. Most of the time, you will use get, however others are available.
The second segment of the request specifies the package that your information call is related to.
The third segment of the request specifies the information that you are calling from the preceding module in the second segment. In the example above we are requesting the advert text from the job module, therefore the "Job Advert".
After the first three segments, any data that is required by a specific call needs to be placed after them. Each variable is separated by a slash, and details on how many each requires are given in each of the call's documentation below. If you need to mark a certain requirement in the URL as undefined, use a hyphen, E.G. /get/job/listing/-/JSON. In this example, a hyphen is used to specify no search terms are required (that is, the field is blank), so that the return type of JSON can be specified at the right url position.
The last part of a request is optional, and denotes which return data type you would like. Each API call by default returns one of several data types, depending on it's purpose. For example, by default job listings are in XML, however a job advert is returned as raw text, with no metadata or delimiters. Each call description in the documentation will give it's default response type.
/get/job/listing returns the records for all live jobs on the associated account, including the job's ID, title, category, role,type, hours, salary description and closing date. It optionally accepts one argument, to specific keywords to match the job title to. This is useful if you would like to implement a keyword search feature, without having to write your own mechanism. If you wish to provide a data return type, but omit keywords, replace the segment of the url with a hyphen, E.G /get/job/listing/-/JSON.
/get/job/information returns the job listing information for a specific job only. By default, the call supplies the data as XML. The call has one argument, being the JOB ID of the job that you want the details for.
/get/job/advert returns the advert text for a job in HTML. By default, the call supplies the data as is. The call has one argument, being the JOB ID of the job that you want the text for. (The job ID is more than likely taken from a previous call to /job/listing).
/get/job/applyurl returns the url to the job's application process. By default, the call supplies the data as is. The call has one argument, being the JOB ID of the job that you want the url for.
/get/job/fileurls returns the urls to the job's support files, along with a friendly name for on screen. By default, the call supplies the data as XML. The call has one argument, being the JOB ID of the job that you want the file urls for.
/get/job/locations returns a unique set of locations for the account
/get/job/counties returns a unique set of counties for the account
/get/job/roles returns a unique set of roles for the account
/get/job/offices returns a unique set of offices for the account
/get/job/types returns a unique set of types for the account
The API is REST based and can be called from many modern languages such as PHP, Python,classic ASP, ASP.net, Perl and Java.
Accessing the API
The API is available from the following URL : http://a83d66d29041c407e8abf4187c533053.api.instinctivetechnologies.com/You will note that the API key (in bold) is used as part of the URL itself. For the purposes of testing, the key above may be used to generate ficticious data for testing.
Default Call Example (XML)
N.B. (View source in the browser, as by default this call outputs XML)
XML Output Example (Default)
<response generated="2011-06-30T16:48:07+01:00" records="3"> <record> <id><![CDATA[25618]]></id> <title><![CDATA[Assistant Store Manager - Camden]]></title> <category><![CDATA[Sales]]></category> <role><![CDATA[Sales]]></role> <type><![CDATA[Permanent]]></type> <hours><![CDATA[35]]></hours> <salarydescription><![CDATA[25,000]]></salarydescription> <closingdate><![CDATA[2013-01-04]]></closingdate> </record> </response>
JSON Call Example
http://a83d66d29041c407e8abf4187c533053.api.instinctivetechnologies.com/get/job/listing/-/-/-/-/JSON
Anatomy of a request
The API call above returns an XML document with the job information for jobs that are currently live. Each call has the following structure:Action
/get/job/advert/12345/JSON
The first segment of the request is an action verb. Most of the time, you will use get, however others are available.
Package
/get/job/advert/12345/JSON
The second segment of the request specifies the package that your information call is related to.
Data
/get/job/advert/12345/JSON
The third segment of the request specifies the information that you are calling from the preceding module in the second segment. In the example above we are requesting the advert text from the job module, therefore the "Job Advert".
Parameters
/get/job/advert/12345/JSON
After the first three segments, any data that is required by a specific call needs to be placed after them. Each variable is separated by a slash, and details on how many each requires are given in each of the call's documentation below. If you need to mark a certain requirement in the URL as undefined, use a hyphen, E.G. /get/job/listing/-/JSON. In this example, a hyphen is used to specify no search terms are required (that is, the field is blank), so that the return type of JSON can be specified at the right url position.
Data type of response
/get/job/advert12345/JSON
The last part of a request is optional, and denotes which return data type you would like. Each API call by default returns one of several data types, depending on it's purpose. For example, by default job listings are in XML, however a job advert is returned as raw text, with no metadata or delimiters. Each call description in the documentation will give it's default response type.
Available Data Types for Results
- XML
- JSON
- CSV
- PIPE
- RAW
Sample Packages
A package is simply a grouping of calls for a certain type, for example all job related calls are grouped into a package called job, all account based calls into account, and so forth.Job
This package contains the following calls:- listing
- information
- advert
- applyurl
- fileurls
listing (Default datatype XML. 1 Optional Argument: Keywords)
Example:/get/job/listing returns the records for all live jobs on the associated account, including the job's ID, title, category, role,type, hours, salary description and closing date. It optionally accepts one argument, to specific keywords to match the job title to. This is useful if you would like to implement a keyword search feature, without having to write your own mechanism. If you wish to provide a data return type, but omit keywords, replace the segment of the url with a hyphen, E.G /get/job/listing/-/JSON.
information (Default datatype XML. 1 Required Argument : Job ID)
Example:/get/job/information returns the job listing information for a specific job only. By default, the call supplies the data as XML. The call has one argument, being the JOB ID of the job that you want the details for.
advert (Default datatype RAW. 1 Required Argument : Job ID)
Example:/get/job/advert returns the advert text for a job in HTML. By default, the call supplies the data as is. The call has one argument, being the JOB ID of the job that you want the text for. (The job ID is more than likely taken from a previous call to /job/listing).
applyurl (Default datatype RAW. 1 Required Argument : Job ID)
Example:/get/job/applyurl returns the url to the job's application process. By default, the call supplies the data as is. The call has one argument, being the JOB ID of the job that you want the url for.
fileurls (Default datatype XML. 1 Required Argument : Job ID)
Example:/get/job/fileurls returns the urls to the job's support files, along with a friendly name for on screen. By default, the call supplies the data as XML. The call has one argument, being the JOB ID of the job that you want the file urls for.
Sample Lists
A list simply returns all the values for the account that is set up in the ATS. Useful for populating elements such as select boxes.Locations (Default datatype JSON)
Example:/get/job/locations returns a unique set of locations for the account
Counties (Default datatype JSON)
Example:/get/job/counties returns a unique set of counties for the account
Roles (Default datatype JSON)
Example:/get/job/roles returns a unique set of roles for the account
Offices (Default datatype JSON)
Example:/get/job/offices returns a unique set of offices for the account
Types (Default datatype JSON)
Example:/get/job/types returns a unique set of types for the account