Pular para o conteúdo principal

Obter todos os Campos Personalizados de uma Entidade

A InHire expõe um endpoint para listar todos os campos personalizados configurados em uma entidade específica do tenant: Obter Campos Personalizados de uma entidade.

Entidades suportadas​

A entidade é informada como parâmetro de rota. Os valores aceitos são:

  • JOB_TALENTS — Candidaturas de talentos a vagas
  • TALENTS — Talentos
  • REQUISITIONS — Requisições de vagas
  • JOBS — Vagas
  • ALL — Todos os campos personalizados, independentemente da entidade

Parâmetros​

  • entity (path, obrigatório): a entidade cujos campos personalizados serão retornados.
  • excludeOptions (query, opcional): quando true, a propriedade options dos campos do tipo select não é retornada na resposta. Útil quando você só precisa da estrutura dos campos e quer reduzir o tamanho do payload.

Resposta​

A resposta é um array de campos personalizados. Cada item inclui as propriedades configuradas no momento da criação, como name, type, entity, order, required, options, requiredIn, showIn e as condições de exibição quando aplicáveis. Veja o schema completo em Obter Campos Personalizados de uma entidade.

Exemplo de uso 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;
}

/**
* Listar campos personalizados de uma entidade
*/
async function listCustomFields(entity: "JOB_TALENTS" | "TALENTS" | "REQUISITIONS" | "JOBS" | "ALL") {
const response = await fetch(`${INHIRE_API_URL}/custom-data-manager/custom-fields/entity/${entity}`, {
method: "GET",
headers: {
"Authorization": `Bearer ${INHIRE_TOKEN}`,
},
});

return response.json();
}

async function main() {
await getAccessToken();
const fields = await listCustomFields("JOBS");
console.log(fields);
}

main();