Pular para conteúdo

Pesquisa externa oficial — v1.10.1

Pesquisa concluída em 2026-08-09, usando somente documentação, especificações, portais e repositórios oficiais. A disponibilidade pública de uma API ou página não equivale a uma licença geral para republicar seu conteúdo; as ressalvas abaixo fazem parte do contrato de implementação.

Fontes de oportunidades

Fonte oficial Contrato e uso recomendado Restrições e caveats
Greenhouse Job Board API Consumir somente os GET públicos: lista em /v1/boards/{board_token}/jobs, com content=true quando necessário, e detalhe em /jobs/{job_id}. Normalizar id, absolute_url, title, location, departamentos, escritórios e conteúdo, preservando o token do board e a URL de origem. updated_at não é necessariamente a data de publicação. O conteúdo pode conter HTML e precisa de sanitização. Não chamar o endpoint POST de candidatura. A documentação não concede licença aberta geral sobre os anúncios; acesso público não autoriza republicação irrestrita.
Lever Postings API Usar GET /v0/postings/{site}?skip=&limit= e GET /v0/postings/{site}/{posting-id}, considerando instâncias global e europeia. Fazer paginação no backend, preferir os campos textuais simples e preservar id, URL e site de origem. A API expõe apenas vagas publicadas, não oferece busca textual completa e tem CORS limitado no navegador. Não usar o POST de candidatura. O repositório oficial não explicita uma licença ampla para os dados das vagas; confirmar direitos antes de distribuir corpus ou cache.
schema.org JobPosting Ler apenas blocos application/ld+json; aceitar objeto, array, @graph, nós aninhados e @type como string ou array. Extrair identifier, hiringOrganization, jobLocation, jobLocationType, applicantLocationRequirements, employmentType, datePosted, validThrough, baseSalary, description e url. Impor limites de bytes, profundidade e quantidade de nós; sanitizar HTML e URLs. A versão corrente consultada é schema.org 30.0, de 2026-03-19. O vocabulário está sob CC BY-SA 3.0, mas essa licença não cobre o conteúdo publicado por terceiros.
RSS 2.0 e Atom 1.0 No RSS, formar identidade por guid, depois link canônico e, por fim, hash estável. No Atom, preservar id, xml:base, xml:lang e links alternate/self. Sanitizar conteúdo HTML/XHTML e manter a URL do feed e do item. Usar parser XML endurecido, sem DTD, XXE ou expansão de entidades, com limites de tamanho e profundidade. A especificação RSS consultada é a revisão 2.0.11, mantendo versão wire 2.0, sob CC BY-SA; o conteúdo de cada feed continua sujeito aos direitos do publicador.

HTTP condicional

Seguir o RFC 9110: guardar ETag e Last-Modified por URL e representação; enviar If-None-Match e, por compatibilidade, If-Modified-Since, com precedência para o ETag. Uma resposta 304 Not Modified reutiliza o corpo e o hash existentes, atualiza apenas a verificação e não cria novo snapshot semântico.

Validadores HTTP não substituem o hash do conteúdo. Todo conector também precisa de política de redirecionamento, timeout, backoff, limite de resposta e defesa contra SSRF.

Taxonomias e enriquecimento ocupacional

Fonte oficial Uso recomendado Versão, licença e limites
CBO — Classificação Brasileira de Ocupações e downloads oficiais Importar os artefatos oficiais de ocupações, famílias, grupos, sinônimos e perfis; tratar todo código como string. Registrar URL, data de coleta e SHA-256 de cada artefato. CBO 2002 é o nome da classificação, não uma versão imutável do conjunto; as regras consolidadas preveem atualizações anuais. A CBO tem finalidade classificatória administrativa e não regulamenta profissões nem confirma CREA, CRM, OAB ou outro registro. O portal indica CC BY-ND 3.0 no rodapé, mas o pacote de dados não apresenta licença específica inequívoca; confirmar com o MTE antes de embutir ou redistribuir cache derivado.
QBQ — Quadro Brasileiro de Qualificações e portal oficial Relacionar perfis por código CBO e importar, quando disponível, conhecimentos, habilidades, atitudes e nível de qualificação. Guardar data de coleta e hash do arquivo Excel ou da resposta. Profundidade, frequência e importância descrevem a ocupação, não a proficiência do candidato. A cobertura evolui e o portal não expõe versão de máquina estável. Aplicam-se as mesmas dúvidas de licenciamento explícito do pacote CBO.
ESCO, downloads e API Preferir downloads versionados CSV, JSON-LD ou RDF e seus deltas; preservar URI estável, idioma, tipo de conceito e relações. Qualquer associação deve nascer como semantic_candidate e exigir revisão humana. Versão corrente consultada: ESCO 1.2.1, publicada em 2025-12-10. O pacote em pt não garante variante pt-BR e deve ser rotulado corretamente. O software da API usa EUPL 1.2, o que não deve ser confundido com a licença dos dados. Os dados são oferecidos como Linked Open Data; conservar atribuição e versão. A Local API corrente é apenas de referência e será substituída.
O*NET Database, Web Services 2.0 e licença Para operação local-first, preferir o download oficial a uma API credenciada. Preservar código O*NET-SOC, elemento, escala, fonte e versão. Usar como enriquecimento do mercado dos EUA, nunca como evidência direta sobre um candidato. Versão corrente consultada: O*NET 30.3, maio de 2026, com atualizações trimestrais. Downloads sob CC BY 4.0: creditar ONET Database e U.S. Department of Labor/ETA, ligar a licença, indicar alterações e exibir a versão. O uso da API tem termos e conta próprios, não transferíveis. Respeitar a marca ONET®.

