API Reference · Gestão organizacional

Códigos de ação

Cada código é uma permissão configurável por cliente e o nome do comando no livro de atos. Sem regra de permissão configurada, ninguém pode (RN-ORG-012). "Próprio" indica que a pessoa pode agir sobre o próprio cadastro sem a permissão, nas condições da coluna.

CódigoO que autorizaAssunto da permissãoPróprio
structure.organization.createCriar organização——
structure.organization.moveMudar a organização-mãe——
structure.organization.closeEncerrar organização——
structure.unit.createCriar unidadeunidade-mãe—
structure.unit.renameRenomear unidadea unidade—
structure.unit.change-acronymTrocar sigla (propaga às de baixo)a unidade—
structure.unit.moveMover unidade ou trocar o nívela unidade—
structure.unit.closeEncerrar unidadea unidade—
structure.office.openAbrir escritório físico——
structure.office.changeAlterar escritório (nova versão)——
structure.office.closeFechar escritório——
people.person.registerCadastrar pessoa——
people.person.correctCorrigir cadastrolotação atual da pessoa—
people.person.mergeUnir cadastros duplicados——
people.readConsultar cadastro sem dados sensíveis e vínculoslotação atual da pessoasim
people.sensitive.readConsultar dados sensíveis (fica registrado)lotação atual da pessoasim
people.external-account.registerRegistrar conta em outro sistema——
people.dependent.addIncluir dependente—sim
people.dependent.endEncerrar dependente—sim
people.transferTransferir (nova lotação)lotação atual do vínculo—
career.position.createCriar cargo——
career.position.describeMudar nome, responsabilidades e requisitos do cargo——
career.position.move-trackMover cargo de trilha——
career.position.closeEncerrar cargo——
career.level.createCriar nível——
career.level.closeEncerrar nível——
people.document.deliverEntregar documento de outra pessoa—na admissão, se o tipo de vínculo permitir
people.document.verifyConferir ou recusar documento——
people.documents.readVer documentos e vencimentos (fica registrado)lotação atual da pessoasim
people.admission.startAbrir admissãounidade prevista—
people.admission.completeCompletar cadastro na admissãounidade previstase o tipo de vínculo permitir
people.admission.activateConcluir admissãounidade prevista—
people.admission.readVer admissão e lista de documentosunidade previstasim
career.promotionPropor ou registrar promoção (ação de fluxo)lotação atual do vínculo—
career.track-changePropor ou registrar mudança de trilha (ação de fluxo)lotação atual do vínculo—
leadership.designationPropor ou registrar designação (ação de fluxo)âmbito da designação, ou lotação da pessoa—
leadership.designation.endEncerrar designaçãolotação atual da pessoa—
bodies.body.createCriar colegiado——
bodies.body.reclassifyReclassificar colegiado (nova versão)——
bodies.body.reverseEstornar colegiado——
bodies.usage.registerRegistrar reunião ou resolução do colegiado (servidor do Hub)——
bodies.seat.grantDar assento——
bodies.seat.endEncerrar assento——
people.bond.terminateEncerrar vínculo (desligamento)lotação atual do vínculo—
remuneration.index.setAbrir nova vigência de valor de índice——
remuneration.coefficient.setDefinir ou mudar o coeficiente de um nível——
remuneration.gratification.launchLançar gratificação num vínculolotação atual do vínculo—
remuneration.gratification.endEncerrar ou antecipar o fim de um lançamentolotação atual do vínculo—
remuneration.gratification.reverseEstornar um lançamentolotação atual do vínculo—
remuneration.readConsultar extrato e lançamentos de outra pessoa (fica registrado)lotação atual do vínculo—
remuneration.own.readConsultar o próprio extrato e lançamentos (fica registrado)lotação atual do vínculosó a própria
remuneration.table.readConsultar valores de índice e tabela de níveis (fica registrado)——
remuneration.reads.readConsultar o registro de consultas——
routine.arrangement.setDefinir jornada e calendário de feriados do vínculolotação do vínculo—
routine.punch.registerRegistrar pontolotação do vínculosim
routine.attendance.readVer registros, irregularidades e ausênciaslotação do vínculo, ou a unidade do relatóriosim (próprio vínculo)
routine.hour-bank.createCriar banco de horas——
routine.hour-bank.enrollIncluir vínculo no bancolotação do vínculo—
routine.hour-bank.adjustLançar ajuste manuallotação do vínculo—
routine.hour-bank.adjustment.reverseEstornar ajustelotação do vínculo—
routine.hour-bank.processApurar o banco——
routine.hour-bank.closeEncerrar o banco——
routine.hour-bank.readVer saldos e extratolotação do vínculo (extrato); nenhum (saldos do banco)sim (próprio extrato)
routine.request.createFazer pedido de frequência ou gerallotação do vínculosim
routine.request.analyzeAtender ou negar pedidolotação do vínculo— (nunca o próprio pedido)
routine.request.cancelCancelar pedidolotação do vínculosim, enquanto pendente
routine.request.readVer pedidoslotação do vínculosim
routine.certificate.registerApresentar atestadolotação do vínculosim
routine.certificate.reverseEstornar atestadolotação do vínculo—
routine.certificate.readVer atestados (fica registrado)lotação do vínculosim
routine.vacation-calendar.openAbrir calendário de férias——
routine.vacation-calendar.closeFechar calendário de férias——
routine.vacation.requestPedir fériaslotação do vínculosim
routine.vacation.analyzeAnalisar férias (etapa do gestor)lotação do vínculo— (nunca as próprias)
routine.vacation.approveAprovar ou negar fériaslotação do vínculo— (nunca as próprias)
routine.vacation.cancelCancelar fériaslotação do vínculosim, enquanto não aprovadas
routine.vacation.mark-takenRegistrar férias gozadaslotação do vínculo—
routine.vacation.readVer férias e períodos aquisitivoslotação do vínculosim

