IntroduçãoIntrodução à API Esta API é composta de Web Services RESTful. Cada comando é uma chamada HTTPS POST com Content-Type: application/json e possui uma URL própria. Seus parâmetros e seus retornos são passados preferencialmente por JSON, exceto em menção contrária. Como exemplo, o comando login pode possuir a URL: https://192.168.0.129/login.fcgi e os seguintes parâmetros: { login: 'admin', password: 'admin' } *** ATENÇÃO! ***

Seguindo as exigências do INMETRO, o relógio comunica-se usando SLL (HTTPS). Como o relógio usa certificados auto-assinados, este fato pode gerar alguns problemas, como erros de comunicação inesperados. No final do documento há instruções de como evitar esse problema em algumas linguagens.

Todos os comandos requerem uma sessão válida, exceto session_is_valid e login. O corpo da requisição deve possuir a codificação UTF-8. Caso os caracteres enviados não possuam nenhum caractere especial (ASCII), o corpo da requisição não precisa ser codificado.Por padrão, a codificação utilizada por sistemas Windows é a Windows-1252 (também conhecida como CP-1252). Verificar como utilizar a codificação correta.
Valores Padrão
A porta de comunicação é 443. O usuário é "admin". A senha é "admin".
Executando os Exemplos
Os exemplos dessa documentação são escritos em JavaScript, utilizando a biblioteca jQuery. Para testá-los, acesse o endereço IP do equipamento em um navegador web e use as ferramentas do desenvolvedor (developer tools) deste para realizar requisições. Todos os exemplos fornecidos podem ser verificados copiando seus códigos e colando no console das ferramentas de desenvolvimento. Devido ao fato das requisições virem de uma fonte diferente do relógio, a maioria dos browsers modernos bloqueia a requisição (CORS). No Google Chrome, isso pode ser ignorado executando-o com as flags --disable-web-security --ignore-certificate-errors
Um exemplo completo de um comando
No código abaixo há um primeiro exemplo funcional para testar a conexão com o equipamento. $.ajax({ url: "/login.fcgi", type: 'POST', contentType: 'application/json', data: JSON.stringify({ login: 'admin', password: 'admin' }), success: function(data) { session = data.session; } }); Para mais detalhes sobre o login, favor verificar a sua documentação aqui.
Executando os Exemplos em Outras Linguagens
Seguem abaixo alguns exemplos que ilustram como a API pode ser usada em outras linguagens de programação. Nesses exemplos, o endereço 192.168.0.129, quando aparecer, representa o endereço IP do equipamento. Para conexões com o relógio em .NET e Delphi, deve-se adicionar o arquivo de configuração a seguir. Ex.: Se o executável for App.exe, o arquivo de configurações deve ser App.exe.configAtenção: a opção HTTP "Expect: 100- continue" deve estar desabilitada para as chamadas funcionarem. O único dos exemplos abaixo que o faz explicitamente é o em C#. Por favor, verifique a necessidade de fazê-lo em sua linguagem de preferência. procedure TFrmTTWebserviceTester.Button1Click(Sender: TObject); var lJSO : ISuperObject; lRequest: TStringStream; lResponse: String; begin lJSO := SO('{"login": "admin", "password": "admin"}'); lRequest := TStringStream.Create(lJSO.AsString, TEncoding.UTF8); try IdHTTP.Request.ContentType := 'application/json'; IdHTTP.Request.Charset := 'utf-8'; try lResponse := IdHTTP.Post('https://192.168.0.129/login.fcgi', lRequest); ShowMessage(lResponse); except on E: Exception do ShowMessage('Error on request:'#13#10 + E.Message); end; finally lRequest.Free; end; lJSO := nil; end;Esse exemplo em Delphi utiliza a biblioteca de código aberto Indy. System.Net.ServicePointManager.Expect100Continue = false; try { var request = (HttpWebRequest)WebRequest.Create("https://192.168.0.129/login.fcgi"); request.ContentType = "application/json"; request.Method = "POST"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write("{\"login\":\"admin\",\"password\":\"admin\"}"); } var response = (HttpWebResponse)request.GetResponse(); using (var streamReader = new StreamReader(response.GetResponseStream())) { Console.WriteLine(streamReader.ReadToEnd()); } } catch (WebException e) { using (WebResponse response = e.Response) { HttpWebResponse httpResponse = (HttpWebResponse)response; Console.WriteLine("Error code: {0}", httpResponse.StatusCode); using (Stream data = response.GetResponseStream()) using (var reader = new StreamReader(data)) { string text = reader.ReadToEnd(); Console.WriteLine(text); } } } public String Conecta_iDClass(String session) throws Exception { // método utilizado para ignorar certificado SSL Ignore_SSL(); try { URL url = new URL("https://192.168.2.185:443/login.fcgi"); HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(); conn.setRequestMethod("POST"); conn.setRequestProperty("Content-type", "application/json"); conn.setDoInput(true); conn.setDoOutput(true); OutputStream os = conn.getOutputStream(); os.write("{\"login\":\"admin\",\"password\":\"admin\"}".getBytes()); if (conn.getResponseCode() != 200) { BufferedReader br = new BufferedReader(new InputStreamReader(conn.getErrorStream())); String output, result = ""; System.out.println("Não conectado"); while ((output = br.readLine()) != null) { System.out.println(result += output); } throw new RuntimeException("Falha na conexão: " + result); } else { BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String output; System.out.println("Conectado, código da sessão: \n"); while ((output = br.readLine()) != null) { session = output; System.out.println(output); } } } catch (Exception e) { e.printStackTrace(); } return session; } // ignorar certificado SSL public void Ignore_SSL() throws Exception { // fazendo uma requisição SSL sem registrar o certificado na JVM. final X509TrustManager ignore = new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } // "valida" o certificado public void checkServerTrusted(X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } public void checkClientTrusted(X509Certificate[] certs, String authType) throws java.security.cert.CertificateException { return; } }; // cria socket ssl SSLContext _ssl = SSLContext.getInstance("SSL"); _ssl.init(null, new TrustManager[]{ignore}, null); // ativa o socket para a requisicao HttpsURLConnection.setDefaultSSLSocketFactory(_ssl.getSocketFactory()); final HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(hv); }
LoginComando para criar uma sessãologin Cria a sessão, que é necessária para todos os outros comandos, exceto session_is_valid. O método HTTP usado para o envio dos dados é o POST. loginstringO valor padrão é admin.passwordstringO valor padrão é admin.sessionstringCódigo da sessão iniciada. $.ajax({ url: "/login.fcgi", type: 'POST', contentType: 'application/json', data: JSON.stringify({ login: 'admin', password: 'admin' }), success: function(data) { session = data.session; } });
Validade da sessãoComando para verificar a validade de uma sessãosession_is_valid Indica se a sessão é válida. Essa chamada não possui parâmetros. session_is_validbooleanoRetorna 'true' se a sessão é valida e 'false' se a sessão estiver invalida. $.ajax({ url: "/session_is_valid.fcgi?session=" + session, type: 'POST', contentType: 'application/json' });
Alterar usuário e/ou senha de loginComando para alterar o usuário e/ou a senha de loginchange_login Altera o usuário e/ou a senha utilizados para o login no equipamento. userstring Nome do usuário a ser usado para o login no equipamento. passwordstring Senha do usuário a ser usada para o login no equipamento. Deve ser um texto simples, sem Hash. $.ajax({ url: "/change_login.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ user: 'WalterWhite', password: 'Heisenberg' }) });
Remover AdministradoresRemove todos os administradores do equipamentoremove_admins Remove todos os administradores do equipamento. Obs: Esse método não tem retorno. $.ajax({ url: "/remove_admins.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
LogoutComando para finalizar uma sessãologout Finaliza a sessão. O método HTTP usado para o envio dos dados é o POST. Obs: Essa chamada não retorna nada, somente invalida a sessão. $.ajax({ url: "/logout.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
CadastrarCadastrar usuáriosadd_users Adiciona usuários. O método HTTP usado é o POST. usersArray de objetos Lista de objetos do tipo usuário, contendo os parâmetros listados abaixo: pisinteiro PIS do funcionário. namestring Nome do funcionário. rfidinteiro Valor do cartão de proximidade. barsstring Valor do cartão de código de barras. codeinteiro Código do funcionário utilizado com senha para emitir comprovante. passwordstring String com senha do funcionário contendo apenas valores numéricos. adminbooleano Se true, o usuário terá privilégios de administrador. templatesArray de strings Lista de templates biométricos a serem adicionados ao usuário, encodados em base64. $.ajax({ url: "/add_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ users:[{ admin:true, bars:'1345674', code:1122334, name:'MauroL', password:'123', pis:2233445548, rfid:0, templates: ['UHUSn+kfauhas34uh/fasiuj...dsa', 'UHUqwefda+/sa7ddsiz2...3r3'] }] }) });
Contar de usuáriosQuantidade de usuários cadastradoscount_users Retorna a quantidade de usuários cadastrados. O método HTTP usado é o POST. countinteiro Retorna a quantidade de usuários cadastrados no REP. $.ajax({ url: "/count_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
ListarLista usuários - máximo de 100.load_users Carrega todos os dados do tipo especificado. O método HTTP usado é o POST.
Deve ser passado o parâmetro user_pis OU limit e offset.
users_pis (opcional)Array de inteiros de 64 bits Lista de PIS de usuários a serem listados (máximo de 100). limit (opcional)inteiro O número máximo de usuário a adquirir (máximo de 100). offset (opcional)inteiro A partir de qual usuário deve-se listar. Exemplo: se offset = 200, começará a listar a partir do usuário 200. templates (opcional)booleano Se true, retorna templates biométricos. countinteiroRetorna a quantidade de usuários.usersArray de objetos Lista de objetos do tipo usuário, contendo os parâmetros listados abaixo: pisinteiro PIS do funcionário. namestring Nome do funcionário. rfidinteiro Valor do cartão de proximidade. barsstring Valor do cartão de código de barras. codeinteiro Código do funcionário utilizado com senha para emitir comprovante. passwordstring String com senha do funcionário contendo apenas valores numéricos. adminbooleano Se true, o usuário terá privilégios de administrador. templatesArray de strings Lista de templates biométricos a serem adicionados ao usuário, encodados em base64.
$.ajax({ url: "/load_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ limit:100, offset:300 }) }); $.ajax({ url: "/load_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ users_pis: [54654545878, 8976546546545] }) });
RemoverRemover usuários especificando o PISremove_users Remove o usuário, esse método não tem retorno. O método HTTP usado é o POST. usersArray de inteiros de 64 bits Lista de PIS dos usuários a serem removidos. $.ajax({ url: "/remove_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ users:[223344554, 17033259504, 12312314] }) });
AtualizarAtualiza cadastro de usuáriosupdate_users Atualiza usuários de PIS correspondente, esse método não tem retorno. O método HTTP usado é o POST. usersArray de objetos Lista de objetos do tipo usuário, contendo os parâmetros listados abaixo: pisinteiro PIS do funcionário a ser modificado. namestring Nome do funcionário. rfidinteiro Valor do cartão de proximidade. barsstring Valor do cartão de código de barras. codeinteiro Código do funcionário utilizado com senha para emitir comprovante. passwordstring String com senha do funcionário contendo apenas valores numéricos. adminbooleano Se true, o usuário terá privilégios de administrador. remove_templatesbooleano Se true, remove todos os templates biométricos do usuário. templatesArray de strings Lista de templates biométricos a serem adicionados ao usuário, encodados em base64. $.ajax({ url: "/update_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ users:[{ pis: 2233445548, name: 'Jesse Pinkman', bars: '1345674', code: 1122334, password: '123', rfid: 1007524, admin: true }] }) }); $.ajax({ url: "/update_users.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ users:[{ pis:225000000004, remove_templates:true }] }) });
Importar usuáriosImportar funcionários, caso eles não existamimport_users_csv Verifica se o usuário está cadastrado, caso ele não esteja, adiciona, o corpo da requisição é um binario contendo os dados dos usuários, O campo Content-Length do cabeçalho representa o tamanho do corpo da requisição em número decimal de OCTETs. O método HTTP usado é o POST. imported_users_numinteiro Indica a quantidade de usuários que foram importados. imported_templates_numinteiro Indica a quantidade de templates que foram importados. error_in_rowsArray de Inteiros Indica em quais linhas ocorreu erros. $.ajax({ url: "/import_users_csv.fcgi?session=" + session, type: 'POST', contentType: 'application/octet-stream', contentLength: quantidade_de_bytes, data: arquivo_csv });
Exportar os usuáriosExporta todos os usuários que estão na base de dados do REP iDClassexport_users_csv Exporta todos os usuários que estão na base de dados do REP iDClass. O método HTTP usado é o POST. Esse método retorna os dados dos usuarios organizados da seguinte forma:pis;nome;administrador;matricula;rfid;codigo;senha;barras;digitais usersArray de objetos Lista de objetos do tipo usuário, contendo os parâmetros listados abaixo: pisinteiro PIS do funcionário. namestring Nome do funcionário. rfidinteiro Valor do cartão de proximidade. barsstring Valor do cartão de código de barras. codeinteiro Código do funcionário utilizado com senha para emitir comprovante. passwordstring String com senha do funcionário contendo apenas valores numéricos. adminbooleano Se true, o usuário terá privilégios de administrador. templatesArray de strings Lista de templates biométricos a serem adicionados ao usuário, encodados em base64. $.ajax({ url: "/export_users_csv.fcgi?session=" + session, type: 'POST', contentType: 'application/json' });
CadastrarCadastra empregadoredit_company Edita o empregador do REP. O método HTTP usado é o POST. companyObjeto JSON Objeto JSON contendo todos os seguintes parâmetros: namestring Campo utilizado para cadastrar o nome da empresa. addressstring Campo utilizado para cadastrar o endereço da empresa. tipo_docinteiro Se 1, cadastra campo cpf_cnpj como CNPJ, se 2, cadastra CPF. cpf_cnpjinteiro Campo utilizado para cadastrar o CPF ou CNPJ, vai depender do valor atribuido ao campo tipo_doc. ceiinteiro Campo utilizado para cadastrar o CEI (Cadastro Especifico do INSS). cpfinteiro Campo utilizado para cadastrar o CPF. $.ajax({ url: "/edit_company.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ company: { tipo_doc: 1, cpf_cnpj: 4545454, cei: 11111111111, cpf: 12232115412, name: 'Control iD', address:'Rua Hungria 888' } }) });
ListarCarrega os dados do empregadorload_company Retorna os dados do empregador. O método HTTP usado é o POST. companyObjeto JSON O método retorna um objeto JSON contendo todos os seguintes parâmetros: namestring Nome da empresa. addressstring Endereço da empresa. tipo_docinteiro Se 1, campo cpf_cnpj é CNPJ, se 2, é CPF. cpf_cnpjinteiro CPF ou CNPJ dependendo do campo tipo_doc. ceiinteiro CEI (Cadastro Especifico do INSS) da empresa. cpfinteiro CPF do responsável. "company": { "name": "Control iD", "address": "Rua Hungria 888", "cpf": 45623245623, "tipo_doc": 1, "cpf_cnpj": 89765478985464, "cei": 123456789874 }
Informações do SistemaObtém informações estatísticas do REPget_system_information Obtém as informações e estatísticas do REP: tempo ligado, quantidade de usuários, templates, tickets,quantiade de bobina,total de bobina, memoria do Rep e a ultima NSR. O resultado é um objeto JSON que contém as seguintes chaves: uptimeinteiro Indica a quanto tempo o equipamento está ligado. user_countinteiro Contém a quantidade de digitais de todos os usuários cadastrados no equipamento. template_countinteiro Contém a quantidade de digitais de todos os usuários cadastrados no equipamento. ticksinteiro Indica a quanto tempo que o REP está ligado. cutsinteiro Retorna a quantidade de tickets gerados até o momento que o metodo foi utilizado. coil_paperinteiro Retorna a quantidade de bobina que ainda tem no REP. total_paperinteiro Retorna a quantidade total de bobina antes do REP ser utilizado. paper_okbooleano Indica se o REP está, ou não, pronto pra imprimir. low_paperbooleano Indica se tem ou não pouco papel, caso o retorno seja 'null' o REP não possui sensor de pouco papel. memoryinteiro Retorna a quantidade de memoria utilizada. used_mrpinteiro Retorna a quantidade de MRP utilizada, baseado na quantidade de informações armazenadas no REP. last_nsrinteiro Retorna a o numero da ultima marcação realizada no REP, ou seja, a ultima vez que foi emitido o comprovante. $.ajax({ url: "/get_system_information.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Informações do REPObtém informações e estatísticas do sistemaget_about Obtém as seguintes informações do REP: mac, nSerie, versionFW(Firmware),versionMRP. O resultado é um objeto JSON que contém as seguintes chaves: macstring Indica o endereço do MAC do REP. nSeriestring Indica o numero de serie do REP. versionFWinteiro Indica a versão do firmware do REP versionMRPinteiro Indica a versão da MRP $.ajax({ url: "/get_about.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Ativar o iD CloudEsse metodo executa o iD Cloudset_idcloud Esse método é utilizado para ativar ou desativar o iD Cloud no REP. enablebooleano

Deixar o valor de "enable" = true, para ativar o iD Cloud

$.ajax({ url: "/set_idcloud.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ enable: true }) });
Status iD CloudRetorna o status do iD Cloudget_idcloud Retorna o status do iD Cloud, se enable = true, o iD Cloud está ativado. enableBooleano Retorna o status do iD Cloud true ou false. $.ajax({ url: "/get_idcloud.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Alterar a data e horaAltera a data e a hora do sistemaset_system_date_time Altera a data e a hora do sistema. O método HTTP usado é o POST. dayinteiro Valor numérico representando o dia do mês. monthinteiro Valor numérico representando o mês. Valores válidos entre 1 e 12. yearinteiro Valor numérico representando o ano. Exemplo: 2014 hourinteiro Valor numérico representando a hora. Valores válidos entre 0 e 23. minuteinteiro Valor numérico representando os minutos. Valores válidos entre 0 e 59. secondinteiro Valor numérico representando os segundos. Valores válidos entre 0 e 59. $.ajax({ url: "/set_system_date_time.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ day: 10, month: 12, year: 1983, hour: 21, minute: 30, second: 00 }) });
Retorna data e horaRetorna a data e hora do REPget_system_date_time Retorna a data e hora do REP. O método HTTP usado é o POST. dayinteiro Retorna o valor numérico representando o dia do mês. monthinteiro Retorna o valor numérico representando o mês. yearinteiro Retorna o valor numérico representando o ano. hourinteiro Retorna o valor numérico representando a hora. minuteinteiro Retorna o valor numérico representando os minutos. secondinteiro Retorna o valor numérico representado os segundos. $.ajax({ url: "/get_system_date_time.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Animação do REPEsse metodo executa a animação do REPset_animation_screen Setar a animação do REP. enablebooleanoSe enabled = true, a animação do REP está ativada. $.ajax({ url: "/set_animation_screen.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ enable: true }) });
Baixar AFDObtém o arquivo AFD do REPget_afd Obtém o arquivo AFD do REP com todas as marcações realizadas até o momento da execução do método. initial_dateObjeto JSON initial_date é um objeto JSON, que contém os seguintes parâmetros: yearinteiro Retorna o valor numérico representando o ano. monthinteiro Retorna o valor numérico representando o mês. dayinteiro Retorna o valor numérico representando o dia. initial_nsrinteiro Retorna as marcações a partir da NSR informada até o final. $.ajax({ url: "/get_afd.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) }); $.ajax({ url: "/get_afd.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ initial_date:{ day: 1, month: 1, year: 2015 } }) }); $.ajax({ url: "/get_afd.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ initial_nsr: 14 } }) });
Beep do equipamentoAtiva ou desativa o beep do equipamento.set_buzzer_beep Ativa o som de beep do equipamento. enableBooleano Se o enable = true, o REP está com o beep ligado. $.ajax({ url: "/set_buzzer_beep.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ enable: true }) });
Chave públicaRetorna a chave pública do REPget_public_key Chave publica do REP base32string Retorna a chave pública em base32. base64string Retorna a chave pública em base64. $.ajax({ url: "/get_public_key.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Configurações de redeRetorna as configurações de rede do REPget_system_network Obtém as configurações de rede previamente definidas no REP. O método HTTP usado é o POST. IPstring Texto representando o IP que o equipamento deve assumir, por exemplo: "192.168.2.185". netmaskstring Texto representando a máscara de rede que o equipamento deve assumir. Exemplo: "255.255.128.0". gatewaystring Endereço IP do gateway da rede. Exemplo: "192.168.2.1". DNSstring Endereço do DNS da rede. Exemplo: "13.0.0.234". set_system_network Altera as configurações de rede do equipamento. O método HTTP usado é o POST. IPstring Texto representando o IP que o equipamento deve assumir, por exemplo: "192.168.0.1". netmaskstring Texto representando a máscara de rede que o equipamento deve assumir. Exemplo: "255.255.255.0". gatewaystring Endereço IP do gateway da rede. Exemplo: "192.168.0.1". DNSstring Endereço do DNS da rede. Exemplo: "13.0.0.234". $.ajax({ url: "/set_system_network.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ ip: '192.168.2.185', netmask: '255.255.128.0', gateway: '192.168.0.1', dns: '13.0.0.234' }) });
Setar o tamanho da bobinaSetar o tamanho da bobina inserida no REPset_coil_paper O método seta a quantidade de bobina que há no REP. O resultado é um objeto JSON que contém as seguintes chaves: coil_paperinteiro Defini a quantidade de bobina do REP. $.ajax({ url: "/set_coil_paper.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ "coil_paper":200 }) });
Quantidade de bobina no REPRetorna a quantidade de bobina do REPget_coil_paper O método retorna a quantidade de bobina que há no REP. O resultado é um objeto JSON que contém as seguintes chaves: coil_paperinteiro Retorna a quantidade de bobina que há no REP. $.ajax({ url: "/get_coil_paper.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Tamanho do TICKETSetar o tamanho do TICKETset_ticket_size Setar o tamanho do ticket do equipamento economic_receipt_enabledBooleano Se economic_receipt_enabled = true, o TICKET está com tamanho curto. $.ajax({ url: "/set_ticket_size.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ economic_receipt_enabled: true }) });
Tipo de identificaçãoAltera a forma de identificação no REP.set_identification_type Setar a forma como o usuário vai se identificar no REP. one_to_one_enabledbooleano Se one_to_one_enabled = true, estará mudando para a forma de identificação 1:1, os usuários precisarão se identificar por senha ou cartão antes de usar o leitor biométrico, caso contrário a forma de identificação é 1:N, podendo se identificar somente por uma forma especifica (Biometria, senha ou cartão). $.ajax({ url: "/set_identification_type.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ one_to_one_enabled: true }) });
Horário de verãoAltera o horário de verão do REPset_system_daylight_saving_time Altera o horário de verão do REP. O método HTTP usado é o POST. start_date_timeObjeto JSON start_date_time é um objeto JSON, que contém os seguintes parâmetros: yearinteiro Valor numérico representando o ano. monthinteiro Valor numérico representando o mês. Valores válidos entre 1 e 12. dayinteiro Valor numérico representando o dia. Exemplo: 3 end_date_timeObjeto JSON end_date_time é um objeto JSON, que contém os seguintes parâmetros: yearinteiro Valor numérico representando o ano. monthinteiro Valor numérico representando o mês. Valores válidos entre 1 e 12. yearinteiro Valor numérico representando o ano. Exemplo: 2014 dayinteiro Valor numérico representando a hora. Valores válidos entre 1 e 31. $.ajax({ url: "/set_system_daylight_saving_time.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ "start_date_time": { year: 2016, month: 3, day: 1 }, "end_date_time": { "year": 2016, "month": 4, "day": 1 } }) });
Retorna horário de verãoRetorna o horário de verão do REPget_system_daylight_saving_time Retorna o horário de verão do REP. O método HTTP usado é o POST. start_date_timeObjeto JSON start_date_time é um objeto JSON, que contém os seguintes parâmetros: yearinteiro Retorna o valor numérico representando o ano. monthinteiro Retorna o valor numérico representando o mês. dayinteiro Retorna o valor numérico representando o dia. end_date_timeObjeto JSON end_date_time é um objeto JSON, que contém os seguintes parâmetros: yearinteiro Retorna o valor numérico representando o ano. monthinteiro Retorna o valor numérico representando o mês. yearinteiro Retorna o valor numérico representando o ano. dayinteiro Retorna o valor numérico representando a hora. $.ajax({ url: "/get_system_daylight_saving_time.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Informações de usuários do REPObtém informações do REPget_info Obtém as seguintes informações do REP: numero de serie, numero de usuários,administradores, quantidade de digitais, senhas, codigo de barras, rfid, tempo ligado. O resultado é um objeto JSON que contém as seguintes chaves: num_seriestring Indica a numero de serie do REP. user_countinteiro Indica a quantidade de usuários. administrator_countinteiro Indica a quantidade de usuários que são administradores. template_countinteiro Contém a quantidade de digitais de todos os usuários cadastrados no equipamento. password_countinteiro Contém a quantidade de senhas de todos os usuários cadastrados no equipamento. bars_countinteiro Contém a quantidade de codigo de barras cadastrados no REP rfid_countinteiro Contém a quantidade de cartões cadastrados. uptimeinteiro retorna o tempo que o REP está ligado low_on_paperbooleano Indica se tem ou não pouco papel, caso o retorno seja 'null' o REP não possui sensor de pouco papel. low_on_paperbooleano Indica se tem ou não pouco papel, caso o retorno seja 'null' o REP não possui sensor de pouco papel. Atenção: Esse campo está obsoleto.cutsinteiro Indica o total de tickets impresso. total_printedinteiro Indica o total de tickets impresso em decimetro. $.ajax({ url: "/get_info.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Configurações especificas do REPObtém informações de configuração do REPget_system_configuration Obtém as configurações especificas do REP. beep_enabledbooleano Indica se o REP está com o beep ligado. animation_enabledbooleano Indica se o REP está com a animação ativado. economic_receipt_enabledbooleano Indica se a opção ticket curto está ativado. one_to_one_enabledbooleano Indica se a identificação 1:1 está ativado. $.ajax({ url: "/get_system_configuration.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ }) });
Extrair TemplateExtrai os bytes de uma imagem.template_extract Extrai template biométrico de uma imagem Bitmap. O método HTTP usado é o POST e o contentType é octet-stream. widthinteiro Largura, em pixels. heightinteiro Altura, em pixels. $.ajax({ url: "/template_extract.fcgi?session=" + session + "&width=260&height=320", type: 'POST', contentType: 'application/octet-stream', contentLength: quantidade de bytes, data: binario_imagem }) });
Combinar TemplatesComprimir os templatesO template é um conjunto de bytes obtidos pelo algoritmo Innovatrics existente dentro do equipamento que representa uma digital.template_merge Transforma 3 templates de base64 em um template final. O método HTTP usado é o POST. templatesarray de string Esse campo deve conter três templates um para cada digital extraido. user_pisinteiro Esse campo deve conter o pis do usuário que está sendo gerado o template final. new_templatesarray de string Esse campo deve conter os templates combinados e que ainda não foram salvos no equipamento. Entretanto, pode ser passado vazio. removebooleano Este campo indica se os templates previamente cadastrados para o usuário em questão devem ser considerados durante a checagem ou não. Setar para true se desejar ignorar os templates já cadastrados. $.ajax({ url: "/template_merge.fcgi?session=" + session, type: 'POST', contentType: 'application/json', data: JSON.stringify({ "new_templates":[], "remove":false, "templates":[ "SUNSUzIxAAAE8" ], "user_pis":12341234123 }) });