Controle de Acesso - Autorização de Entrada
Descrição
Este endpoint é responsável por autorizar ou negar a entrada de uma pessoa em um dispositivo de controle de acesso (catraca, dispositivo manual, etc.).
📨 Parâmetros da Requisição (Request Body)
A autorização é baseada em informações do usuário (membro/prospect/visitante), regras de contrato/plano e condições adicionais (como temperatura, clima e dispositivo de entrada).
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | Inteiro | Sim | ID do usuário cadastrado no EVO. |
personType | Inteiro | Sim | Tipo de pessoa que está acessando. Valores: |
| |||
| |||
| |||
| |||
device | Inteiro | Sim | ID do dispositivo usado para o acesso. Valores: |
| |||
| |||
| |||
| |||
idManualEntry | Inteiro | Não | ID da liberação manual registrada no EVO. Necessário em caso de liberação sem autenticação. |
temperature | Decimal | Não | Temperatura no momento do acesso, em Celsius. Utilizado para o Clube de Recompensas. |
climateId | Inteiro | Não | ID do clima no momento do acesso. Utilizado para o Clube de Recompensas. Valores: |
| |||
| |||
| |||
| |||
| |||
| |||
| |||
idTurnstile | Inteiro | Sim | ID da catraca registrada no EVO. |
📤 Estrutura da Resposta
O retorno indica se a entrada foi autorizada, além de trazer informações sobre o usuário, plano, status do acesso e detalhes da passagem.
| Campo | Tipo | Descrição |
|---|---|---|
| authorized | boolean | Indica se o acesso foi autorizado (true) ou negado (false). |
| message | string | Mensagem padrão retornada pelo sistema (ex.: "Acesso autorizado", "Plano expirado"). |
| messageCustom | string | Mensagem customizada configurada pela filial. |
| entryId | int32 | Identificador do registro da entrada no sistema. |
| photoUrl | string | URL da foto do usuário, se disponível. |
| totalFitcoins | int32 | Pontos ou créditos de gamificação (ex.: fitcoins acumulados). |
| document | string | Documento identificador do usuário (ex.: CPF, RG, passaporte). |
| planIdPassage | int32 | Identificador do plano utilizado para validar a passagem. |
| planName | string | Nome do plano ativo no momento da passagem. |
| name | string | Nome completo da pessoa identificada. |
| id | int32 | Identificador da pessoa no sistema. |
| passageDirection | string | Direção da passagem (ex.: "Entrada", "Saída"). |
| blockedtype | int32 | Código do motivo de bloqueio, caso o acesso tenha sido negado. Consultar a tabela de blockedType abaixo. |
| frequency | int32 | Número de acessos registrados no período configurado. |
| planExpiration | string(date-time) | Data e hora de expiração do plano vigente. |
Tipos de Bloqueios (blockedType)
blockedType)| Código | Descrição |
|---|---|
| 0 | Sem bloqueio |
| 1 | Sem acesso a esta filial |
| 2 | Bloqueio manual no cadastro |
| 3 | Restrição manual no cadastro |
| 4 | Sem acesso pelo dispositivo teclado |
| 5 | Bloqueio por CREF vencido |
| 6 | Bloqueio por contrato suspenso |
| 7 | Contrato não permite acesso à catraca informada |
| 8 | Quantidade de entradas configuradas no contrato esgotaram |
| 9 | Acesso fora do horário permitido no contrato |
| 10 | Acesso não agendado conforme exigido pelo contrato |
| 11 | Usuário com saldo devedor |
| 12 | Usuário sem exame médico |
| 13 | Exame médico vencido |
| 14 | Usuário sem exame nutricional |
| 15 | Exame nutricional vencido |
| 16 | Usuário sem exame dermatológico |
| 17 | Exame dermatológico vencido |
| 18 | Bloqueio por falta de avaliação física ou avaliação vencida |
| 19 | Usuário Gympass não tem acesso à catraca informada |
| 20 | Gympass: acesso permitido apenas na primeira hora do check-in |
| 21 | Gympass: nenhum check-in encontrado |
| 22 | Gympass: idade não permitida para o plano |
| 23 | Gympass: acesso fora do horário permitido pelo produto |
| 24 | Gympass: GYM-ID cadastrado no EVO é inválido |
| 25 | Gympass: servidor indisponível |
| 26 | Check-in do usuário foi cancelado |
| 27 | Check-in do usuário expirou |
| 28 | Check-in do usuário já validado anteriormente |
| 29 | Check-in inválido para o respectivo plano Gympass |
| 30 | Totalpass: nenhum check-in encontrado |
| 31 | Totalpass: acesso permitido apenas na primeira hora do check-in |
| 32 | Totalpass: check-in não disponível para validação |
| 33 | Totalpass: check-in do usuário expirado |
| 34 | Totalpass: dados do check-in não encontrados |
| 35 | Totalpass: erro ao validar (servidor indisponível) |
| 36 | Nenhum serviço disponível para acesso |
| 37 | Convite de liberação não dá acesso à catraca informada |
| 38 | Pendência de assinatura do contrato |
| 39 | Termo de acesso não aceito pelo usuário |
| 40 | PARQ: usuário sem preenchimento do formulário |
| 41 | PARQ: pendência de upload de atestado |
| 42 | Ocupação máxima da academia atingida |
| 43 | Bloqueio por acesso duplo no tempo configurado |
| 44 | Cliente sem plano ativo |
| 45 | Totalpass: dados de configuração incompletos |
| 46 | Colaborador sem acesso à filial |
| 47 | Colaborador inativo |
| 48 | Colaborador acessando fora do horário de trabalho |
| 49 | Personal com contrato suspenso |
| 50 | Contrato do personal não permite acesso à catraca informada |
| 51 | Personal sem contrato ativo |
| 52 | Oportunidade com tempo de visita vencido |
| 53 | Oportunidade sem tempo de visita configurado |
📝 Exemplo de Requisição (Request Body)
{
"id": 1025,
"personType": 1,
"device": 12,
"idManualEntry": 0,
"temperature": 36.5,
"climateId": 2,
"idTurnstile": 5
}✅ Exemplo de Resposta
{
"authorized": true,
"message": "string",
"messageCustom": "string",
"entryId": 0,
"photoUrl": "string",
"totalFitcoins": 0,
"document": "string",
"planIdPassage": 0,
"planName": "string",
"name": "string",
"id": 0,
"passageDirection": "string",
"blockedtype": 0,
"frequency": 0,
"planExpiration": "2025-10-01T15:15:18.633Z"
}