Leituras de estrutura, cargos, níveis, colegiados e designações ficam abertas a qualquer usuário autenticado do cliente. Leituras de remuneração nunca ficam abertas: exigem o código próprio (RN-ORG-112). Leituras de calendários de férias ficam abertas a qualquer usuário autenticado do cliente.

Códigos de ação do desenvolvimento e da comunicação

Mesmas convenções da tabela anterior. "Sempre" indica comando em que a autorização é uma condição conferida no serviço, não uma permissão configurável.

CódigoO que autorizaAssunto da permissãoPróprio
development.skill-level.setDefinir ou retirar o patamar esperado de uma habilidade num cargo——
development.competence.recordRegistrar prova de atendimento a requisito do cargolotação atual da pessoa—
development.competence.reverseEstornar prova de competêncialotação atual da pessoa—
development.competence.readVer a matriz de competência de outra pessoalotação atual da pessoasim
development.cycle.openAbrir ciclo de avaliação——
development.cycle.appraiseApurar ciclo (fixa participantes)——
development.cycle.closeEncerrar ciclo——
development.evaluation.submitEnviar avaliação—sempre: a relação da fonte com o avaliado
development.evaluation.reverseEstornar avaliação de outro avaliador (ciclo aberto ou apurado)—quem avaliou, com o ciclo aberto
development.evaluation.results.readVer resultados, nove quadros e andamento do ciclolotação atual do avaliado (resultado individual)sim (o próprio resultado)
development.probation.reviewAvaliar o período de experiêncialotação do vínculo na data—
development.probation.reverseEstornar avaliação de experiêncialotação atual do vínculo—
development.probation.readVer experiências a vencer e avaliaçõeslotação atual do vínculo (por vínculo)sim
development.feedback.giveDar feedbacklotação atual de quem recebe—
development.feedback.requestPedir feedback com prazolotação atual de quem é pedido—
development.feedback.declineRecusar pedido de feedback—sempre: só quem foi pedido
development.feedback.readVer feedback recebido por outra pessoalotação atual de quem recebeusim
development.recognition.giveRegistrar elogio——
development.recognition.reverseEstornar elogio (sai do mural)——
development.plan.defineDefinir plano de desenvolvimentolotação atual da pessoa—
development.plan.item.updateConcluir ou abandonar item do planolotação atual da pessoasim
development.plan.readVer plano e sugestões de outra pessoalotação atual da pessoasim
development.course.requireDefinir ou retirar curso esperado do cargo——
development.enrollment.openMatricular em cursolotação atual da pessoasim
development.enrollment.completeRegistrar conclusão de cursolotação atual da pessoa—
development.enrollment.cancelCancelar matrículalotação atual da pessoasim
development.training.effectivenessAvaliar a eficácia do treinamentolotação atual da pessoa—
development.training.readVer situação de treinamento e eficácias pendenteslotação atual da pessoa (por pessoa)sim
communication.announcement.publishPublicar comunicado——
communication.announcement.withdrawRetirar comunicado——
communication.announcement.acknowledgeRegistrar ciência—sempre: quem está no público
communication.announcement.acknowledgements.readVer quem deu e quem falta dar ciência——
communication.survey.publishPublicar questionário——
communication.survey.respondResponder questionário—sempre: quem está no público
communication.survey.results.readVer resultado agregado——
communication.birthdays.readVer aniversariantes (dia e mês)——

Leituras abertas a qualquer usuário autenticado do cliente: ciclos, patamares por cargo, cursos por cargo, mural de elogios, o próprio feed de comunicados e os próprios questionários abertos.

Rotas da base de cadastro

Toda escrita é POST, exige o cabeçalho Idempotency-Key e registra o comando no livro de atos. Parâmetro :id é um identificador no formato UUID; texto fora desse formato devolve 400. Recusa por regra devolve 422 e fica gravada no livro; registro inexistente dentro de um comando também devolve 422 (RN-ORG-007), e em leitura devolve 404. Parâmetro on é uma data; sem ele vale o dia de hoje. Leitura sem código de ação (—) fica aberta a qualquer usuário autenticado do cliente.

