Validação de Acesso Customizada - chamadas de serviço REST e SOAP
Além das validações de acesso nativas do sistema, o Ronda Senior permite customizar uma validação de acesso por leitor, através de uma chamada webservice externa.
Validação customizada é um tipo de validação feita pela Concentradora, que utiliza um endereço webservice para uma comunicação externa. Esse serviço externo deve realizar a validação desejada dos dados recebidos, seja consultando a base de dados, fontes externas, outros serviços, ou pelo modo que melhor atender às necessidades do cliente, e responder a chamada do serviço feita pela Concentradora com um OK ou um NOK. Com base nessa resposta, a Concentradora libera ou não o acesso.
A Validação de Acesso Customizada está disponível para os dispositivos que realizam a validação de acesso na Concentradora:
- SDK;
- Digicon;
- Apollo (apenas quando estiver configurado para fazer a validação na Concentradora).
Importante
Os dispositivos de ponto modelo REP/CEP que atendam a Portaria 671 não possuem esse recurso.
Para que seja possível realizar validação de acesso customizada, é preciso realizar a seguinte configuração:
- Em Projeto físico > Dispositivos > Cadastros (FRCADDSP), selecione a leitora instalada e acesse a guia Validações;
- Marque a opção REST (caso deseje chamar um web service REST), SOAP (caso deseje chamar um web service SOAP) ou SOAP CDATA Local (caso deseje chamar um web service SOAP com a tag CDATA localizada somente nos campos texto);
- Acesse a guia Cadastro e, no campo Endereço da Validação Customizada, informe o endereço URL do web service que deseja chamar para realizar a validação de acesso customizada.
- O timeout padrão para essas chamadas é de dois segundos. Caso deseje alterar esse tempo, cadastre uma chave no SeniorConfigCenter com o nome: com.senior.seguranca.concentradora.customvalidation.timeout, e informe em milissegundos o valor desejado para timeout da chamada do serviço. Por exemplo: para aumentar timeout para 3 segundos, cadastre a chave com valor 3000.
Observação
O timeout é somado às demais validações ativas, o que impacta diretamente no tempo de espera da pessoa para a liberação do acesso. Portanto, não recomendamos que ele seja maior que cinco segundos.
Informações que serão enviadas na chamada de serviço:
- código do dispositivo/leitor em que está ocorrendo a validação de acesso;
- número lógico do crachá da pessoa;
- número físico do crachá da pessoa lido pelo dispositivo;
- nome da pessoa;
- identificador da pessoa (idtpes);
- direção acesso (ENTRACE = entrada ou EXIT = saída);
- nível atual da pessoa (caso controle nível);
- data/hora do último acesso;
- número lógico do crachá do veículo (para acesso de veículo);
- número físico do crachá do veículo lido pelo dispositivo (para acesso de veículo);
- placa do veículo (para acesso de veículo).
{
"accessDirection":"EXIT",
"cardNumber": 10000001000,
"cardPhysicalNumber": 10000001000,
"cardNumberVehicle": 80000000001,
"cardPhysicalNumberVehicle": 80000000001,
"licensePlate": "SNR3009",
"currentAccessLevel":"99",
"deviceId":25,
"idtpes":" 0100011000001000",
"lastAccess": "1900-12-31T23:59",
"name": "TESTE CRACHÁ"
}
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:senior="http://services.senior.com.br> <SOAP-ENV:Header/> <SOAP-ENV:Body> <senior:customValidation> <user/> <password/> <encryption/> <parameters> <customValidationInfo> <![CDATA[<?xml version="1.0" encoding="UTF-8"?> <acesso> <dispositivoId>8939</dispositivoId> <direcaoAcesso>ENTRANCE</direcaoAcesso> <pessoa> <idtpes> 0200012000000001</idtpes> <nome>PEDRO FARIAS</nome> <cracha> <numeroFisico>10000001000 </numeroFisico> <numeroLogico>10000001000 </numeroLogico> </cracha> <dataHoraUltimoAcesso>1900-12-31T23:59</dataHoraUltimoAcesso> <nivel>99</nivel> </pessoa> <veiculo> <placa>SNR3009</placa> <cracha> <numeroFisico>80000000001</numeroFisico> <numeroLogico>80000000001</numeroLogico> </cracha> </veiculo> </acesso> ]]> </customValidationInfo> </parameters> </senior:customValidation> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:senior="http://services.senior.com.br> <SOAP-ENV:Header/> <SOAP-ENV:Body> <senior:customValidation> <user/> <password/> <encryption/> <parameters> <customValidationInfo> <?xml version="1.0" encoding="UTF-8"?> <acesso> <dispositivoId>8939</dispositivoId> <direcaoAcesso>ENTRANCE</direcaoAcesso> <pessoa> <idtpes> 0200012000000001</idtpes> <nome><![CDATA[PEDRO FARIAS]]></nome> <cracha> <numeroFisico>10000001000</numeroFisico> <numeroLogico>10000001000</numeroLogico> </cracha> <dataHoraUltimoAcesso>1900-12-31T23:59</dataHoraUltimoAcesso> <nivel>99</nivel> </pessoa> <veiculo> <placa><![CDATA[SNR3009]]></placa> <cracha> <numeroFisico>80000000001</numeroFisico> <numeroLogico>80000000001</numeroLogico> </cracha> </veiculo> </acesso> </customValidationInfo> </parameters> </senior:customValidation> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Respostas esperadas
- REST: para liberar o acesso, deve ser retornado o Status HTTP: 200 OK. Todo retorno diferente disso resultará em acesso negado;
- SOAP: para liberar o acesso, deve ser retornado um parâmetro qualquer com valor igual a ACCESS_VALID, dentro das chaves <result></result>. Qualquer retorno diferente disso será considerado acesso negado.
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:customValidationResponse xmlns:ns2="http://services.senior.com.br"> <result> <customValidationResult>ACCESS_VALID</customValidationResult> <erroExecucao xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </result> </ns2:customValidationResponse> </S:Body> </S:Envelope>
English
Español
English
Español


