Post, Update and Renew a job
AvailableThe job is a json-encoded object in the content. The job model is described below. The job (identified by externalJobPostingId) cannot already exist.
HTTP Request [POST]
https://parceiros.empregos.com.br/api/job
- cURL
- C#
- JavaScript
- Python
curl -X 'POST' \
'https://parceiros.empregos.com.br/api/job' \
-H 'accept: */*' \
-H 'Authorization: bearer any' \
-H 'Content-Type: application/json' \
-d '{
"company": {
"applyUrl": "string",
"name": "string",
"logoUrl": "string",
"description": "string",
"industries": "Alimentos",
"companyId": "string",
"recruiterId": "string",
"nationalRegister": "string"
},
"externalJobPostingId": "string",
"jobPostingOperationType": "CREATE",
"title": "string",
"description": "string",
"location": {
"address": "Praça da República, São Paulo, SP",
"postalCode": "01045-000",
"geolocation": "-23.5440722,-46.6450811"
},
"salary": {
"min": 0,
"max": 0
},
"workplaceTypes": "On-site",
"employmentStatus": "string",
"experienceLevel": "string",
"trackingPixelUrl": "string",
"expireAt": "2023-12-26T14:10:50.530Z"
}'
using System;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
private const string ApiUrl = "https://parceiros.empregos.com.br/api/job";
static async Task Main(string[] args)
{
await CreateJob();
}
static async Task CreateJob()
{
using (HttpClient httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("*/*"));
httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", "any");
var jobData = new
{
company = new
{
applyUrl = "string",
name = "string",
logoUrl = "string",
description = "string",
industries = "Alimentos",
companyId = "string",
recruiterId = "string",
nationalRegister = "string"
},
externalJobPostingId = "string",
jobPostingOperationType = "CREATE",
title = "string",
description = "string",
location = new
{
address = "Praça da República, São Paulo, SP",
postalCode = "01045-000",
geolocation = "-23.5440722,-46.6450811"
},
salary = new
{
min = 0,
max = 0
},
workplaceTypes = "On-site",
employmentStatus = "string",
experienceLevel = "string",
trackingPixelUrl = "string",
expireAt = "2023-12-26T14:10:50.530Z"
};
var jsonData = JsonConvert.SerializeObject(jobData);
var content = new StringContent(jsonData, System.Text.Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(ApiUrl, content);
if (response.IsSuccessStatusCode)
{
string result = await response.Content.ReadAsStringAsync();
Console.WriteLine($"Job created successfully: {result}");
}
else
{
Console.WriteLine($"Failed to create job. Status Code: {response.StatusCode}");
}
}
}
}
const apiUrl = "https://parceiros.empregos.com.br/api/job";
const data = {
company: {
applyUrl: "string",
name: "string",
logoUrl: "string",
description: "string",
industries: "Alimentos",
companyId: "string",
recruiterId: "string",
nationalRegister: "string",
},
externalJobPostingId: "string",
jobPostingOperationType: "CREATE",
title: "string",
description: "string",
location: {
address: "Praça da República, São Paulo, SP",
postalCode: "01045-000",
geolocation: "-23.5440722,-46.6450811",
},
salary: {
min: 0,
max: 0,
},
workplaceTypes: "On-site",
employmentStatus: "string",
experienceLevel: "string",
trackingPixelUrl: "string",
expireAt: "2023-12-26T14:10:50.530Z",
};
fetch(apiUrl, {
method: "POST",
headers: {
Accept: "_/_",
Authorization: "bearer any",
"Content-Type": "application/json",
},
body: JSON.stringify(data),
});
import requests
import json
url = 'https://parceiros.empregos.com.br/api/job'
headers = {
'accept': '*/*',
'Authorization': 'bearer any',
'Content-Type': 'application/json'
}
data = {
"company": {
"applyUrl": "string",
"name": "string",
"logoUrl": "string",
"description": "string",
"industries": "Alimentos",
"companyId": "string",
"recruiterId": "string",
"nationalRegister": "string"
},
"externalJobPostingId": "string",
"jobPostingOperationType": "CREATE",
"title": "string",
"description": "string",
"location": {
"address": "Praça da República, São Paulo, SP",
"postalCode": "01045-000",
"geolocation": "-23.5440722,-46.6450811"
},
"salary": {
"min": 0,
"max": 0
},
"workplaceTypes": "On-site",
"employmentStatus": "string",
"experienceLevel": "string",
"trackingPixelUrl": "string",
"expireAt": "2023-12-26T14:10:50.530Z"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
Parameters [Request]
Field | Description | Type | Required |
---|---|---|---|
company | Represents the company that posted the job. | Object | Yes |
company.applyUrl | URL to which candidates are directed to apply (typically the URL of the job on the client's website or ATS system) | String | No |
company.name | The company name for which this job posting is created for. | String | Yes |
company.logoUrl | The company logo url. | String | No |
company.description | Description of the company's activies. | String | Yes |
company.industries | Represents industries of this job or company. EG: "Alimentos". | String | No |
company.companyId | Represents unique company id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 50 characters. | String | No |
company.recruiterId | Represents unique recruiter id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 50 characters. | String | No |
company.nationalRegister | National Register of Legal Entity ID. EG: The Brazilian National Registry of Legal Entities (Portuguese: Cadastro Nacional de Pessoas Jurídicas, “CNPJ”) is a nationwide registry of corporations, partnerships, foundations, investment funds, and other legal entities, created and maintained by the Brazilian Federal Revenue Service (Receita Federal do Brasil, “RFB”). Do not send an empty or null string for this field. The maximum allowed length is 200 characters. | String | Yes |
externalJobPostingId | Represents unique job id within the partner system. Do not send an empty or null string for this field. The maximum allowed length is 50 characters. | String | Yes |
jobPostingOperationType | Represents the operation on the job posting. Available operation options are: CREATE, UPDATE, RENEW. | String | Yes |
title | Represents the title of the job posting that will be published. Character limit: 200 | String | Yes |
description | Represents the job description including the job basic information, responsibility and so on. Character limit: 100 ~ 25,000. Limited set of HTML tags accepted: b, strong, u, i, br, p, ul, li, em. | String | Yes |
location | Represents the geographic location of the job position to hire. | Object | Yes (one of options have to be filled) |
location.address | Represents the address of the job position to hire. EG: "Praça da República, São Paulo, SP". Note: Set “Brazil” for undetermined locals. | String | Yes/No |
location.postalCode | Represents the Postal Code of the job position to hire. EG: "01045-000" | String | Yes/No |
location.geolocation | Represents the Postal Code of the job position to hire. EG: "-23.5440722,-46.6450811" | String | Yes/No |
workplaceTypes | Represents the workplace nature of the job. Available options are:On-site, Hybrid or Remote.Default: On-site. | String | No |
employmentStatus | Represents employment status of the job position. Available options are: FULL_TIME, PART_TIME, CONTRACT, INTERNSHIP, TEMPORARY, VOLUNTEER. If predefined Empregos Platform values are provided, they are displayed on the Empregos Platform job posting. If a non-standard value is provided, Empregos Platform attempts to standardize and match it to the closest pre-defined value. If no values are provided, Empregos Platform standardizes to the closest matched value based on other fields in the job posting. | String | No |
experienceLevel | Represents experience level of the job position to hire. Available options are: ENTRY_LEVEL, MID_SENIOR_LEVEL, DIRECTOR, EXECUTIVE, INTERNSHIP, ASSOCIATE, NOT_APPLICABLE. If predefined Empregos Platform values are provided, they are displayed on the Empregos Platform job posting. If a non-standard value is provided, Empregos Platform attempts to standardize and match it to the closest pre-defined value. If no values are provided, Empregos Platform standardizes to the closest matched value based on other fields in the job posting | String | No |
trackingPixelUrl | URL for the tracking pixel to be embedded on the job description | String | No |
salary | *** | Object | No |
salary.min | *** | Int | No |
salary.max | *** | Int | No |
expireAt | The date when a job should expire and no longer be available to users. This date should be greater than the current date. If this field is not provided, the default expiration is 90 days. | DateTime | No |