Estrutura

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/organizations?on=Listar organizações na data—
GET/v1/organizations/:id/units?on=Listar unidades da organização na data—
GET/v1/units/:id/historyHistórico de versões da unidade—
POST/v1/organizationsCriar organizaçãostructure.organization.create
POST/v1/organizations/:id/moveMudar a organização-mãestructure.organization.move
POST/v1/organizations/:id/closeEncerrar organizaçãostructure.organization.close
POST/v1/unitsCriar unidadestructure.unit.create
POST/v1/units/:id/renameRenomear unidadestructure.unit.rename
POST/v1/units/:id/acronymTrocar siglastructure.unit.change-acronym
POST/v1/units/:id/moveMover unidade ou trocar o nívelstructure.unit.move
POST/v1/units/:id/closeEncerrar unidadestructure.unit.close

Escritórios

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/offices?on=Listar escritórios na data—
GET/v1/offices/:id/historyHistórico de versões do escritório—
POST/v1/officesAbrir escritóriostructure.office.open
POST/v1/offices/:id/changeAlterar escritóriostructure.office.change
POST/v1/offices/:id/closeFechar escritóriostructure.office.close

Pessoas

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/people/:idConsultar cadastro; com sensitive=true, também dados sensíveis (fica registrado)people.read, ou people.sensitive.read com dados sensíveis; a própria pessoa dispensa
GET/v1/people/:id/dependentsListar dependentes (fica registrado)people.sensitive.read; a própria pessoa dispensa
POST/v1/peopleCadastrar pessoapeople.person.register
POST/v1/people/:id/correctionsCorrigir cadastropeople.person.correct
POST/v1/people/:id/mergeUnir cadastros duplicadospeople.person.merge
POST/v1/people/:id/external-accountsRegistrar conta em outro sistemapeople.external-account.register
POST/v1/people/:id/dependentsIncluir dependentepeople.dependent.add
POST/v1/dependents/:id/endEncerrar dependentepeople.dependent.end

Vínculos

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/people/:id/bondsListar vínculos e lotações da pessoapeople.read; a própria pessoa dispensa
POST/v1/bonds/:id/transferTransferir para outra unidadepeople.transfer

Cargos e níveis

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/positions?on=Listar cargos na data—
GET/v1/positions/:id/historyHistórico de versões do cargo—
GET/v1/levels?trackCode=&on=Listar níveis da trilha na data—
POST/v1/positionsCriar cargocareer.position.create
POST/v1/positions/:id/describeMudar nome, responsabilidades e requisitoscareer.position.describe
POST/v1/positions/:id/move-trackMover cargo de trilhacareer.position.move-track
POST/v1/positions/:id/closeEncerrar cargocareer.position.close
POST/v1/levelsCriar nívelcareer.level.create
POST/v1/levels/:id/closeEncerrar nívelcareer.level.close

Documentos

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/people/:id/documents?on=Ver documentos da pessoa (fica registrado)people.documents.read; a própria pessoa dispensa
GET/v1/documents/expiring?on=&within=Listar documentos a vencer ou vencidos (fica registrado)people.documents.read
POST/v1/people/:id/documentsEntregar documentopeople.document.deliver
POST/v1/documents/:id/decisionConferir ou recusar documentopeople.document.verify

Admissão

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/admissions/:idVer admissão e lista de documentospeople.admission.read; o próprio funcionário dispensa
POST/v1/admissionsAbrir admissãopeople.admission.start
POST/v1/admissions/:id/completeCompletar cadastropeople.admission.complete
POST/v1/admissions/:id/documentsEntregar documento da admissãopeople.document.deliver
POST/v1/admissions/:id/activateConcluir admissãopeople.admission.activate

Promoção e mudança de trilha

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/promotionsPropor ou registrar promoçãocareer.promotion
POST/v1/bonds/:id/track-changesPropor ou registrar mudança de trilhacareer.track-change

Lideranças

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/people/:id/designations?on=Listar designações na data—
POST/v1/people/:id/designationsPropor ou registrar designaçãoleadership.designation
POST/v1/people/:id/designations/endEncerrar designaçãoleadership.designation.end

Colegiados

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/bodies?on=Listar colegiados na data—
GET/v1/bodies/:id/seats?on=Listar assentos do colegiado na data—
POST/v1/bodiesCriar colegiadobodies.body.create
POST/v1/bodies/:id/reclassifyReclassificar colegiadobodies.body.reclassify
POST/v1/bodies/:id/reverseEstornar colegiadobodies.body.reverse
POST/v1/bodies/:id/usagesRegistrar reunião ou resoluçãobodies.usage.register
POST/v1/bodies/:id/seatsDar assentobodies.seat.grant
POST/v1/seats/:id/endEncerrar assentobodies.seat.end

