Upload a document to a candidate profile
Request Headers:
Content-Type: multipart/form-data;
Authorization: {Token}
Request Body Example:
-----------------------------{...boundary}
Content-Disposition: form-data; name="aCv"; filename="cv.pdf"
Content-Type: application/pdf
...contents of cv.pdf file
-----------------------------{...boundary}
Parameters:
id: Id of Candidate. Required.
type: See Value under Document Types. Optional (default set to CV).
extractCV: Boolean value. Type must be CV. Extracts content of CV and populates empty fields of the Candidate. Optional (default set to true). Extraction takes a few seconds.
Allowed files types
- docx
- doc
Document Types
Document Type | Value |
---|---|
CV | 1 |
Transcript | 2 |
Drivers License | 3 |
Identity Document | 4 |
Passport | 5 |
Other | 7 |
Result Codes
403 Forbidden
200 OK
202 Accepted
400 Bad request
500 Internal server error
Code Example
private static async Task<Stream> Upload(HttpPostedFileBase file, int candidateId, int fileType, bool cvUpload)
{
var actionUrl = $"https://api.simplify.hr/v1/candidates/document?id={candidateId}&type={fileType}&extractCV={cvUpload}";
HttpContent fileStreamContent = new StreamContent(file.InputStream);
fileStreamContent.Headers.ContentType = new MediaTypeHeaderValue(file.ContentType);
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Your Oauth token");
using (var formData = new MultipartFormDataContent())
{
formData.Add(fileStreamContent, "file", file.FileName);
var response = await client.PostAsync(actionUrl, formData);
if (!response.IsSuccessStatusCode)
{
return null;
}
return await response.Content.ReadAsStreamAsync();
}
}
}