MCI/API
De uTech Tecnologia
(Diferença entre revisões)
(Criou página com ''''API de integração com catraca IP uTech [http://utech.com.br/site/catraca/ MCI]''' __TOC__ == Protocolo / Formato das requisições == <BR/> === Integração da catraca ...') |
(→Eventos) |
||
(12 edições intermediárias de um usuário não apresentadas) | |||
Linha 77: | Linha 77: | ||
! scope="row" colspan=2 style="width: 25%" align="center"| Comandos enviados pela Aplicação à | ! scope="row" colspan=2 style="width: 25%" align="center"| Comandos enviados pela Aplicação à | ||
|- | |- | ||
− | ! scope="row" style="width: 40%" align="right"| [[ | + | ! scope="row" style="width: 40%" align="right"| [[MCI/API/CmdVersion|'''Versão''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca, solicitando modelo, serial e versão do firmware. |
|- | |- | ||
− | ! scope="row" style="width: | + | ! scope="row" style="width: 40%" align="right"| [[MCI/API/CmdStatus|'''Status''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando status dos relés, sensores e botoeiras. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdListarUsuarios|'''Listar usuários''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para solicitar a lista de usuários cadastrados. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdGetUser|'''Buscar Usuário''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para solicitar a configuração de um usuário. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/Resumo|'''Buscar Resumo de Usuários''']] |
− | | Comando | + | | Comando utilizado solicitar lista com total de usuários e permissões de acesso. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdAdicionarUsuario|'''Adicionar usuário''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando a inclusão de um novo usuário. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdAdicionarUsuarioAuto|'''Adicionar usuário automaticamente''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando a inclusão automática de um novo usuário. (Será inserido automaticamente o próximo cartão ou QR Code lido. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdAdicionarFingerprint|'''Cadastrar Biometria''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para cadastrar a Biometria de um usuário. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdCheckUser|'''Verificar Permissões de um usuário''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para verificar se um usuário tem permissão de acesso. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdRemoverUsuario|'''Remover usuário''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando remoção de um usuário. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdRemoverUsuarioAutomaticamente|'''Remover usuário automaticamente''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando remoção automática de um usuário. Será removido o próximo cartão, QR Code, RF 433 ou Fingerprint lido pela catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdRemoverTodosUsuarios|'''Remover todos os usuários''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando a remoção de '''TODOS''' os usuários. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdListaLogsDeAcesso|'''Listar log's de acesso''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando os log's de acessos. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdRemoveLogsDeAcesso|'''Remover log's de acesso''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca solicitando a remoção de toda a lista de log's de acessos. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdControlarRele|'''Controlar acionamento dos relês''']] |
− | | Comando enviado para o | + | | Comando enviado para a catraca para controlar o acionamento/status dos Relês. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdControlarAlarme|'''Controlar acionamento do alarme''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para controlar o acionamento/status dos alarmes. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdFuncaoPanico|'''Controlar função pânico''']] |
− | | Comando enviado para | + | | Comando enviado para a catraca para controlar o acionamento/status da função pânico. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdListaAlarmes|'''Listar Status dos Alarmes''']] |
− | | Comando enviado para o | + | | Comando enviado para buscar o estado atual dos alarmes da catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdLocalizacao|'''Buscar Localização''']] |
− | | Comando enviado para buscar | + | | Comando enviado para buscar a localização da catraca (configurado via interface WEB). |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdGetConfig|'''Buscar Configuração''']] |
− | | Comando enviado para | + | | Comando enviado para pegar a configuração da catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdSetConfig|'''Configurar Catraca''']] |
− | | Comando enviado para | + | | Comando enviado para configurar a catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdRestoreConfig|'''Restaurar Configuração da Catraca''']] |
− | | Comando enviado para | + | | Comando enviado para restaurar a configuração da catraca para a configuração de padrão/fabrica. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdReiniciarEquipamento|'''Reiniciar o equipamento''']] |
− | | Comando enviado para | + | | Comando enviado para reiniciar a catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/CmdUpdate|'''Atualizar o firmware do equipamento''']] |
− | | Comando enviado para | + | | Comando enviado para realizar o update de firmware da catraca. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/GetDateTime|'''Buscar Data/Hora atual do equipamento''']] |
− | | Comando enviado para | + | | Comando enviado para solicitar DATA e HORA atual da catraca MCI. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/SetDateTime|'''Configurar Data/Hora do equipamento''']] |
− | | Comando enviado | + | | Comando enviado configurar a DATA e HORA atual da catraca MCI. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/GetAccessLog|'''Buscar Lista de acesso''']] |
− | | Comando | + | | Comando utilizado para buscar a lista de acesso realizados na catraca MCI. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/DelAccessLog|'''Remover lista de acesso''']] |
− | | Comando | + | | Comando utilizado para remover a lista de acesso realizados na catraca MCI |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/Counters|'''Buscar Contadores de Acesso''']] |
− | | Comando | + | | Comando utilizado para buscar os contatores de acesso na catraca MCI. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/PlayMessage|'''Reproduzir mensagem''']] |
− | + | | Comando utilizado para reproduzir mensagens pré-definidas na catraca MCI. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | Comando utilizado para reproduzir mensagens pré-definidas | + | |
|} | |} | ||
Linha 183: | Linha 171: | ||
{| class="wikitable" width="75%" | {| class="wikitable" width="75%" | ||
− | ! scope="row" colspan=2 style="width: 25%" align="center"| Eventos enviados | + | ! scope="row" colspan=2 style="width: 25%" align="center"| Eventos enviados pela catraca para a Aplicação |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtRele|'''Evento de relê''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status estado de relê. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtInput|'''Evento de Entrada''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando evento de entrada. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtOutput|'''Evento de Saída''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando evento de saída. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtSensor|'''Evento de Sensor''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status estado de sensor. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtBotoeira|'''Evento de botoeira''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status estado de botoeira. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtMifireNFC|'''Evento Mifire / NFC''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status de cartão lido. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtFingerprint|'''Evento Fingerprint''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status de biometria lida. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtFingerprintStatus|'''Evento Fingerprint Status (''Enrolment'')''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando o status de cadastro de uma biometria (''Enrolment''). |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtUser|'''Evento de Usuário e Senha''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando nova requisição de acesso por usuário e senha. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtQRCode|'''Evento QR Code''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status de leitura de QR Code. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtAddUser|'''Evento Add User''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando que um novo usuário foi adicionado. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtDelUser|'''Evento Del User''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando que um usuário foi removido. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtAddUserAuto|'''Evento de Cadastro Automático de Usuário''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando o status do cadastro automático de usuário (enviado após o comando [[MCI/API/CmdAdicionarUsuarioAuto|'''probeuser''']]. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtDelUserAuto|'''Evento de Remoção Automática de Usuário''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando o status da remoção automática de usuário (enviado após o comando [[MCI/API/CmdRemoverUsuarioAutomaticamente|'''eraseuser''']]. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtAlarme|'''Evento de Alarme''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando novo status de alarme. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtPanico|'''Evento Pânico''']] |
− | | Evento enviado | + | | Evento enviado pela catraca informando status da função pânico. |
|- | |- | ||
− | ! scope="row" style="width: 30%" align="right"| [[ | + | ! scope="row" style="width: 30%" align="right"| [[MCI/API/EvtBoot|'''Evento de Boot''']] |
− | + | | Evento enviado pela catraca informando Boot da catraca. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | | Evento enviado | + | |
|} | |} | ||
<BR><BR> | <BR><BR> | ||
+ | |||
== QR Code Dinâmico == | == QR Code Dinâmico == | ||
Linha 249: | Linha 232: | ||
Para utilização, siga os passos abaixo: | Para utilização, siga os passos abaixo: | ||
− | # Verifique a versão de software | + | # Verifique a versão de software da catraca. Ela '''DEVE''' ser igual ou superior a versão '''1.1.4'''. |
− | # Habilite | + | # Habilite na catraca a função de '''QR Code dinâmico'''. Acesse o menu '''Controle de Acesso''', aba '''Geral''' e habilite os campos: |
* '''Habilitar QRCODE Dinâmico''' | * '''Habilitar QRCODE Dinâmico''' | ||
* '''Validade de QRCODE Dinâmico''' | * '''Validade de QRCODE Dinâmico''' | ||
− | # Agora, | + | # Agora, a catraca está pronto para utilização. Veja no link [[MPI/API/QRCodeDinamico|'''QR Code Dinâmico''']] como é o seu funcionamento. |
<BR> | <BR> | ||
----- | ----- | ||
− | [[ | + | [[MCI/Tutoriais|'''Voltar''']] |
Edição atual tal como 21h00min de 4 de março de 2020
API de integração com catraca IP uTech MCI
Tabela de conteúdo |
[editar] Protocolo / Formato das requisições
[editar] Integração da catraca uTech MCI via API - Comandos e Eventos
- Comandos: Serão enviados da aplicação para a catraca.
- Eventos: Serão enviados pela catraca para a aplicação (O destino dos eventos deve ser configurado via interface web da catraca).
[editar] Métodos e Formatos
[editar] Formato dos Comandos
- Comandos enviados para a catraca, devem utilizar o protocolo HTTP] e os métodos [GET] e [POST].
- As respostas estarão codificadas no padrão JSON (Caso houver dados. Veja a lista completa de comandos e eventos abaixo)
Requisição:
http://IP_DA_CATRACA:porta/?request=<requisição>... |
---|
Resposta do Comando
- 400 => Requisição ou parâmetros incorretos!
- 200 => Requisição OK.
Content-Type: application/json { "relay":"off", "sensor":"on", "button":"off" } |
---|
[editar] Formato dos Eventos
Evento:
http://ip:porta/url/?event=alarm&state=on User-Agent: uTech/0000002874 Connection: close Date: Wed, 13 Jun 2018 17:22:35 Host: 10.0.0.1 |
---|
Utilize o campo (header http) User-Agent para identificar qual catraca está enviando os eventos para sua aplicação. |
Resposta do evento
A aplicação deverá responder os eventos com o Status code 200 OK
[editar] Autenticação
Para acesso com usuário e senha, é usulizado o método e autenticação Basic'. Veja sobe em: Basic Authentication
[editar] Comandos
Comandos enviados pela Aplicação à | |
---|---|
Versão | Comando enviado para a catraca, solicitando modelo, serial e versão do firmware. |
Status | Comando enviado para a catraca solicitando status dos relés, sensores e botoeiras. |
Listar usuários | Comando enviado para a catraca para solicitar a lista de usuários cadastrados. |
Buscar Usuário | Comando enviado para a catraca para solicitar a configuração de um usuário. |
Buscar Resumo de Usuários | Comando utilizado solicitar lista com total de usuários e permissões de acesso. |
Adicionar usuário | Comando enviado para a catraca solicitando a inclusão de um novo usuário. |
Adicionar usuário automaticamente | Comando enviado para a catraca solicitando a inclusão automática de um novo usuário. (Será inserido automaticamente o próximo cartão ou QR Code lido. |
Cadastrar Biometria | Comando enviado para a catraca para cadastrar a Biometria de um usuário. |
Verificar Permissões de um usuário | Comando enviado para a catraca para verificar se um usuário tem permissão de acesso. |
Remover usuário | Comando enviado para a catraca solicitando remoção de um usuário. |
Remover usuário automaticamente | Comando enviado para a catraca solicitando remoção automática de um usuário. Será removido o próximo cartão, QR Code, RF 433 ou Fingerprint lido pela catraca. |
Remover todos os usuários | Comando enviado para a catraca solicitando a remoção de TODOS os usuários. |
Listar log's de acesso | Comando enviado para a catraca solicitando os log's de acessos. |
Remover log's de acesso | Comando enviado para a catraca solicitando a remoção de toda a lista de log's de acessos. |
Controlar acionamento dos relês | Comando enviado para a catraca para controlar o acionamento/status dos Relês. |
Controlar acionamento do alarme | Comando enviado para a catraca para controlar o acionamento/status dos alarmes. |
Controlar função pânico | Comando enviado para a catraca para controlar o acionamento/status da função pânico. |
Listar Status dos Alarmes | Comando enviado para buscar o estado atual dos alarmes da catraca. |
Buscar Localização | Comando enviado para buscar a localização da catraca (configurado via interface WEB). |
Buscar Configuração | Comando enviado para pegar a configuração da catraca. |
Configurar Catraca | Comando enviado para configurar a catraca. |
Restaurar Configuração da Catraca | Comando enviado para restaurar a configuração da catraca para a configuração de padrão/fabrica. |
Reiniciar o equipamento | Comando enviado para reiniciar a catraca. |
Atualizar o firmware do equipamento | Comando enviado para realizar o update de firmware da catraca. |
Buscar Data/Hora atual do equipamento | Comando enviado para solicitar DATA e HORA atual da catraca MCI. |
Configurar Data/Hora do equipamento | Comando enviado configurar a DATA e HORA atual da catraca MCI. |
Buscar Lista de acesso | Comando utilizado para buscar a lista de acesso realizados na catraca MCI. |
Remover lista de acesso | Comando utilizado para remover a lista de acesso realizados na catraca MCI |
Buscar Contadores de Acesso | Comando utilizado para buscar os contatores de acesso na catraca MCI. |
Reproduzir mensagem | Comando utilizado para reproduzir mensagens pré-definidas na catraca MCI. |
[editar] Eventos
Eventos enviados pela catraca para a Aplicação | |
---|---|
Evento de relê | Evento enviado pela catraca informando status estado de relê. |
Evento de Entrada | Evento enviado pela catraca informando evento de entrada. |
Evento de Saída | Evento enviado pela catraca informando evento de saída. |
Evento de Sensor | Evento enviado pela catraca informando status estado de sensor. |
Evento de botoeira | Evento enviado pela catraca informando status estado de botoeira. |
Evento Mifire / NFC | Evento enviado pela catraca informando status de cartão lido. |
Evento Fingerprint | Evento enviado pela catraca informando status de biometria lida. |
Evento Fingerprint Status (Enrolment) | Evento enviado pela catraca informando o status de cadastro de uma biometria (Enrolment). |
Evento de Usuário e Senha | Evento enviado pela catraca informando nova requisição de acesso por usuário e senha. |
Evento QR Code | Evento enviado pela catraca informando status de leitura de QR Code. |
Evento Add User | Evento enviado pela catraca informando que um novo usuário foi adicionado. |
Evento Del User | Evento enviado pela catraca informando que um usuário foi removido. |
Evento de Cadastro Automático de Usuário | Evento enviado pela catraca informando o status do cadastro automático de usuário (enviado após o comando probeuser. |
Evento de Remoção Automática de Usuário | Evento enviado pela catraca informando o status da remoção automática de usuário (enviado após o comando eraseuser. |
Evento de Alarme | Evento enviado pela catraca informando novo status de alarme. |
Evento Pânico | Evento enviado pela catraca informando status da função pânico. |
Evento de Boot | Evento enviado pela catraca informando Boot da catraca. |
[editar] QR Code Dinâmico
O MPI possui uma função para controle de QR Code's dinâmicos (Com validade de tempo) Para utilização, siga os passos abaixo:
- Verifique a versão de software da catraca. Ela DEVE ser igual ou superior a versão 1.1.4.
- Habilite na catraca a função de QR Code dinâmico. Acesse o menu Controle de Acesso, aba Geral e habilite os campos:
* Habilitar QRCODE Dinâmico * Validade de QRCODE Dinâmico
- Agora, a catraca está pronto para utilização. Veja no link QR Code Dinâmico como é o seu funcionamento.