Desligamento

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/terminateEncerrar vínculopeople.bond.terminate

Rotas da remuneração

Valem as mesmas convenções das rotas da base de cadastro. Dinheiro trafega como texto decimal com 2 casas (por exemplo "1234.50"), nunca como número; o coeficiente tem até 4 casas. Toda consulta de remuneração exige o código indicado, é gravada no registro de consulta antes de devolver o dado (RN-ORG-113) e, sem permissão configurada, ninguém consulta, nem o administrador (RN-ORG-112).

Índices e tabela de níveis

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/remuneration/indexes/:code/valuesListar os valores do índice, com as vigências passadasremuneration.table.read
GET/v1/remuneration/levels?on=Tabela de níveis na data, com coeficiente, valor calculado e indicação de teto excedidoremuneration.table.read
POST/v1/remuneration/indexes/:code/valuesAbrir nova vigência de valor do índiceremuneration.index.set
POST/v1/remuneration/levels/:id/coefficientsDefinir ou mudar o coeficiente do nívelremuneration.coefficient.set

Gratificações

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/bonds/:id/remuneration?on=Extrato do vínculo na data: base calculada, gratificações vigentes, total e indicação de teto excedidoremuneration.read; a própria pessoa usa remuneration.own.read
GET/v1/bonds/:id/gratificationsListar os lançamentos e estornos do vínculoremuneration.read; a própria pessoa usa remuneration.own.read
POST/v1/bonds/:id/gratificationsLançar gratificaçãoremuneration.gratification.launch
POST/v1/gratifications/:id/endEncerrar ou antecipar o fim do lançamentoremuneration.gratification.end
POST/v1/gratifications/:id/reverseEstornar o lançamento, com motivoremuneration.gratification.reverse

Registro de consultas

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/remuneration/reads?personId=&from=&to=Listar quem consultou a remuneração da pessoa no períodoremuneration.reads.read

Rotas da rotina

Valem as mesmas convenções das rotas da base de cadastro. Instantes trafegam em UTC; datas, como AAAA-MM-DD. O pedido de registro de ponto não aceita horário: o horário é o do servidor (RN-ORG-154), e campo desconhecido no corpo devolve 400. Consultas por período usam from e to, com limite de 366 dias (93 no relatório de unidade). Irregularidades, ausências e saldos são calculados na consulta (RN-ORG-160).

Catálogos, regras e configurações

CatálogoO que guarda
routine-settings (só o código default)Fuso horário IANA; exigência de foto e de código QR no ponto; e, para férias, meses do período aquisitivo, dias de direito, meses de concessão, mínimo de dias por parcela, máximo de parcelas, se exige calendário aberto, se há análise do gestor, venda de dias (permitida e máximo) e adiantamento do 13º. Nenhum campo tem valor padrão; sem a configuração de férias, os comandos de férias são recusados (RN-ORG-150, RN-ORG-208).
work-schedulesJornada fixa (nome, tolerância em minutos e intervalos de início e fim por dia da semana) ou livre (nome e minutos esperados por dia da semana) (RN-ORG-152).
holiday-calendarsUm item por localidade: nome, calendários dos quais herda e datas com nome (RN-ORG-172).
clock-qr-codesNome; o código do item é o conteúdo do código QR (RN-ORG-155).
request-typesNome, alcance (frequência ou geral), efeito ao ser atendido e se exige anexo (RN-ORG-180).
certificate-typesNome e se justifica ausência (RN-ORG-190).
Regra configurávelVerificação
routine.vacation.incomplete-acquisitionPeríodo aquisitivo ainda não concluído na data do pedido de férias: sem regra ou no modo "avisar", só avisa; no modo "barrar", recusa (RN-ORG-203).

Arranjo de trabalho e ponto

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/arrangementDefinir jornada e calendário de feriados do vínculoroutine.arrangement.set
GET/v1/bonds/:id/arrangementsHistórico de arranjos do vínculoroutine.attendance.read; o próprio funcionário dispensa a permissão
POST/v1/bonds/:id/punchesRegistrar ponto (entrada ou saída) com o horário do servidorroutine.punch.register; o próprio funcionário dispensa a permissão
GET/v1/bonds/:id/punches?from=&to=Listar registros de ponto do vínculoroutine.attendance.read; o próprio funcionário dispensa a permissão

Irregularidades e ausências

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/bonds/:id/attendance?from=&to=Relatório do vínculo: dias, saldos, ausências e irregularidadesroutine.attendance.read; o próprio funcionário dispensa a permissão
GET/v1/units/:id/attendance?from=&to=Relatório da unidade e das de baixo (RN-ORG-166)routine.attendance.read

