class Bamboozled::API::ApplicantTracking
Constants
- APPLICATION_STATUS_GROUPS
- JOB_STATUS_GROUPS
Public Instance Methods
add_comment(applicant_id, comment)
click to toggle source
Add comments to an application – POST /applications/:id/comments
# File lib/bamboozled/api/applicant_tracking.rb, line 42 def add_comment(applicant_id, comment) details = { type: "comment", comment: comment }.to_json options = { body: details, headers: { "Content-Type" => "application/json" } } request(:post, "applicant_tracking/applications/#{applicant_id}/comments", options) end
application(applicant_id)
click to toggle source
Get the details of an application – GET /applications/:id
# File lib/bamboozled/api/applicant_tracking.rb, line 37 def application(applicant_id) request(:get, "applicant_tracking/applications/#{applicant_id}") end
applications(params = {})
click to toggle source
Get a list of applications, following pagination – GET /applications
# File lib/bamboozled/api/applicant_tracking.rb, line 24 def applications(params = {}) # rubocop:disable Style/OptionHash page_limit = params.delete(:page_limit) { 1 } applications_array = [] 1.upto page_limit do |i| response = request_applications(params.merge(page: i)) applications_array += response["applications"] break if response["paginationComplete"] end applications_array end
change_status(applicant_id, status_id)
click to toggle source
Change applicant's status – POST /applications/:id/status
# File lib/bamboozled/api/applicant_tracking.rb, line 55 def change_status(applicant_id, status_id) details = { status: status_id.to_i }.to_json options = { body: details, headers: { "Content-Type" => "application/json" } } request(:post, "applicant_tracking/applications/#{applicant_id}/status", options) end
job_summaries(params = {})
click to toggle source
Get a list of job summaries – GET /jobs
# File lib/bamboozled/api/applicant_tracking.rb, line 13 def job_summaries(params = {}) # rubocop:disable Style/OptionHash query = { "statusGroups": "ALL", # JOB_STATUS_GROUPS "sortBy": "created", # "count", "title", "lead", "created", "status" "sortOrder": "ASC" # "ASC", "DESC" }.merge(params) request(:get, "applicant_tracking/jobs", query: query) end
statuses()
click to toggle source
Get a list of statuses for a company – GET /statuses
# File lib/bamboozled/api/applicant_tracking.rb, line 50 def statuses request(:get, "applicant_tracking/statuses") end
Protected Instance Methods
request_applications(params = {})
click to toggle source
# File lib/bamboozled/api/applicant_tracking.rb, line 64 def request_applications(params = {}) # rubocop:disable Style/OptionHash # Also supported: # page, jobId, applicationStatusId, applicationStatus (APPLICATION_STATUS_GROUPS), # jobStatusGroups (JOB_STATUS_GROUPS), searchString query = { "sortBy": "created_date", # "first_name", "job_title", "rating", "phone", "status", "last_updated", "created_date" "sortOrder": "ASC" # "ASC", "DESC" }.merge(params) request(:get, "applicant_tracking/applications", query: query) end