← Dashboard · API (hub)

Webhooks VagaFit ATS

Configure em Comunicação → Webhooks outbound. Cada evento é enviado como POST JSON.

Visão geral da API (auth, sync Make/Zapier, REST): vagafit.net/api.

Inbound (Make → VagaFit): sync de colaboradores e sucessão / 9-Box usam o mesmo webhook_secret no header X-VagaFit-Sync-Secret.

Assinatura HMAC

Header X-VagaFit-Signature = HMAC-SHA256 do body JSON usando o secret configurado.

Eventos

Payload Padrão de Contratação

Ative em Configurações → 5. Avançado. Ao mover para Contratado, o VagaFit envia contratacao.payload_pdi (e inclui o mesmo bloco em candidatura.contratada.data.payload_contratacao).

{
  "evento": "contratacao.payload_pdi",
  "ts": "2026-07-20T15:00:00.000Z",
  "candidatura_id": "CD-12345678",
  "data": {
    "forcas": ["Comunicação", "Ownership", "Skill alinhada: sql"],
    "gaps_identificados": ["Desenvolver/aprofundar skill: python"],
    "sugestao_pdi_90_dias": [
      {
        "titulo": "Dominar o playbook do time em 30 dias",
        "prazo_dias": 90,
        "origem": "okr_rampa",
        "prioridade": 1,
        "descricao": "..."
      }
    ],
    "colaborador": { "nome": "...", "email": "..." },
    "vaga_titulo": "Product Analyst",
    "score_match": 82,
    "atribuicao_canal": {
      "origem": "extension",
      "canal_label": "Extensão VagaFit",
      "veio_da_extensao": true,
      "cupom_origem": "@JULIANAVAZ",
      "embaixador": {
        "codigo": "@JULIANAVAZ",
        "nivel": "ouro",
        "comissao_pct": 30
      },
      "beneficios_indicado": {
        "trial_pro_horas": 48,
        "desconto_primeiro_mes_pct": 20
      },
      "chaves_cruzamento": {
        "candidatura_id": "CD-12345678",
        "email_colaborador": "ana@empresa.com",
        "vaga_id": "VG-12345678"
      },
      "performance_pos_contratacao": {
        "fonte": null,
        "metas_batidas_pct": null,
        "faturamento_atribuido": null
      },
      "custo_contratacao_eficiente": {
        "custo_canal_estimado": null,
        "custo_por_contratacao": null,
        "observacao": "Semente de schema. Cruze origem com Mereo no Make."
      }
    }
  }
}

No Make/n8n: filtre por evento === "contratacao.payload_pdi" e mapeie os campos para o rascunho de PDI do seu software de performance.

Atribuição de canal (Custo por Contratação Eficiente)

Todo evento de candidatura (criada, status, contratada) e o payload PDI incluem atribuicao_canal / origem: extension, link, manual, interno, sucessao. Quando houver cupom de embaixador (@NOME), o bloco traz também embaixador: { codigo, nivel, comissao_pct } e beneficios_indicado (stub Pro: 48h trial + 20% 1º mês).

Use atribuicao_canal.chaves_cruzamento.email_colaborador no Make para buscar metas/faturamento no Mereo e comparar se hires da extensão performam melhor que outros canais. Os campos performance_pos_contratacao e custo_contratacao_eficiente nascem null — o VagaFit ainda não calcula ROI; o contrato já existe para você preencher na automação.

Payload

{
  "evento": "candidatura.status_alterado",
  "ts": "2026-06-18T20:00:00.000Z",
  "candidatura_id": "CD-12345678",
  "data": {
    "candidatura_id": "CD-12345678",
    "vaga_id": "VG-12345678",
    "status_pipeline": "Em Contato",
    "origem": "extension",
    "atribuicao_canal": { "origem": "extension", "canal_label": "Extensão VagaFit", "veio_da_extensao": true },
    "de": "Novo Lead",
    "para": "Em Contato",
    "candidato": { "nome": "...", "email": "..." }
  }
}

WhatsApp (via webhook)

Ative Incluir payload WhatsApp em Comunicação. O JSON inclui integracao.whatsapp.mensagem_sugerida para rotear no n8n → Z-API / Evolution / Twilio.

Portal do candidato

Link único em {{link_portal}} nos e-mails. Página pública: /candidato?t=TOKEN (validade 90 dias).

Extensão → vaga

O ingest POST /api/talentos/ingest aceita vaga_titulo e vaga_id. A extensão envia o título da vaga do LinkedIn; o ATS vincula automaticamente com score.

Falhas ficam na aba EventosWebhook (Google Sheets) com até 5 tentativas. O cron diário reprocessa pendentes.

Sync de colaboradores (Mobilidade Interna)

Além dos webhooks outbound, o VagaFit aceita sync inbound da base interna (Mereo, Sólides, planilha HRIS via Make/Zapier).

POST /api/v1/colaboradores/sync (alias /api/colaboradores-internos/sync)

Dashboard: menu Mobilidade Interna (CSV com mapeamento IA). Docs completas: /api.

n8n / Make

Use um nó Webhook POST, valide o header de assinatura e roteie por evento.