Aller au contenu

Grava uma nova versão das regras do ponto

POST/api/time-tracking/rules

Auth
Jeton requis
Clé d’API:
Clé d’API non acceptée
X-CommunityId
X-CommunityId Envoyez le X-CommunityId de la communauté où l’opération a lieu.
Les descriptions des endpoints viennent directement de la spécification de l’API et sont en portugais pour l’instant. L’interface autour est traduite.

Gestão do ponto. Só inserção: corrigir é gravar outra versão (para a mesma vigência, vale a última gravada). Com `memberId`, é a exceção daquela pessoa. Vigência dentro de um mês fechado (ou antes dele) é recusada com 422 (`monthClosed`). Nenhuma regra recusa marcação.

En-têtes

NomTypeDescription
X-CommunityIdfacultatifstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Corps de la requête application/json

NomTypeDescription
spaceIdfacultatifstring (uuid)
memberIdfacultatifstring (uuid)
effectiveFromobligatoirestring (date)
rulesobligatoireobjectRegras do ponto (PTRP). Todo número é um padrão configurável; nenhuma regra recusa marcação (art. 74, I). Campos ausentes recebem o padrão; campo desconhecido é recusado (422).
rules.schedulefacultatifobjectHorário contratual: pares de entrada e saída por dia da semana (`"0"` domingo a `"6"` sábado), `hh:mm`. Saída antes da entrada cruza a meia-noite. Dia sem pares é dia não útil.
rules.weekStartsOnfacultatifintegerPrimeiro dia da semana para a extra semanal (1 = segunda). · ≥ 0, ≤ 6
rules.tolerancefacultatifobjectArt. 58, §1º da CLT: dentro dos dois limites o dia conta como o contrato; acima, conta a diferença inteira.
rules.tolerance.perPunchMinutesfacultatifinteger
rules.tolerance.dailyMinutesfacultatifinteger
rules.overtimefacultatifobject
rules.overtime.dailyfacultatifobject
rules.overtime.weeklyfacultatifobject
rules.overtime.nonWorkingDayfacultatifobject
rules.overtime.holidayfacultatifobject
rules.overtime.dailyLimitMinutesfacultatifintegerAcima disso o dia é sinalizado (não recusa nada).
rules.overtime.destinationfacultatifpaid | bankPara onde vai a extra dos dias em que esta versão vale: `paid` (paga, padrão) ou `bank` (banco de horas, minuto a minuto; no banco, o que faltar do contrato depois da tolerância é debitado).
rules.hourBankfacultatifobjectBanco de horas: um lote por mês de origem, que vence ao fim do mês de origem + validade - 1 (janeiro com 6 vence no fim de junho). O débito consome os lotes mais antigos primeiro (FIFO); o que vence sai como `expiredMinutes`, para pagar.
rules.hourBank.validityMonthsfacultatifinteger≥ 1, ≤ 12
rules.weeklyRestDayfacultatifintegerDia do descanso semanal remunerado (DSR, AEJ registro 07 tipo 1); 0 = domingo (padrão), null = nenhum. · ≥ 0, ≤ 6
rules.nightfacultatifobjectNoturno (art. 73 da CLT): os minutos na janela (padrão 22h a 5h) sempre contam. `enabled` aplica o adicional (`multiplier`) e, com `reducedHour`, a hora noturna reduzida de 52min30s (8 horas contadas para 7 de relógio), na jornada trabalhada e na contratual.
rules.night.enabledfacultatifboolean
rules.night.startfacultatifstring
rules.night.endfacultatifstring
rules.night.reducedHourfacultatifboolean
rules.night.multiplierfacultatifnumber
rules.minimumBreakfacultatifobjectArt. 71 da CLT; só sinaliza.
rules.minimumBreak.over6hMinutesfacultatifinteger
rules.minimumBreak.from4to6hMinutesfacultatifinteger

Réponses

StatutDescription
201Versão gravada.
401Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`).
403Só a gestão do ponto (owner, admin, financeiro): `timeTracking.errors.managementOnly`; quem não tem cadastro de empregado: `notEmployee`; sessão de suporte do SuperAdmin: `supportSession`.
404Recurso não encontrado.
422Regra inválida (`rulesInvalid`, com o caminho do campo em `errors[0].param`), horário de mais de 16 h num dia (`scheduleTooLong`) ou mês fechado (`monthClosed`).

Exemple curl

curl -X POST "https://api.memberfy.net/api/time-tracking/rules" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{"effectiveFrom":"string","rules":{}}'