Banco de horas

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/hour-banksCriar banco de horasroutine.hour-bank.create
POST/v1/hour-banks/:id/membersIncluir vínculo no bancoroutine.hour-bank.enroll
POST/v1/hour-banks/:id/adjustmentsLançar ajuste manualroutine.hour-bank.adjust
POST/v1/hour-bank-adjustments/:id/reverseEstornar ajuste, com motivoroutine.hour-bank.adjustment.reverse
POST/v1/hour-banks/:id/processingsApurar o banco até uma dataroutine.hour-bank.process
POST/v1/hour-banks/:id/closeEncerrar o bancoroutine.hour-bank.close
GET/v1/hour-banks/:id/balancesSaldos apurados dos participantesroutine.hour-bank.read
GET/v1/hour-banks/:id/members/:bondId/statementExtrato do participanteroutine.hour-bank.read; o próprio funcionário dispensa a permissão

Pedidos

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/requestsFazer pedido de frequência ou geralroutine.request.create; o próprio funcionário dispensa a permissão
POST/v1/requests/:id/decisionAtender ou negar pedidoroutine.request.analyze
POST/v1/requests/:id/cancelCancelar pedido, com justificativaroutine.request.cancel; o solicitante dispensa a permissão enquanto o pedido está pendente
GET/v1/bonds/:id/requestsListar pedidos do vínculo, com filtro por situaçãoroutine.request.read; o próprio funcionário dispensa a permissão
GET/v1/requests/pendingFila de análise, sem os pedidos do próprio usuário (RN-ORG-183)routine.request.analyze

Atestados

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/certificatesApresentar atestadoroutine.certificate.register; o próprio funcionário dispensa a permissão
POST/v1/certificates/:id/reverseEstornar atestado, com motivoroutine.certificate.reverse
GET/v1/bonds/:id/certificatesListar atestados do vínculo; a consulta fica registrada (RN-ORG-193)routine.certificate.read; o próprio funcionário dispensa a permissão

Férias

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/vacation-calendarsListar calendários de férias—
POST/v1/vacation-calendarsAbrir calendário de fériasroutine.vacation-calendar.open
POST/v1/vacation-calendars/:id/closeFechar calendário de fériasroutine.vacation-calendar.close
POST/v1/bonds/:id/vacationsPedir fériasroutine.vacation.request; o próprio funcionário dispensa a permissão
POST/v1/vacations/:id/analysisAnálise do gestorroutine.vacation.analyze
POST/v1/vacations/:id/approvalAprovar ou negar fériasroutine.vacation.approve
POST/v1/vacations/:id/cancelCancelar férias, com justificativaroutine.vacation.cancel; o próprio funcionário dispensa a permissão enquanto não aprovadas
POST/v1/vacations/:id/takenRegistrar férias gozadasroutine.vacation.mark-taken
GET/v1/bonds/:id/vacationsListar férias do vínculoroutine.vacation.read; o próprio funcionário dispensa a permissão
GET/v1/bonds/:id/acquisition-periodsPeríodos aquisitivos do vínculo, com direito, gozados, pendentes, vendidos, restantes e data limiteroutine.vacation.read; o próprio funcionário dispensa a permissão

Rotas do desenvolvimento e da comunicação

Valem as mesmas convenções das rotas anteriores. Toda escrita exige o cabeçalho Idempotency-Key e devolve o resultado do ato, com avisos e fatos. Datas trafegam como AAAA-MM-DD.

Catálogos, regras e configurações

CatálogoO que guarda
skill-groupsNome do grupo de habilidades e pesos por fonte (RN-ORG-220, RN-ORG-232).
skillsNome, grupo, escala inteira (mínimo menor que máximo) e descrições por nota (RN-ORG-220).
evaluation-sourcesNome, relação com o avaliado (self, leader, peer, subordinate ou condition), condições e piso de avaliadores (RN-ORG-227).
skill-group-weightsPesos dos grupos por trilha; o código do item é o da trilha (RN-ORG-233).
recognition-kindsNome do tipo de elogio (RN-ORG-242).
coursesNome e carga horária opcional (RN-ORG-246).
announcement-kindsNome, se pede ciência e a cláusula da ISO 9001 que atende (RN-ORG-250).
Regra configurávelVerificação
development.promotion.evaluationNota geral mínima na última avaliação encerrada, dentro de um prazo em meses antes da promoção; avisa ou barra conforme o modo (RN-ORG-237).
development.probation.deadlineAvaliação de experiência depois do fim do período; os dias de aviso marcam "a vencer" na lista (RN-ORG-239).
development.training.effectivenessEficácia avaliada depois do prazo em dias contados da conclusão (RN-ORG-248).

Nenhuma ação deste grupo é de fluxo de aprovação. A promoção continua a mesma ação de fluxo; ganha apenas o requisito configurável development.promotion.evaluation.

Habilidades e competência

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/positions/:id/skill-levelsPatamares esperados do cargo, numa data—
POST/v1/positions/:id/skill-levelsDefinir ou retirar o patamar de uma habilidadedevelopment.skill-level.set
GET/v1/people/:id/competenceMatriz de competência da pessoa (cláusula 7.2 da ISO 9001)development.competence.read; a própria pessoa dispensa a permissão
POST/v1/people/:id/competence-evidencesRegistrar prova de competênciadevelopment.competence.record
POST/v1/competence-evidences/:id/reverseEstornar prova, com motivodevelopment.competence.reverse

