To query the location service you must first authenticate yourself as described in “Authenticating to Retrieve Dictionary Values“.
Geographical Location Search
To retrieve a location to use in Resume Search, send an authorised HTTP GET request to the following URL replacing the {name} with the location you require. You will need to use the location id (location / id) as resume search parameter:
GET https://core.ws.efinancialcareers.com/v1/locations/search/name?name=London
Mandatory HTTP headers
Content-Type: application/xml
Authorization: EfcAuth realm=”EFC”, token=”522c3c4bd036a69db428ce4274745e9d”
Locations Searches and parameters
There are the following types of location searches:
Name
Description
Request Path
Obligatory parameters
Optional parameters
Search locations
Search location by ID
Search the nearest location
Search locations in the range
Search locations by name
Retrieve all locations in the system with/without filtering by parameter
Retrieve the location by ID
Retrieve the nearest location by latitude, longitude
Retrieve locations in specified radius
Retrieve locations by name
locations
locations/{id}
locations/search/nearest?latitude=…&longitude=…
locations/search/range?latitude=…&longitude=…&radius=…
locations/search/name?name=…
no
id (of the location)
latitude, longitude
latitude, longitude, radius
name
language, locale, category, type, parent, country, page-size, page, with-parents, show-country, order-by, sort-order
language, locale, with-parents, show-country
language, locale, category, type, parent, country, with-parents, show-country
language, locale, category, type, parent, country, page-size, page, with-parents, show-country, order-by, sort-order
language, locale, category, type, parent, country, page-size, page, with-parents, show-country, order-by, sort-order
There is a table with parameters, which can be applied to searches:
Name
Description
String format
Possible values
Examples
All requests
Language
Locale
Request and response language of locations names
Defines the language of translations in a response
language={language code}
locale={locale code}
All supported language codes in the system. Use dictionary service to get them.
All supported language codes in the system. Use dictionary service to get them.
language=EN, language=FR, language=IT
locale=EN,
locale=FR,
locale=IT
Search locations, Search the nearest location, Search locations in the range, Search locations by name
Category
Type
Parent
Country
With parents
Show country
Functionality where location data will be used, it works like a filter
Type of the location regarding to levels
Id of the parent location
Code of the country
Show parent chain for location name
Display country in parent location chain
category={category name}
type={location type}
parent={parent id}
country={country code}
with-parents={flag}
show-country={flag}
inventory, job, resume, resume-license, work-permit
global, region, country, division, city, postalcode
Available ids in the system
All supported country codes in the system. Use dictionary service to get them.
Boolean values “true” or “false”
Boolean values “true” or “false”
category=inventory, category=job
type=country, type=city
parent=993152 , parent=-4343
country=GB, country=US
with-parents=true, with-parents=false
show-country=true, show-country=false
Search locations, Search locations in the range, Search locations by name
Page size
Page number
Sort criteria
Sort direction
The amout of locations in response per page
The current page number
Name of the sort criteria
Direction of the sorting
page-size={number}
page={number}
order-by={sort criteria}
sort-order={sort direction}
1-250
Max number is limited by search results
name
ASC, DESC
page-size=30,
page-size=50
page=1, page=5
order-by=name
sort-order=ASC,
sort-order=DESC
Search the nearest location, Search locations in the range
Latitude
Longitude
Geo latitude
Geo longitude
latitude={latitude}
longitude={longitude}
-90 <= latitude <= 90
-180 <= longitude <= 180
latitude=12.23, latitude=-34.0031
longitude=112.23, longitude=-134.0031
Search locations in the range
Radius
Radius in km
radius={radius}
0-250
radius=19, radius=172
Search locations by name
Name
Location name (zip code name)
name={location name}
Text symbols and digits
name=London, name=993152
Search locations by ID
Id
Location id
locations/{id}
Available ids in the system
locations/1, locations/-10, locations/451256
There is a list of default parameters below. They will be applied to the request by default.
Examples of search requests
How to get countries of the region:
How to get locations, which are valid for work permit: call the service with “category=work-permit”.
Locations Searches Response
Upon success, the server responds with HTTP 200 OK status code and an XML representation of the location details in the response body:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ns2:locations totalCount="36" xsi:schemaLocation="http://efinancialcareers.com/schema https://core.ws.efinancialcareers.com/v1/schema">
<ns2:location href="https://app.ws.efinancialcareers.com/v1/locations/2643743">
<ns2:id>2643743</ns2:id>
<ns2:name>London</ns2:name>
<ns2:names>
<ns2:name>
<ns2:name>London City</ns2:name>
<ns2:language>en</ns2:language>
<ns2:short>false</ns2:short>
<ns2:preferred>false</ns2:preferred>
</ns2:name>
..........
</ns2:names>
<ns2:latitude>51.50853</ns2:latitude>
<ns2:longitude>-0.12574</ns2:longitude>
<ns2:parents>
<ns2:location>
<ns2:id>3333218</ns2:id>
<ns2:name>City of Westminster</ns2:name>
<ns2:names>
<ns2:name>
<ns2:name>City of Westminster</ns2:name>
<ns2:language>en</ns2:language>
<ns2:short>false</ns2:short>
<ns2:preferred>false</ns2:preferred>
</ns2:name>
............
</ns2:names>
<ns2:type>DIVISION</ns2:type>
</ns2:location>
............
<ns2:location>
<ns2:id>6269131</ns2:id>
<ns2:name>England</ns2:name>
<ns2:names>
<ns2:name>
<ns2:name>England</ns2:name>
<ns2:language>en</ns2:language>
<ns2:short>false</ns2:short>
<ns2:preferred>true</ns2:preferred>
</ns2:name>
.............
</ns2:names>
.............
<ns2:type>COUNTRY</ns2:type>
</ns2:location>
<ns2:location>
<ns2:id>-12</ns2:id>
<ns2:name>European Union</ns2:name>
<ns2:names>
.............
</ns2:names>
<ns2:labelTranslations>
<ns2:translation>
<ns2:type>dict</ns2:type>
<ns2:path>ws.location.label.name</ns2:path>
<ns2:locale>en</ns2:locale>
<ns2:content>Name</ns2:content>
</ns2:translation>
.............
</ns2:labelTranslations>
</ns2:locations>
Example of search location by id:
GET https://core.ws.efinancialcareers.com/v1/locations/-18
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ns2:location href="https://app.ws.efinancialcareers.com/v1/locations/-18" xsi:schemaLocation="http://efinancialcareers.com/schema https://core.ws.efinancialcareers.com/v1/schema">
<ns2:id>-18</ns2:id>
<ns2:name>Gulf</ns2:name>
<ns2:names>
<ns2:name>
<ns2:name>Gulf</ns2:name>
<ns2:language>en</ns2:language>
<ns2:short>false</ns2:short>
<ns2:preferred>true</ns2:preferred>
</ns2:name>
...........
</ns2:names>
<ns2:parents>
<ns2:location>
<ns2:id>-10</ns2:id>
<ns2:name>EMEA</ns2:name>
<ns2:names>
<ns2:name>
<ns2:name>EMEA</ns2:name>
<ns2:language>en</ns2:language>
<ns2:short>false</ns2:short>
<ns2:preferred>true</ns2:preferred>
</ns2:name>
............
</ns2:names>
............
<ns2:labelTranslations>
<ns2:translation>
<ns2:type>dict</ns2:type>
<ns2:path>ws.location.label.name</ns2:path>
<ns2:locale>en</ns2:locale>
<ns2:content>Name</ns2:content>
</ns2:translation>
.............
</ns2:dictTranslations>
</ns2:location>