External job board providers use the POST Candidate Sourcing endpoint to send candidate profiles and applications to Dayforce. Note that the response body of a call to GET Job Postings includes the field CandidateApplicationPostUrl. This is the general URL used for all POST Candidate Sourcing requests.
Candidate data can be submitted via this POST endpoint with or without specifying a job posting. If no job posting is specified in the request body, the candidate data will be imported into Dayforce for later use and a candidate profile will be created for the candidate.
To submit candidate applications to Dayforce, the job posting must be specified, with at least one of jobId or jobRequisitionId provided. If both are provided, they must match or else the application won't be submitted successfully.
To receive candidate data from job board providers using this endpoint, you need to enable the Allow Candidates and Job Application Sourcing from External Job Boards client property in Recruiting Setup > Client Properties.
The user role that is posting resumes and additional documents requires adequate create privileges. Go to the Dayforce Developer Network for details on this, and on required and optional fields.
Request Body
Two different schemas can be used to send candidate data to Dayforce using this endpoint. The first is a candidate application for a specific job posting, and it includes responses to job posting questionnaires that have been retrieved using GET Job Posting Questionnaires. The second is a candidate profile only, without an application for a specific job. The following code samples demonstrate each of these types of schemas.
Candidate Application
The following code sample demonstrates a call that includes a candidate application:
{
"locale": "en_US",
"appliedOnMillis": 1583977017786,
"candidateSource": {
"shortName": "TestDemo"
},
"job":{
"jobId":"41173"
},
"questions": {
"url": "https://partnerapi-qa.np.dayforcehcm.com/api/861qa18865/v1/JobPostingQuestionnaires?JobPostingId=41173&CultureId=1033",
"retrievedOnMillis": 1492528128779,
"questions": [{
"id": "32-23",
"type": "select",
"question": "Are you willing to relocate?",
"options": [
{
"value": "24",
"label": "Yes"
},
{
"value": "25",
"label": "No"
}
]
},
{
"id": "32-pagebreak",
"type": "pagebreak",
"question": ""
} ],
"answers": [{
"id": "32-23",
"value": "25"
},
{
"id": "32-25",
"value": "28"
},
{
"id": "32-26",
"value": "31"
}
]
},
"applicant": {
"fullName": "Test Test",
"firstName": "Test",
"lastName": "Test",
"coverletter": " \r\n Good Day\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
"email": "test@test.com",
"phoneNumber": "(91) 121211221",
"resume": {
"json":{
"firstName":"Test",
"lastName":"Test",
"headline":"headline",
"summary":"summary",
"publicProfileUrl":"http://www.indeed.com/r/123456",
"additionalInfo":"me-additionalinfo",
"phoneNumber":"(91) 121211221",
"location":{
"city":"Toronto"
"PostalCode": "M1M 1M1",
"Address1": "1 XYZ Street",
"Country": "Canada",
},
"skills":"HTML, JavaScript",
"positions":{
"_total":1,
"values":[
{
"title":"Test Eng",
"company":"Start UP",
"location":"Toronto, Canada",
"startDateMonth":"09",
"startDateYear":"2007",
"endDateMonth":"-1",
"endDateYear":"-1",
"endCurrent":true,
"description":"I am the current Test Engineer for Indeed Apply."
}
]
},
"educations":{
"_total":1,
"values":[
{
"degree":"B.A.",
"field":"Computer Science",
"school":"University of Toronto, Toronto",
"location":"Toronto, Canada",
"startDateYear":"2002",
"endDateYear":"2006",
"endCurrent":false
}
]
},
"links":{
"_total":1,
"values":[
{
"url":"http://www.indeed.com"
}
]
},
"awards":{
"_total":1,
"values":[
{
"title":"Best PM at Indeed",
"dateMonth":"04",
"dateYear":"2008",
"description":"Best PM is voted on by Indeed employees and given to the PM with the most votes."
}
]
},
"certifications":{
"_total":1,
"values":[
{
"title":"cert-title",
"startDateMonth":"02",
"startDateYear":"2007",
"endDateMonth":"02",
"endDateYear":"2008",
"endCurrent":false,
"description":"cert-description"
}
]
},
"associations":{
"_total":1,
"values":[
{
"title":"group-title",
"startDateMonth":"01",
"startDateYear":"2009",
"endDateMonth":"-1",
"endDateYear":"-1",
"endCurrent":true,
"description":"group-description"
}
]
},
"patents":{
"_total":1,
"values":[
{
"patentNumber":"patent-number",
"title":"patent-title",
"url":"patent-url",
"dateMonth":"02",
"dateYear":"2009",
"description":"patent-description"
}
]
},
"publications":{
"_total":1,
"values":[
{
"title":"pub-title",
"url":"pub-url",
"dateDay":"14",
"dateMonth":"10",
"dateYear":"2004",
"description":"pub-description"
}
]
},
"militaryServices":{
"_total":1,
"values":[
{
"serviceCountry":"mil-country",
"branch":"mil-branch",
"rank":"mil-rank",
"startDateMonth":"02",
"startDateYear":"2003",
"endDateMonth":"12",
"endDateYear":"2008",
"endCurrent":false,
"commendations":"mil-commendations",
"description":"mil-description"
}
]
}
},
"file": {
"fileName":"CV.doc",
"data":"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAWwAAAAAAAAAAEAAAXQAAAAEAAAD"
}
},
"additionalDocuments":[
{
"fileName":"Document 1.pdf",
"data":"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyjc+Pg0Kc3RhcnR4cmVmDQozNTc2Nw0KJSVFT0Y="
},
{
"fileName":"Doc 2.pdf",
"data":"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFMTA4DQolJUVPRg=="
}
]
}
}
Candidate Profile Only
The following code sample demonstrates a call that includes a candidate profile only:
{
"locale": "en_US",
"appliedOnMillis": 1583977017786,
"candidateSource": {
"shortName": "recruiterdemo"
},
"applicant": {
"fullName": "Jane Doe",
"firstName": "Jane",
"lastName": "Doe",
"coverletter": " \r\n Good Day\r\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.",
"email": "activepersonal@test.com",
"phoneNumber": "(647) 1234225",
"resume": {
"json":{
"firstName":"Jane",
"lastName":"Doe",
"headline":"headline",
"summary":"summary",
"publicProfileUrl":"http://www.indeed.com/r/123456",
"additionalInfo":"me-additionalinfo",
"phoneNumber":"1234225",
"location":{
"city":"Austin",
"PostalCode": "12345",
"Address1": "1 XYZ Street",
"Country": "USA",
"StateCode": "TX",
"StateName": "Texas",
"County": "Travis"
},
"skills":"HTML, JavaScript",
"positions":{
"_total":1,
"values":[
{
"title":"Test Manager",
"company":"Startup",
"location":"Pasadena, CA",
"startDateMonth":"09",
"startDateYear":"2007",
"endDateMonth":"-1",
"endDateYear":"-1",
"endCurrent":true,
"description":"I am the current product manager for Indeed Apply."
}
]
},
"educations":{
"_total":1,
"values":[
{
"degree":"B.E.",
"field":"Mechanical Engg",
"school":"American University of Texas, Austin",
"location":"Austin, TX",
"startDateYear":"2002",
"endDateYear":"2006",
"endCurrent":false
}
]
},
"links":{
"_total":1,
"values":[
{
"url":"http://www.indeed.com"
}
]
},
"awards":{
"_total":1,
"values":[
{
"title":"Best PM at Indeed",
"dateMonth":"04",
"dateYear":"2008",
"description":"Best PM is voted on by Indeed employees and given to the PM with the most votes."
}
]
},
"certifications":{
"_total":1,
"values":[
{
"title":"cert-title",
"startDateMonth":"02",
"startDateYear":"2007",
"endDateMonth":"02",
"endDateYear":"2008",
"endCurrent":false,
"description":"cert-description"
}
]
},
"associations":{
"_total":1,
"values":[
{
"title":"group-title",
"startDateMonth":"01",
"startDateYear":"2009",
"endDateMonth":"-1",
"endDateYear":"-1",
"endCurrent":true,
"description":"group-description"
}
]
},
"patents":{
"_total":1,
"values":[
{
"patentNumber":"patent-number",
"title":"patent-title",
"url":"patent-url",
"dateMonth":"02",
"dateYear":"2009",
"description":"patent-description"
}
]
},
"publications":{
"_total":1,
"values":[
{
"title":"pub-title",
"url":"pub-url",
"dateDay":"14",
"dateMonth":"10",
"dateYear":"2004",
"description":"pub-description"
}
]
},
"militaryServices":{
"_total":1,
"values":[
{
"serviceCountry":"mil-country",
"branch":"mil-branch",
"rank":"mil-rank",
"startDateMonth":"02",
"startDateYear":"2003",
"endDateMonth":"12",
"endDateYear":"2008",
"endCurrent":false,
"commendations":"mil-commendations",
"description":"mil-description"
}
]
}
},
"file": {
"fileName":"sampleresume.doc",
"data":"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAWwAAAAAAAAAAEAAAXQAAAAEAAAD"
}
},
"additionalDocuments":[
{
"fileName":"Document 1.pdf",
"data":"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeXBlL0NhdGFsb2cvUGFnZXMgMiAwIFIvTGFuZyT0Y="
},
{
"fileName":"Doc 2.pdf",
"data":"JVBERi0xLjcNCiW1tbW1DQoxIDAgb2JqDQo8PC9UeUVPRg=="
}
]
}
}
Security
To use this endpoint, external job board providers need to authenticate the call using a Dayforce account with the Candidate and Job Application Sourcing system user role. You assign this in the Features tab of System Admin > Roles.
You need to create a separate user account for each job board provider so that you can identify in the Recruiting feature which job board each candidate application came from.