Criar e Atualizar Vagas
A InHire expõe dois endpoints para o ciclo de vida de uma vaga:
- Criar vaga —
POST /jobs - Atualizar vaga —
PATCH /jobs/{id}
Criando uma vaga
A criação aceita um payload rico que cobre desde dados básicos da vaga (nome, área, senioridade) até configurações de funil, diversidade, screening, página de divulgação, posiç ões e requisições associadas.
Campos obrigatórios
Os campos a seguir devem ser enviados obrigatoriamente na criação:
name— nome da vagaspecialization— especialização da vagalocationRequired— define se a vaga exige local fixo de trabalhotalentSuggestions— habilita sugestões automáticas de talentosstages— lista das etapas do funil de seleção da vaga
Consulte o schema completo em Criar vaga para ver todos os campos opcionais aceitos.
Exemplo de criação em TypeScript
const INHIRE_AUTH_URL = "https://auth.inhire.app";
const INHIRE_API_URL = "https://api.inhire.app";
let INHIRE_TOKEN = "";
async function getAccessToken() {
const response = await fetch(`${INHIRE_AUTH_URL}/login`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Tenant": "{{tenantId}}",
},
body: JSON.stringify({ email: "{{email cadastrado no InHire}}", password: "{{senha}}" }),
});
const data = await response.json();
INHIRE_TOKEN = data.accessToken;
}
async function createJob(job: any) {
const response = await fetch(`${INHIRE_API_URL}/jobs`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${INHIRE_TOKEN}`,
},
body: JSON.stringify(job),
});
return response.json();
}
async function main() {
await getAccessToken();
const job = await createJob({
name: "Engenheiro de Software Pleno",
specialization: "back-end",
locationRequired: false,
talentSuggestions: true,
stages: [
// ... etapas do funil de seleção
],
});
console.log(job.id);
}
main();
Atualizando uma vaga
A atualização é parcial: envie apenas os campos que mudaram. O id da vaga é informado no path.
Exemplo de atualização em TypeScript
async function updateJob(jobId: string, partialJob: any) {
const response = await fetch(`${INHIRE_API_URL}/jobs/${jobId}`, {
method: "PATCH",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${INHIRE_TOKEN}`,
},
body: JSON.stringify(partialJob),
});
return response.json();
}
// Exemplo: alterando o status de uma vaga existente para "open"
await updateJob("{{jobId}}", { status: "open" });
Consulte o schema completo dos campos atualizáveis em Atualizar vaga.