At the time of application, you will receive a parameter "__BBPPID" on your application URL.
Using this information you can send a HTTP request to the Broadbean Candidate Hub to request the candidate's profile information (provided by the job board they have applied on in real-time) and pre-populate your apply form.
To fetch the candidate you will need to make a GET request to
https://candidatehub.adcourier.com/candidates/ats-prepop/<__BBPPID>
With the following custom headers:
X-PREPOP-SIGNATURE: <SIGNATURE_HASH>
X-PREPOP-DESTINATION: <DESTINATION_ID> (provided by BB)
X-PREPOP-SIGNATURE-TIME: <SIGNATURE_TIME_EPOCH>
<__BBPPID> is the param that Broadbean append to the apply URL during the pre-populate application redirection.
<SIGNATURE_HASH> is the SHA256/HMAC hash generated when using the private encryption token ( provided by BB ) on the string of "<DESTINATION_ID>|<SIGNATURE_TIME_EPOCH>"
We recommend strict timeouts around requests to the Candidate Hub and if the request is unsuccessful for any reason you should not block the applicants ability to apply without the pre-population.
The __BBPPID is only valid for 1 minute and after this time the retrieval will not be successful.
Example request
Headers:
X-PREPOP-SIGNATURE: e52cbe1ec5c26ff40652109b5620882bffcd6001ecd35ed83da3702538c1c8c4
X-PREPOP-DESTINATION: mydestination
X-PREPOP-SIGNATURE-TIME: 1541605485000
GET https://candidatehub.adcourier.com/candidates/ats-prepop/eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NDE2MDU3ODEuMCwicHJlcG9wX2NhY2hlX2lkIjoiOTlEQzFCRkMtRTJBNC0xMUU4LUIxRTUtQjk0MTQ3NDRBMzEwIiwiY2xpZW50X2lkIjoiY2hyaXNwIn0.Rg-8gc8DEFklUIBCIO8xCmHIjgZPHBKW3MVAR5TM5Pc
Example response
{
"meta_info" : {
"hub_transaction_id" : "UniqueHubTransactionId",
"hub_client_id" : "ClientIDFromCandidateHub",
"hub_candidate_id" : "CandidateIDFromHub",
"hub_source_id" : "SourceIDFromHub",
"hub_geostore_id" : "GeoRegionIDFromHub",
"hub_schema_version" : 1,
"import_process_report_url" : "http://candidatehub.adcourier.com/report/onetimetoken"
},
"candidate" : {
"name" : "John Renbourn",
"email" : "john@renbourn.com",
"contact_telephone" : "0123 456 7890",
"mobile_telephone" : "0123 456 7890",
"location_address" : "Address Details",
"location_city" : "Edinburgh",
"location_county" : "Leith",
"location_country" : "Scotland",
"location_postcode" : "EH6 4AU",
"location_longitude" : "-0.564736",
"location_latitude" : "51.803398",
"current_job_title" : "Guitar Maestro",
"current_job_employer" : "Broadbean Technology",
"current_job_startdate" : "1944-08-08T00:00:00",
"current_job_enddate" : "2015-03-26T00:00:00",
"documents" : [
{
"filename" : "blah.doc",
"type" : "cv",
"content" : "base64"
},
{
"filename" : "blah.json",
"type" : "parsed_cv",
"content" : "base64"
}
]
},
"context" : {
"candidate_source_id" : "provided",
"job_id" : "12345",
"job_data" : {
"apply_url" : "https://aplitrak.com...",
},
"consent_level" : "future_roles|role_only"
}
}
Callback
Upon a successful application, a POST request should be sent to the import_process_report_url to confirm a successful application:
POST https://candidateimporter.adcourier.com/candidate/report/onetimetokenRequest
Content-Type: application/json
{
"success" : 1, # boolean 1-successful 0-failed
"status": "success", # success, failure, duplicate, rejected
"message": "Application completed",
"hub_transaction_id" : "UniqueHubTransactionId",
"hub_candidate_id" : "CandidateIdinTransaction",
"destination_candidate_id" : "UID of candidate in ATS"
}
Response
Content-Type:application/json
{
"success": 1,
"message": "Process Report Received"
}