Grava uma nova versão das regras do ponto
POST/api/time-tracking/rules
- Auth
- Richiede un token
- Chiave API:
- Non accetta chiavi API
- X-CommunityId
X-CommunityIdInvia l’X-CommunityId della community in cui avviene l’operazione.
Le descrizioni degli endpoint provengono dalla specifica dell’API e per ora sono in portoghese. L’interfaccia intorno è tradotta.
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.
Header
| Nome | Tipo | Descrizione |
|---|---|---|
X-CommunityIdfacoltativo | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo della richiesta application/json
| Nome | Tipo | Descrizione |
|---|---|---|
spaceIdfacoltativo | string (uuid) | |
memberIdfacoltativo | string (uuid) | |
effectiveFromobbligatorio | string (date) | |
rulesobbligatorio | object | Regras 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.schedulefacoltativo | object | Horá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.weekStartsOnfacoltativo | integer | Primeiro dia da semana para a extra semanal (1 = segunda). · ≥ 0, ≤ 6 |
rules.tolerancefacoltativo | object | Art. 58, §1º da CLT: dentro dos dois limites o dia conta como o contrato; acima, conta a diferença inteira. |
rules.tolerance.perPunchMinutesfacoltativo | integer | |
rules.tolerance.dailyMinutesfacoltativo | integer | |
rules.overtimefacoltativo | object | |
rules.overtime.dailyfacoltativo | object | |
rules.overtime.weeklyfacoltativo | object | |
rules.overtime.nonWorkingDayfacoltativo | object | |
rules.overtime.holidayfacoltativo | object | |
rules.overtime.dailyLimitMinutesfacoltativo | integer | Acima disso o dia é sinalizado (não recusa nada). |
rules.overtime.destinationfacoltativo | paid | bank | Para 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.hourBankfacoltativo | object | Banco 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.validityMonthsfacoltativo | integer | ≥ 1, ≤ 12 |
rules.weeklyRestDayfacoltativo | integer | Dia do descanso semanal remunerado (DSR, AEJ registro 07 tipo 1); 0 = domingo (padrão), null = nenhum. · ≥ 0, ≤ 6 |
rules.nightfacoltativo | object | Noturno (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.enabledfacoltativo | boolean | |
rules.night.startfacoltativo | string | |
rules.night.endfacoltativo | string | |
rules.night.reducedHourfacoltativo | boolean | |
rules.night.multiplierfacoltativo | number | |
rules.minimumBreakfacoltativo | object | Art. 71 da CLT; só sinaliza. |
rules.minimumBreak.over6hMinutesfacoltativo | integer | |
rules.minimumBreak.from4to6hMinutesfacoltativo | integer |
Risposte
| Codice | Descrizione |
|---|---|
201 | Versão gravada. |
401 | Token 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`). |
403 | Só 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`. |
404 | Recurso não encontrado. |
422 | Regra 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`). |
Esempio con 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":{}}'