Mapeamentos de taxonomia devem sempre registrar taxonomy_ref, match_method, confidence e review_status. Nenhum match confirma habilidade, experiência, ocupação, certificado ou registro profissional do candidato.

Interoperabilidade de currículo

A referência é o JSON Resume Schema, mantido no repositório canônico. O mapper deve cobrir basics, work, volunteer, education, awards, certificates, publications, skills, languages, interests, references e projects, preservando campos desconhecidos e datas parciais no round-trip.

A versão publicada é 1.0.0, sob licença MIT. O repositório antigo resume-schema está arquivado/movido. O schema aceita propriedades adicionais, mas consumidores externos podem ignorá-las. Registros profissionais não são certificados: devem usar uma extensão identificável, por exemplo x-sotuhire.professionalRegistrations, com teste explícito de round-trip.

Calendário ICS

Seguir o RFC 5545:

  • VCALENDAR deve conter PRODID e VERSION;
  • cada VEVENT precisa de UID globalmente único e estável e de DTSTAMP;
  • DTSTART é obrigatório quando não há METHOD;
  • usar UTC ou TZID explícito acompanhado de VTIMEZONE; eventos de dia inteiro usam VALUE=DATE, e DTEND é exclusivo;
  • escapar texto, emitir CRLF e dobrar linhas acima de 75 octetos sem quebrar UTF-8;
  • omitir METHOD em exportação simples e nunca importar ou enviar convites automaticamente.

O UID deve derivar da identidade persistente da entidade, não do instante da exportação.

Locale e tema no navegador

Pelo WHATWG NavigatorLanguage, navigator.languages é uma lista ordenada de tags BCP 47 e navigator.language é sua primeira preferência. Na primeira execução, a primeira tag pt* seleciona pt-BR; as demais selecionam en-US. Persistir system, pt-BR ou en-US; no modo sistema, reagir a languagechange e formatar datas e números com Intl.DateTimeFormat e Intl.NumberFormat. Navegadores podem reduzir ou tornar plausível essa lista contra fingerprinting: locale não é nacionalidade e não deve ser enviado externamente sem necessidade.

Para tema, seguir prefers-color-scheme e color-scheme. O padrão é Sistema; observar matchMedia('(prefers-color-scheme: dark)') e seu evento de mudança somente nesse modo. Aplicar a preferência persistida antes do primeiro paint, por um script mínimo no <head>, e usar data-theme mais tokens semânticos. Declarar color-scheme para controles nativos. Os valores da media query são light e dark; ausência de preferência converge para light. Contraste, forced-colors e prefers-reduced-motion exigem testes próprios.

Provenance mínima

Todo registro externo ou snapshot deve carregar, quando aplicável:

source
source_kind
external_id
source_url
retrieved_at
source_version
content_hash
collection_method
etag
last_modified
license_url
attribution

O fluxo recomendado é: conector oficial somente leitura → snapshot com provenance → normalização determinística → dedupe explicável → ranking local/top-K → IA opcional → revisão humana.

Produtos de referência

Produto oficial Padrões úteis para a v1.10.1 Caveats de adoção
Curricu.lol A página oficial apresenta análise de currículo/LinkedIn por agentes, score ATS e estratégia de carreira; serve como referência de linguagem e jornada para público brasileiro. Não foi localizado repositório OSS ou licença oficial no site consultado. Não tratar o produto como código aberto nem reutilizar conteúdo ou implementação.
Reactive Resume Preview imediato, portabilidade JSON/PDF, uso básico sem conta e PDF gerado no cliente. MIT. A implantação self-hosted usa PostgreSQL e armazenamento opcional, incompatíveis com a persistência SQLite obrigatória; aproveitar padrões de UX, não a infraestrutura.
OpenResume Operação local no navegador, sem cadastro, importação de PDF, preview e foco em legibilidade ATS. AGPL-3.0; reutilização direta impõe obrigações fortes. Hipóteses centradas nos EUA não são universais para pt-BR.
JobSync Tracker, tarefas, currículos, dashboard, SQLite, conectores Greenhouse/Lever, pré-filtro local antes de IA e fila de revisão. MIT. Não copiar automações de candidatura ou semântica MCP incompatível com a política de fontes oficiais e ausência de auto-apply.
Resuml Currículo como dados, validação, interoperabilidade JSON Resume, operação local, CLI/MCP e avaliação contra descrição da vaga. ISC. É referência de portabilidade, mas a experiência SotuHire deve continuar centrada na aplicação, não em CLI.
career-ops Rubrica explícita, arquivos locais, rastreabilidade visível, tailoring e respostas como rascunhos revisáveis com decisão humana. MIT, com política de marca separada. Dados locais ainda podem ser enviados ao provedor de IA escolhido; aplicar minimização de contexto e transparência. Não copiar scanners de portais incompatíveis com a política de fontes oficiais.

Decisões de implementação

  1. Somente conectores oficiais, públicos e de leitura; nenhum auto-apply, autenticação capturada ou envio automático.
  2. HTML, JSON-LD e XML são entradas não confiáveis e recebem sanitização, limites e validação de URL antes da persistência ou renderização.
  3. Toda inferência ocupacional ou semântica permanece candidata, explicável e revisável.
  4. Licença do schema, da API ou do software não licencia automaticamente conteúdo de terceiros.
  5. Datasets versionados guardam versão oficial, data de coleta, hash, atribuição e indicação de transformações; fontes sem licença inequívoca não são redistribuídas sem confirmação.