Application creation
The target group for this API are 3rd party partners of softgarden that are integrating into the marketplace. This API is not suitable for building your own application form or job portal. Please use the FrontendAPIV3 for this purpose. |
The creation of an application is done by posting the application JSON data structure to:
1 |
POST https://jobdb.softgarden.de/jobdb/public/apply/external |
Application data structure
The following example shows the data structure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
{ "header" : { "jobId" : "123456", "jobBoard" : "MyJobBoard" }, "body" : { "photo" : { "fileName" : "avatar.jpeg", "fileType" : "image/jpeg", "binaryData" : "XMgdGhlIENWIGluIFRYlR3byBMaW5lcy4uL…GluIFRYVCB=" }, "academicTitle" : "", "firstName" : "John", "lastName" : "Doe", "gender" : "M", "nationality" : "2800137", "birthDate" : "1980-09-22", "email" : "john.doe@somewhere.com", "telephone" : "00155500982102" "mobile" : "00155533388777", "address" : { "postalCode" : "10020", "street" : "22 Bedford Ave", "countryCode" : "US", "city" : "New York" }, "cv" : { "fileName" : "CV.txt", "fileType" : "txt", "binaryData" : "ClRoaXMgaXMgdGhlIENXQuClR3byBMaW5lcy4uLgo=" }, "coverLetter" : "Dear ladies and gentlemen…", "experiences" : [ { "position" : "Product Manager", "careerLevel" : "Management", "company" : "Smart Solutions Inc.", "startDate" : "2017-09-22", "endDate" : "2019-04-12", "untilToday" : true, "description" : "In this position…" }, ... ], "educations" : [ { "fieldOfStudy" : "Product Development", "degree" : "Bachelor", "university" : "Harvard", "startDate" : "2010-01-02", "endDate" : "2014-01-15", "specializedSubjects" : "…" } ... ], "documents" : [ { "fileName" : "Certificate.pdf", "fileType" : "pdf", "binaryData" : "XMgaXMgdGhlIENWIGluI" }, ... ], "languages" : [ { "language" : "en", "level" : 3 } ... ], "answers" : [ { "questionId" : "9", "answer" : "Product Manager" }, { "questionId" : "11", "answer" : "3eb06831-b513-4f19-bffc-c2a2f4e6353c" }, { "questionId" : "-101", // preferred location question id "answer" : "2244" // preferred location id } ... ], "privacyPolicyAccepted" : true, "privacyPolicyAcceptedDate" : "2020-05-14T13:11:46.920Z" } |
Explanation of the data structure
Header Section
jobId (mandatory): | The id of the job to apply to |
jobBoard (mandatory): | The name or id of your job board. Can be an arbitrary value and serves for logging purposes only. |
Body Section
photo (optional): | The applicant’s photo file. The binaryData field must contain a base64 encoded byte stream |
academicTitle (optional): | Academic title |
firstName (mandatory): | Applicant’s first name |
lastName (mandatory): | Applicant’s last name |
gender (optional): | Valid values are M, F, D, MALE, FEMALE, DIVERSE and undefined if absent |
nationality (optional [changed in 20.27.0]): | The id of the nationality catalog values (see Job information page) |
birthDate (optional [changed in 20.27.0]): | Applicant’s birth date in the format “yyyy-MM-dd’T'” |
email (mandatory): | Applicant’s email address |
address (optional): | Address (note: countryCode must be an ISO2-Code i.e. “US”) |
telephone (optional): | Standard telephone number |
mobile (optional): | Mobile phone number |
cv (optional): | CV as document structure (base64 encoded binary data) |
coverLetter (optional): | The coverletter as plain text |
experiences (optional): | Array of the experience structure |
educations (optional): | Array of the education structure |
documents (optional): | Additional documents as document structure (base64 encoded binary data) |
languages (optional): | Array of languages. Valid level values are 0 – Basic knowledge, 1 – Good knowlegde, 2 – Fluent, 3 – First Language |
answers (mandatory in case job contains questions): | Array of answers according to questions (see job information page) |
privacyPolicyAccepted (optional): | Boolean flag if applicant has accepted the privacy policy statement |
privacyPolicyAcceptedDate (optional): | Date in the format “yyyy-MM-dd’T’HH:mm:ss.SSS’Z'” |
Response
In case of success (HTTP status 200) a JSON data structure is returned:
1 2 3 4 5 6 |
{ "jobId" : 123456, "applicationId" : "2b22459b-1782-4009-ac7a-4656457fbb9a", "projectId" : "b382e529-8e5f-4701-be6e-b4f3d4eb121e", "timestamp" : "2020-05-17T17:46:23.000Z" } |
In case an error occurred the HTTP status is 401 (unauthorized), 500 (Internal Server Error) or 400 (Bad Request). A HTTP status 400 indicates missing or invalid data. In this case the error message provides further information.
Since release 20.33.0 the HTTP status code 409 (conflict) indicates that an applicant with the provided e-mail address already applied to the given job.
Table with error message keys:
ERROR_HEADER_INCOMPLETE | Header structure is missing |
ERROR_BODY_MISSING | Body structure is missing |
ERROR_INVALID_NATIONALITY_ID | The value in field nationality contains an invalid id |
ERROR_APPLICANT_PROFILE | An error occurred creating the applicant profile |
ERROR_DATA_VALIDATION | Mandatory fields are missing. This can be one of the following: |
ERROR_FIRSTNAME_REQUIRED | |
ERROR_LASTNAME_REQUIRED | |
ERROR_EMAIL_REQUIRED | |
ERROR_LANGUAGE_REQUIRED | |
ERROR_ANSWERS_REQUIRED | The job contains prescreeing questions but no answers were provided |
ERROR_ANSWERS_INCOMPLETE | Questions of the job were not answered completely |
ERROR_QUESTION_ID_INVALID | An invalid question id was provided |
ERROR_ANSWER_CATALOG_ID_INVALID | An invalid id was passed for a question of type CATALOG |
ERROR_ALREADY_APPLIED (since 20.33.0) | The applicant with the provided e-mail address already applied to the given job |