Ir ao conteúdo

Outro o que preciso saber para mexer em uma API rest?


Ir à solução Resolvido por felipecchaves,

Posts recomendados

Postado

olá, estou com a necessidade de mexer em uma API da controlID para adicionar funcionalidades na minha casa, porém nunca mexi com API.

alguém tem o roadmap do que preciso saber para entender uma API dessa? eu queria poder fazer o dispositivo biométrico abrir por linha de comando do meu pc também.

Postado

API REST é uma API que pode ser acessada por um endereço na web, pode ser por um domínio (http://enderecodaapi.com/api) ou usando um IP (http://192.168.100.52/api).

 

No caso da Control iD o acesso é feito usando o IP do equipamento. Esse é um exemplo de como pode fazer login no equipamento usando JavaScript:

let session = '';
const api = 'http://192.168.0.123/login.fcgi';
fetch(api, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    login: 'admin',
    password: 'admin'
  })
}).then((response) => {
  if (response.status === 200) {
    return response.json();
  }
  return null;
}).then((data) => {
  if (data) {
    session = data.session;
  }
});

 

Exemplo de como enviar requisição para abrir a porta:

const api = 'http://192.168.0.123/execute_actions.fcgi?session=';
// "session" é fornecido quando realiza o login com sucesso
fetch(`${api}${session}`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    actions: [{ action: 'door', parameters: 'door=1' }]
  })
});

 

Documentação Control iD

A documentação deles é muito bem explicada e com exemplos em diversas linguagens. Peguei essas informações lá. Dá um olhada na documentação e qualquer dúvida chama aqui que a gente te ajuda.

  • Curtir 1
Postado

@felipecchaves procurei bastante mas não achei, tem alguma forma de saber pela API se a porta está aberta?

por sinal, pergunta a parte, isso é anti restful?, já que se tratra de um modelo de estado?

  • Solução
Postado
13 horas atrás, Swalls disse:

@felipecchaves procurei bastante mas não achei, tem alguma forma de saber pela API se a porta está aberta?

por sinal, pergunta a parte, isso é anti restful?, já que se tratra de um modelo de estado?

Não entendi o que você quis dizer com "anti restful".

 

Documentação Control iD - Monitor

Nesse link explica como monitorar o estado dos equipamentos.

 

Documentação Control iD - Estado das portas

Aqui explica como monitorar o estado das portas.

 

Em resumo, você precisa configurar um servidor que vai receber uma requisição do equipamento sempre que houver uma alteração do estado.

Postado

Se você for usar apenas na sua rede interna, basta instalar um servidor http no seu computador e configurar no roteador pro seu PC ficar com IP fixo. Os servidores http mais populares são Apache e Nginx. Depois de instalar o servidor no seu PC você precisa configurar as rotas (endpoints) como mostra na documentação do Control iD. Por exemplo, se você configurou o IP fixo do seu PC para 192.168.100.100, então pra monitorar o estado da porta você precisa da rota (endpoint) "http://192.168.100.100/api/notifications/door". Sempre que o estado da sua porta for alterado vai ser enviado um JSON pra essa rota com as informações no novo estado e identificação do equipamento que enviou a requisição.

 

Se você quiser monitorar o estado dos equipamentos fora da sua rede interna, vai precisar de um servidor web. Existem infinitas opções, eu posso sugerir a Vercel que é grátis e já vem com toda a segurança de um back-end profissional.  O resto é exatamente igual, basta configurar as rotas pra receber as requisições sempre que o estado for alterado.

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!