Pular para o conteúdo principal

Criar e Atualizar Vagas

A InHire expõe dois endpoints para o ciclo de vida de uma vaga:

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 vaga
  • specialization — especialização da vaga
  • locationRequired — define se a vaga exige local fixo de trabalho
  • talentSuggestions — habilita sugestões automáticas de talentos
  • stages — 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.