Ciclos de avaliação

A conta segue o desenho de média ponderada em dois níveis (RN-ORG-232, RN-ORG-233): primeiro por fonte dentro de cada habilidade, depois por habilidade dentro de cada grupo e por grupo na nota geral. O resultado nunca é gravado: é calculado a cada leitura (RN-ORG-236).

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/evaluation-cyclesListar ciclos—
GET/v1/evaluation-cycles/:idVer um ciclo—
POST/v1/evaluation-cyclesAbrir ciclodevelopment.cycle.open
POST/v1/evaluation-cycles/:id/appraiseApurar ciclodevelopment.cycle.appraise
POST/v1/evaluation-cycles/:id/closeEncerrar ciclodevelopment.cycle.close
POST/v1/evaluation-cycles/:id/evaluationsEnviar avaliaçãodevelopment.evaluation.submit; conferida a relação com o avaliado
POST/v1/evaluations/:id/reverseEstornar avaliação, com motivodevelopment.evaluation.reverse; quem avaliou dispensa a permissão com o ciclo aberto
GET/v1/evaluation-cycles/:id/my-evaluationsAvaliações que a pessoa autenticada precisa fazer—
GET/v1/evaluation-cycles/:id/results/:personIdResultado individual, com distância ao patamardevelopment.evaluation.results.read; a própria pessoa dispensa a permissão
GET/v1/evaluation-cycles/:id/resultsResultados do ciclo e nove quadrosdevelopment.evaluation.results.read
GET/v1/evaluation-cycles/:id/progressAndamento do ciclodevelopment.evaluation.results.read

Experiência

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/bonds/:id/probation-reviewAvaliar o período de experiênciadevelopment.probation.review
POST/v1/probation-reviews/:id/reverseEstornar avaliação de experiência, com motivodevelopment.probation.reverse
GET/v1/probation-reviews/pendingExperiências a vencer e vencidas sem avaliaçãodevelopment.probation.read
GET/v1/bonds/:id/probation-reviewsAvaliações do vínculodevelopment.probation.read; a própria pessoa dispensa a permissão

Feedback e elogios

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/people/:id/feedbackDar feedbackdevelopment.feedback.give
GET/v1/people/:id/feedbackFeedback recebido pela pessoadevelopment.feedback.read; a própria pessoa dispensa a permissão
POST/v1/feedback-requestsPedir feedback com prazodevelopment.feedback.request
POST/v1/feedback-requests/:id/declineRecusar pedido, com motivodevelopment.feedback.decline; só a pessoa pedida
GET/v1/me/feedback-requestsPedidos recebidos pela pessoa autenticada—
GET/v1/me/feedback-givenFeedback dado pela pessoa autenticada—
POST/v1/recognitionsRegistrar elogiodevelopment.recognition.give
POST/v1/recognitions/:id/reverseEstornar elogio, com motivodevelopment.recognition.reverse
GET/v1/recognitionsMural de elogios—
GET/v1/people/:id/recognitionsElogios da pessoa—

Plano de desenvolvimento

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/people/:id/development-planDefinir planodevelopment.plan.define
GET/v1/people/:id/development-planPlano vigentedevelopment.plan.read; a própria pessoa dispensa a permissão
GET/v1/people/:id/development-plan/suggestionsSugestões a partir do resultado do ciclodevelopment.plan.read; a própria pessoa dispensa a permissão
POST/v1/development-plan-items/:idConcluir ou abandonar itemdevelopment.plan.item.update; a própria pessoa dispensa a permissão

Cursos e treinamento

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/positions/:id/coursesCursos esperados do cargo—
POST/v1/positions/:id/coursesDefinir ou retirar curso esperadodevelopment.course.require
POST/v1/people/:id/enrollmentsMatriculardevelopment.enrollment.open; a própria pessoa dispensa a permissão
POST/v1/enrollments/:id/completeRegistrar conclusãodevelopment.enrollment.complete
POST/v1/enrollments/:id/cancelCancelar matrícula, com motivodevelopment.enrollment.cancel; a própria pessoa dispensa a permissão
POST/v1/enrollments/:id/effectivenessAvaliar a eficácia do treinamentodevelopment.training.effectiveness
GET/v1/people/:id/trainingSituação de treinamento da pessoadevelopment.training.read; a própria pessoa dispensa a permissão
GET/v1/training/effectiveness-pendingEficácias pendentesdevelopment.training.read

Comunicados

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/announcementsPublicar comunicado (cláusulas 7.3 e 7.4 da ISO 9001)communication.announcement.publish
POST/v1/announcements/:id/withdrawRetirar comunicado, com motivocommunication.announcement.withdraw
POST/v1/announcements/:id/acknowledgeRegistrar ciênciacommunication.announcement.acknowledge; só quem está no público
GET/v1/announcements/feedFeed da pessoa autenticada—
GET/v1/announcements/:id/acknowledgementsQuem deu e quem falta dar ciênciacommunication.announcement.acknowledgements.read

