Pular para o conteúdo principal

Evento: Página de divulgação criada (JOB_PAGE_CREATED)

Dispara quando uma página de divulgação de uma vaga é criada.

Novo nos webhooks? Veja a visão geral para o conceito (registrar uma vez, receber sempre que a ação ocorre).

Criando o webhook​

Registre um webhook para o evento JOB_PAGE_CREATED (Criar webhook):

curl -X POST https://api.inhire.app/integrations/webhooks \
-H "Authorization: Bearer SEU_ACCESS_TOKEN" \
-H "X-Tenant: suaempresa" \
-H "Content-Type: application/json" \
-d '{
"name": "Página de divulgação criada",
"event": "JOB_PAGE_CREATED",
"url": "https://seu-sistema.com/webhooks/inhire/pagina-criada",
"headers": { "Authorization": "Bearer UM_SEGREDO_SEU" }
}'

A partir daí, o InHire chamará a sua URL sempre que este evento ocorrer. Para filtrar quais ocorrências recebe, adicione rules (ver abaixo).

Payload​

O corpo contém os atributos da página de divulgação criada, acrescidos dos metadados abaixo.

{
"tenantId": "suaempresa",
"id": "page-uuid",
"jobId": "5dfd3a1e-a5c3-4e53-a3f4-cdb4e311d315",
"generateSkillsMapWithAI": false,
"userId": "u-123",
"userName": "Recrutador"
}
CampoDescrição
idIdentificador da página de divulgação
jobIdVaga associada à página
(demais campos)Todos os atributos da página criada
generateSkillsMapWithAISe o mapa de skills será gerado com IA
userId / userNameQuem criou a página

Quando usar​

  • Divulgar a vaga automaticamente em redes sociais ou canais externos assim que a página fica disponível.
  • Registrar a URL pública da vaga em um sistema externo.

Filtrando com rules​

As regras avaliam os campos do payload (jobId, id, etc.).

Exemplo: recebendo o evento e buscando os dados​

O payload traz o id da página e o jobId. Use-os para buscar a página de divulgação e a vaga na API:

import express from "express";
import axios from "axios";

const app = express();
app.use(express.json());

// Cliente autenticado da API do InHire (use um service account — ver guia de Autenticação)
const inhire = axios.create({
baseURL: "https://api.inhire.app",
headers: {
Authorization: `Bearer ${process.env.INHIRE_TOKEN}`,
"X-Tenant": "suaempresa",
},
});

app.post("/webhooks/inhire/pagina-criada", async (req, res) => {
// Valide a origem usando o header secreto configurado no webhook
if (req.headers.authorization !== "Bearer UM_SEGREDO_SEU") {
return res.sendStatus(401);
}
res.sendStatus(200); // responda rápido e processe de forma assíncrona

const { id, jobId } = req.body;

const [{ data: pagina }, { data: vaga }] = await Promise.all([
inhire.get(`/job-posts/public/pages/${id}`), // a página de divulgação
inhire.get(`/jobs/${jobId}`), // a vaga
]);

console.log(`Página de divulgação criada para a vaga "${vaga.name}"`);

// ...sua lógica aqui (ex.: divulgar a URL em um canal externo)
});

app.listen(3000);

Endpoints usados: Obter uma Página de Divulgação e Obter vaga.