Note: The instructions below are for JobAdder Job Board Partners only
This is not used for custom / bespoke website job listing integration.
1 JobAdder Developer Account
JobAdder Job Board partners are required to register for a JobAdder Developer Account:
Accessibility will be determined based on the information provided when registering for a developer account. It is important that correct and factual information is provided for the solution in order to be approved for accessibility.
When/if granted access for a developer account, Job Board partners will be able to create API credentials that will be used for their Job Board application.
Partners are provided access to the API, limited to specifically job board endpoints:
JobAdder will create and grant access to your job portal/board where details can be retrieved and posted via the API.
2 Integration Process
The following process will provide an overview on steps necessary to get job ads that are posted to your JobAdder Job Board portal.
Prerequisites
- Job Portal or Job Board in JobAdder
- Registered and been approved for a JobAdder Developer Account
If you do not meet the above requirements, please email: api@jobadder.com
Step 1: Get Accounts Using Your Job Board
Your application should get all accounts that are posting to your Job Board.
To do this hit the following URL with a POST request:
Include the following query parameters passed with the POST request. Your header content type should be set to ‘application/x-www-form-urlencoded’.
|
Parameter |
Description |
|
response_type |
accounts (required) |
|
client_id |
Issued when you created your application (required) |
|
client_secret |
issued when you created your application (required) |
|
scope |
partner_jobboard (required) |
The response will return an array of accounts that are using your Job Board. You will be required to exchange the account code for an access token in the next step.
Example cURL Request to Get Accounts
curl -X POST \
'https://id.jobadder.com/connect/partner' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'response_type=accounts&client_id={CLIENT_ID}&client_secret={CLIENT_SECRET)}&scope=partner_jobboard'
Via Postman:
IMPORTANT: Make sure you are passing the parameters in the POST request body as x-www-form-urlencoded and added the header Content-Type: application/x-www-form-urlencoded.
Example Response
[
{
"account": "{ACCOUNT_CODE}",
"name": "Pon's Test Portal",
"scope": "partner_jobboard",
"reference": "sandbox-1007"
},
{
"account": "{ACCOUNT_CODE}",
"name": "Pon's Test Board",
"scope": "partner_jobboard",
"reference": "sandbox-1040"
}
]
Step 2: Getting an Access token for an Account
For each account in the array, you are required to individually exchange the account code for an access token by looping through and obtaining the value of the account attribute.
[
{
"account": "{ACCOUNT_CODE}",
"name": "Pon's Test Portal", 1st Account
"scope": "partner_jobboard",
"reference": "sandbox-1007"
},
{
"account": "{ACCOUNT_CODE}",
"name": "Pon's Test Board", 2nd Account
"scope": "partner_jobboard",
"reference": "sandbox-1040"
}
]
Exchange the Account Code for the Access token by hitting the following URL:
Include the following query parameters with the POST request. Your header content type should be set to ‘application/x-www-form-urlencoded’.
|
Parameter |
Description |
|
client_id |
Issued when you created your application (required) |
|
client_secret |
Issued when you created your application (required) |
|
grant_type |
partner_actas (required) |
|
scope |
partner_jobboard (required) |
|
actas |
The Account Code: Each Account value obtained from the array in Step 1. |
Based on the length of the array, you may be required to submit several POST requests, which in return will provide you unique access tokens for each of the account where you should store and use in step 3.
Example cURL Request for Token
curl -X POST \
'https://id.jobadder.com/connect/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id={CLIENT_ID}&client_secret={CLIENT_SECRET}&grant_type=partner_actas&scope=partner_jobboard&actas=abcdcmbqg5ahgylomrrg66a'
Via Postman:
IMPORTANT: Same with the Get Accounts request. make sure you are passing the parameters in the POST request body as x-www-form-urlencoded and added the header Content-Type: application/x-www-form-urlencoded.
Example Response
{
"access_token": "123d710d65d5a7cddd9cdedfc32e8105",
"expires_in": 3600,
"token_type": "Bearer",
"api": "https://sandboxapi.jobadder.com/v2/",
"instance": "sandbox",
"account": 1007
}
NB: If you need to map the JobAdder account back to your application (to identify who has posted the Job Ad), you may extract and store the instance and account value from this API response. In common implementations, your application should have an area where the client is able to place and store both of the above value inside your Job Board application (could be part of onboarding) for mapping.
Step 3: Getting Job Ads using your Job Board
For each access token obtained in Step 2, you have the ability to “act as” the account. With this, you are provided access to the Job Board endpoints for the account.
Job Boards
In order to get a Job Ad, you must first get the Job Board ID by hitting the following URL with a GET request:
Include in your header the access token obtained for the account. This will return a list of boards used by the account.
Example cURL Request for Job Boards
curl -X GET \
'https://api.jobadder.com/v2/jobboards/' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
Example Response
{
"items": [
{
"boardId": 1031,
"name": "Pon Test Portal",
[...]
}
]
}
Job Ads
From the response obtained in the GET Job Board request, extract the Board ID and use it in the following.
Hit the following URL with a GET request for Job Ads:
Include in your header the access token obtained for the account. This will return an array of Job Ads on the board.
Example cURL Request for Job Ads
curl -X GET \
'https://api.jobadder.com/v2/jobboards/{BOARD_ID}/ads' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
Example Response
{
"items": [
{
"adId": 1016,
"title": "IT Director",
"reference": "123",
"summary": "Looking for an IT Director for JobAdder",
"bulletPoints": [
"IT Stuff",
"Can develop tons of applications",
"Flexible hours"
],
"postedAt": "2018-07-31T23:43:20Z",
"updatedAt": "2018-07-31T23:43:20Z",
"expiresAt": "2018-08-29T00:00:00Z",
"links": {
"self": "https:// api.jobadder.com/v2/jobboards/1171/ads/1016",
"applications": "https://api.jobadder.com/v2/jobboards/1171/ads/1016/applications"
}
},
{
"adId": 1017,
"title": "test",
"reference": "1234",
"summary": "test",
"postedAt": "2018-08-01T02:21:28Z",
"updatedAt": "2018-08-01T02:21:27Z",
"expiresAt": "2018-08-29T03:00:00Z",
"links": {
"self": "https://api.jobadder.com/v2/jobboards/1171/ads/1017",
"applications": "https://api.jobadder.com/v2/jobboards/1171/ads/1017/applications"
}
}
],
"totalCount": 2
}
API: Available Endpoints
For all endpoints, see this section of the API document:
With the access token, you will have the ability to access the job board endpoints via the JobAdder API.
Step 4: Submit Job Applications
For Job Ads that have been posted onto your site, you have the following options to submit applications as a Job Application against the Job/Job Ad:
- Use the JobAdder hosted application forms:
Use the apply link under the links.ui.applications property of the job ad.
{
"links": {
[...],
"ui": {
[...],
"applications": "https://apply.jobadder.com/..."
}
}
}
- Use your own application forms:
You can create your own form in order to capture the candidate details and any relevant documents to be uploaded and use the JobAdder API to submit the application (see below).
Screening Questions
Screening questions are used to add additional questions to the Job that is advertised e.g. A job for a forklift driver may require a question, “Do you have a forklift license?”, to be asked while as for a hospitality role, this may not be required.
These screening questions are templated questions that are created by the JobAdder user and can optionally be selected when a Job Ad is created via the JobAdder UI. Screening question templates can have multiple questions for different job roles.
To get these screening questions for a Job Ad, hit the following URL with a GET request:
Include in your header the access token obtained for the account.
Example cURL Request for Screening Questions for the Job Ad
curl -X GET \
'https://api.jobadder.com/v2/jobboards/{BOARD_ID}/ads/{AD_ID}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}'
Example Response
{
"adId": 1231,
"title": "test",
"reference": "test",
"summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque et turpis nunc. Cras venenatis viverra ultrices. Maecenas non lectus libero.",
"bulletPoints": [
"Pellentesque",
"Cras",
"Phasellus"
],
"description": "Test",
"screening": [
{
"question": "test question",
"answerType": "Text",
"mandatory": true
}
],
[...]
}
The questions will be located in the screening object in the JSON response. Ideally, these additional questions are appended to your application form when a user applies for a Job.
Submit Applications
To submit a candidate to a Job, your form must at a minimum capture the candidate’s first name, last name and email address.
To submit an application, hit the following URL with a POST request:
Include in your request body, the form values. If screening questions exists for the Job Ad you are submitting a candidate too, ensure that you have included these in your screening object (as example below).
Example cURL Request to submit a Job Ad:
curl -X POST \ 'https://api.jobadder.com/v2/jobboards/{BOARD_ID}/ads/{AD_ID}/applications' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'Content-Type: application/json' \
-d '{
"firstName": "test",
"lastName": "test",
"email": "test@test.com",
"screening": {
"answers": [
{
"question": "Screening Question 1",
"answer": "Test-1",
"score": 100
},
{
"question": "Screening Question 2",
"answer": "Test-2",
"score": 99
}
]
}
}
Example Response
{
"applicationId": 19916,
"links": {
"resume": "https:// api.jobadder.com/v2/jobboards/1171/ads/1221/applications/19916/Resume",
[...]
}
Upload Documents
Uploading a document is a 2-step process, after you have submitted the Job Application (Above – Step 4), you will be required to extract the Application ID from the API response.
With this, hit the following URL with a POST request with the file data:
All attachments types are specified here
https://api.jobadder.com/v2/docs#operation/AttachJobBoardJobApplicationDocument
Example cURL Request to upload an attachment:
curl -X POST \
'https://api.jobadder.com/v2/jobboards/{BOARD_ID}/ads/{AD_ID}/applications/{APPLICATION_ID}/{ATTACH_TYPE}' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-F 'fileData=@test.txt'
When successful the 202 HTTP code will be returned.
3 API – Job Board Workflow