Questionários e aniversariantes

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/surveysPublicar questionáriocommunication.survey.publish
POST/v1/surveys/:id/responsesResponder questionáriocommunication.survey.respond; só quem está no público
GET/v1/surveys/openQuestionários abertos para a pessoa autenticada—
GET/v1/surveys/:id/resultsResultado agregado, sem autoriacommunication.survey.results.read
GET/v1/birthdaysAniversariantes numa janela de datas, só dia e mêscommunication.birthdays.read

Pendências

Entradas, saídas e erros de cada operação seguem o contrato gerado pelo servidor e serão transcritos para as tabelas de Entrada, Saída e Erros depois da aprovação editorial das regras RN-ORG-021 a RN-ORG-056, RN-ORG-100 a RN-ORG-114 e RN-ORG-150 a RN-ORG-208 e RN-ORG-220 a RN-ORG-259 e RN-ORG-300 a RN-ORG-313.

Códigos de ação das metas

Mesmas convenções das tabelas anteriores.

CódigoO que autorizaAssunto da permissãoPróprio
goals.goal.createCriar meta de unidade ou de pessoaa unidade da meta, ou a lotação atual da pessoa—
goals.goal.reviseRevisar o valor-alvo (versão nova)a unidade da meta, ou a lotação atual da pessoa—
goals.goal.closeEncerrar a meta antes do fim do períodoa unidade da meta, ou a lotação atual da pessoa—
goals.goal.reverseEstornar meta criada por enganoa unidade da meta, ou a lotação atual da pessoa—
goals.readConsultar metas vigentes e o histórico de uma metaa unidade da meta, ou a lotação atual da pessoa—
goals.own.readConsultar as próprias metas e o histórico delaslotação atual da pessoasó as próprias

Rotas das metas

Valem as mesmas convenções das rotas anteriores. Toda escrita é POST, exige o cabeçalho Idempotency-Key e devolve o resultado do ato, com avisos e fatos. Datas trafegam como AAAA-MM-DD. O valor-alvo trafega como texto decimal com ponto, por exemplo "1250.50", nunca como número (RN-ORG-304).

Catálogo e regra configurável

CatálogoO que guarda
goal-indicatorsNome, unidade de medida, sentido (higher-is-better ou lower-is-better) e casas decimais de 0 a 4, com 0 como padrão (RN-ORG-301). Definido, versionado e aposentado pelo administrador do cliente.
Regra configurávelVerificação
goals.period.calendarAo criar a meta, o período é um mês, trimestre, semestre ou ano inteiro do calendário, dentre os configurados; avisa ou barra conforme o modo (RN-ORG-303).

Metas

MétodoCaminhoFinalidadeCódigo de ação
POST/v1/goalsCriar meta de unidade ou de pessoa; note opcional (até 500 caracteres) vira o motivo da versão 1goals.goal.create
POST/v1/goals/:id/revisionsRevisar o valor-alvo a partir de uma data, com motivogoals.goal.revise
POST/v1/goals/:id/closeEncerrar a meta antes do fim do período, com motivogoals.goal.close
POST/v1/goals/:id/reverseEstornar meta criada por engano, com motivogoals.goal.reverse
GET/v1/units/:id/goals?on=Metas vigentes da unidade na datagoals.read
GET/v1/people/:id/goals?on=Metas vigentes da pessoa na datagoals.read; goals.own.read para a própria pessoa
GET/v1/goals/:idMeta com o histórico de versões do valor-alvogoals.read; goals.own.read para a própria pessoa

Fatos publicados: goal.created, goal.revised, goal.closed e goal.reversed (RN-ORG-313).

Datas no passado

Criação (periodStart), revisão (validFrom) e encerramento (closedOn) com data anterior à véspera de hoje são recusados com 422 DATE_IN_PAST, salvo se o corpo trouxer retroactive: true e um motivo. Na criação o motivo vai em reason; na revisão e no encerramento, o próprio reason do ato serve de motivo da retroatividade. retroactive: false ou ausente não basta.

Listas de metas vigentes

GET /v1/units/:id/goals e GET /v1/people/:id/goals aceitam limit (1 a 200, padrão 50) e cursor. A próxima página vem no cabeçalho Next-Cursor, vazio na última; o cursor é opaco. Cursor malformado, com caractere nulo ou vazio responde 400 CURSOR_INVALID. A ordem é por código do indicador e, depois, por identificador da meta.

Erros das metas

Recusas de negócio respondem 422 com o código abaixo e ficam registradas como recusa do ato.

