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 vagasTALENTS— TalentosREQUISITIONS— Requisições de vagasJOBS— VagasALL— Todos os campos personalizados, independentemente da entidade
Parâmetros
entity(path, obrigatório): a entidade cujos campos personalizados serão retornados.excludeOptions(query, opcional): quandotrue, a propriedadeoptionsdos campos do tiposelectnã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();