Evento: Requisição criada (REQUISITION_CREATED)
Dispara quando uma requisição de vaga é criada (a solicitação de abertura de vaga, antes de virar uma vaga propriamente dita).
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 REQUISITION_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": "Requisição criada",
"event": "REQUISITION_CREATED",
"url": "https://seu-sistema.com/webhooks/inhire/requisicao-criada",
"headers": { "Authorization": "Bearer UM_SEGREDO_SEU" }
}'
A partir daí, o InHire chamará a sua URL sempre que este evento ocorrer.
Payload
O objeto completo da requisição vem dentro de requisition.
{
"requisition": {
"id": "req-uuid",
"tenantId": "suaempresa",
"status": "pending",
"title": "Analista de Logística"
}
}
| Campo | Descrição |
|---|---|
requisition | Objeto completo da requisição criada (id, status, título, etc.) |
Diferente dos demais eventos, aqui os dados ficam dentro de requisition, e o
tenantId também. As rules deste evento avaliam apenas campos de primeiro nível do
corpo — campos aninhados dentro de requisition não são considerados.
Quando usar
- Iniciar um fluxo de aprovação em um sistema externo quando uma requisição é aberta.
- Registrar a solicitação em um ERP/orçamento de headcount.
- Notificar gestores sobre novas requisições pendentes.
Exemplo: recebendo o evento e buscando a requisição
O payload já traz a requisição completa em requisition. Se quiser o estado mais atual,
rebusque-a na API usando requisition.id:
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/requisicao-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 { requisition } = req.body;
const { data: atual } = await inhire.get(`/requisitions/${requisition.id}`); // estado atual
console.log(`Nova requisição "${atual.title}" — status: ${atual.status}`);
// ...sua lógica aqui (ex.: abrir aprovação no seu sistema)
});
app.listen(3000);
Endpoint usado: Obter Requisição.