CódigoQuando
GOAL_TARGET_REQUIREDSem alvo, ou com unidade e pessoa ao mesmo tempo.
GOAL_PERIOD_INVALIDFim do período anterior ao início.
GOAL_UNIT_NOT_ACTIVEUnidade não ativa no início ou no fim do período.
GOAL_PERSON_WITHOUT_BONDPessoa sem vínculo vigente no início do período.
GOAL_TARGET_INVALIDValor-alvo com mais casas do que o indicador permite.
GOAL_OVERLAPJá existe meta não estornada do mesmo alvo e indicador em período que se cruza.
GOAL_NOT_FOUNDMeta inexistente em escrita (403 para quem não tem permissão ampla).
GOAL_REVERSEDRevisão ou encerramento de meta estornada.
GOAL_CLOSEDRevisão ou encerramento de meta já encerrada.
GOAL_ALREADY_REVERSEDEstorno de meta já estornada.
GOAL_REASON_REQUIREDMotivo com menos de 3 caracteres após aparar.
GOAL_REVISION_OUTSIDE_PERIODRevisão que começa depois do fim do período.
GOAL_REVISION_UNCHANGEDValor-alvo igual ao da versão vigente.
GOAL_REVISION_DATE_NOT_AFTERRevisão que não começa depois do início da versão vigente.
GOAL_CLOSE_NOT_EARLIEREncerramento em data igual ou posterior ao fim do período.
GOAL_CLOSE_BEFORE_VERSIONEncerramento anterior ao início da versão vigente.
DATE_IN_PASTData no passado sem retroactive: true e motivo.
goals.period.calendarPeríodo fora do calendário configurado, quando a regra está em modo que barra.
PERSON_MERGE_CONFLICTUnião de cadastros com metas do mesmo indicador em períodos que se cruzam.

Formato do valor-alvo: até 14 dígitos inteiros e até 4 decimais, em texto. Número JSON, vírgula e expoente respondem 400; casas além das do indicador respondem 422 GOAL_TARGET_INVALID.

Contrato de comparação com o realizado

GET /v1/goals/:id devolve o histórico da meta: goalId, targetKind, unitId, personId, indicatorCode, indicatorName, measureUnit, direction, scale, periodStart, periodEnd, closedOn, closeReason, reversedAt, reverseReason e versions[], cada versão com version, target, reason, validFrom e validTo. Meta de outro cliente ou inexistente responde 404.

Este sistema guarda só o alvo. O Hub e o nead-hub-api leem as metas vigentes e medem o realizado com as métricas deles.

  1. Ler GET /v1/units/:id/goals?on=AAAA-MM-DD ou GET /v1/people/:id/goals?on=AAAA-MM-DD. Cada item traz goalId, targetKind, unitId ou personId, indicatorCode, indicatorName, measureUnit, direction, scale, periodStart, periodEnd, closedOn, effectiveEnd, target, version e versionValidFrom.
  2. O nead-hub-api mantém a correspondência entre o código do indicador, definido no catálogo do cliente, e a métrica que ele mede. Indicador sem correspondência fica sem estado de meta.
  3. A janela do realizado vai de periodStart até effectiveEnd (o encerramento, se houver, senão o fim do período), com os dois dias incluídos.
  4. O estado final usa o alvo vigente em effectiveEnd (ler com on=effectiveEnd). Antes disso, a meta está em andamento.
  5. target e o realizado se comparam como decimais exatos, nunca como números em ponto flutuante: higher-is-better → batida se realizado ≥ alvo; lower-is-better → batida se realizado ≤ alvo. Igual ao alvo é batida.
  6. Os fatos goal.created, goal.revised, goal.closed e goal.reversed avisam mudanças para quem guarda cópia.

Rotas da implantação de cliente

Valem as mesmas convenções das rotas da base de cadastro.

Criação de cliente com modelo

MétodoCaminhoFinalidadeAcesso
POST/v1/platform/tenantsCriar cliente a partir de um modeloAdministrador da plataforma

O corpo aceita templateOn, data no formato AAAA-MM-DD, opcional. O modelo é aplicado com vigência desde essa data; sem ela, desde o dia da criação (RN-ORG-321). Data em outro formato devolve 400.

Leituras de integração

Leituras para o servidor do Hub (RN-ORG-333). Todas exigem people.read. As três últimas usam o dia de hoje quando on não é informado.

MétodoCaminhoFinalidadeCódigo de ação
GET/v1/external-accounts/person?system=&code=Encontrar a pessoa pela conta em outro sistema; devolve { personId }, ou 404 se não houverpeople.read, sobre todo o cliente
GET/v1/units/:id/members?on=Listar os membros vigentes da unidade na datapeople.read, sobre a unidade
GET/v1/designations?on=&rankCode=&unitId=Listar as designações vigentes na data, filtradas por degrau e unidadepeople.read, sobre a unidade se informada; senão sobre todo o cliente
GET/v1/bonds?on=Listar os vínculos vigentes na datapeople.read, sobre todo o cliente

Lista de todo o cliente só é permitida a quem tem a permissão configurada sem depender de unidade.

Camadas do domínio