Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Good

API - Como funciona

Recommended Posts

Boa tarde,

eu estou estudando como funciona um sistema de API  + Postback e estou com dúvidas...

A linguagem mais prática para isto é NodeJS? 

 

Por exemplo, vou liberar permissão para os usuários pegarem informações da conta de cadastro dele.. E por exemplo, quando eles atualizarem as informações de cadastro como nome, cidade, estado,  etc.. o sistema deve enviar no mesmo momento um postback com as informações..

 

Como vocês fariam este sistema? Os grandes portais utilizam como? Tipo o mercado livre, google...

 

aguardo resposta, 

att

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Good Boa Tarde!

 

1 hora atrás, Good disse:

eu estou estudando como funciona um sistema de API  + Postback e estou com dúvidas...

A linguagem mais prática para isto é NodeJS? 

 

Bom o Node.js não é uma linguagem, e sim um interpretador de javascript, ele expande o uso do javascript. 

Em questão de praticidade o PHP é mais solido e confiável, ele também tem uma das comunidade mais ativas.

 

Para você entender como funciona um sistema de API Web, você primeiro deve entender o que é front-end e back-end. Eu não vou explicar, você acha muitos trópicos falando sobre.

 

1 hora atrás, Good disse:

Como vocês fariam este sistema? Os grandes portais utilizam como? Tipo o mercado livre, google...

 

Eu faria usando, e os sistemas utilizam uma arquitetura de software. Uma bem famosa é o MVC.

 

2 horas atrás, Good disse:

Por exemplo, vou liberar permissão para os usuários pegarem informações da conta de cadastro dele.. E por exemplo, quando eles atualizarem as informações de cadastro como nome, cidade, estado,  etc.. o sistema deve enviar no mesmo momento um postback com as informações..

 

Depois dá uma olhada em XMLHTTPRequest.

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, gabrielms disse:

@Good Boa Tarde!

 

 

Bom o Node.js não é uma linguagem, e sim um interpretador de javascript, ele expande o uso do javascript. 

Em questão de praticidade o PHP é mais solido e confiável, ele também tem uma das comunidade mais ativas.

 

Para você entender como funciona um sistema de API Web, você primeiro deve entender o que é front-end e back-end. Eu não vou explicar, você acha muitos trópicos falando sobre.

 

 

Eu faria usando, e os sistemas utilizam uma arquitetura de software. Uma bem famosa é o MVC.

 

 

Depois dá uma olhada em XMLHTTPRequest.

 

 

Boa tarde @gabrielms, kkkk esqueci de falar.. não sou novato... E estou pedindo ajuda para saber como vocês fariam, o que seria de fato um sistema profissional, para uso de grande fluxo..

Mas aqui vai minhas dúvidas:

- No nodejs, dá para criar sites, conectar com banco de dados, etc. Certo? Tipo, bastaria eu montar html e através de socket, há o envio de dados, e aí no front faria o tratamento de dados e exibiria no html as informações desejadas.. correto? Enfim, esta parte não importa muito.

 

Então... Por exemplo, o sistema de postback, no meu sistema (o painel) provavelmente vai ser desenvolvido em PHP+MySQL... E aí, eu criaria um servidor em  nodejs para receber sempre as atualizações vindas do painel, ou seja, um formulário após ser salvado seria enviado uma requisição com os dados modificados e aí o nodejs faria a distribuição para todas as URLs cadastradas, e posteriormente eu gravaria no meu banco de dados o status da distribuição para as URLs (se é status 200, 404, etc).

 

E o uso da API poderia ser consultada através de CURL + PHP, e outras linguagens (assim como disponibilizada diversos exemplos).. E a url que seria puxada, seria tipo um fluxo criado no nodejs.. Que retornaria informações do banco de dados de acordo com o que o usuário solicitar... O importante é criar uma página web central que retornaria dados de acordo com o que o usuário solicitar, independente de qual linguagem ele quer fazer o tratamento dos dados.

 

Minha dúvida principal é se esta estrutura é a correta... Se tem outras linguagens melhores para fazer o trabalho de PostBack + API

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Good 

 

32 minutos atrás, Good disse:

Então... Por exemplo, o sistema de postback, no meu sistema (o painel) provavelmente vai ser desenvolvido em PHP+MySQL... E aí, eu criaria um servidor em  nodejs para receber sempre as atualizações vindas do painel, ou seja, um formulário após ser salvado seria enviado uma requisição com os dados modificados e aí o nodejs faria a distribuição para todas as URLs cadastradas, e posteriormente eu gravaria no meu banco de dados o status da distribuição para as URLs (se é status 200, 404, etc).

 

Pra que N motivos você teria um server PHP e um em Node.js? Se sua aplicação e desenvolvida em php não tem nenhum motivo para criar um server em Node.js. O único motivo para isso, seria o uso do socket web para trabalhar em tempo real.

 

32 minutos atrás, Good disse:

E o uso da API poderia ser consultada através de CURL + PHP, e outras linguagens (assim como disponibilizada diversos exemplos).. E a url que seria puxada, seria tipo um fluxo criado no nodejs.. Que retornaria informações do banco de dados de acordo com o que o usuário solicitar... O importante é criar uma página web central que retornaria dados de acordo com o que o usuário solicitar, independente de qual linguagem ele quer fazer o tratamento dos dados.

 

Os protocolos de requisição como HTTP, GET e POST são os mesmo para qualquer linguagem, se você quer criar uma API para se comunicar com diversas aplicações, basta criar um server para receber essas requisições e enviar de acordo com cada requisição.

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 minutos atrás, gabrielms disse:

@Good 

 

 

Pra que N motivos você teria um server PHP e um em Node.js? Se sua aplicação e desenvolvida em php não tem nenhum motivo para criar um server em Node.js. O único motivo para isso, seria o uso do socket web para trabalhar em tempo real.

 

 

Os protocolos de requisição como HTTP, GET e POST são os mesmo para qualquer linguagem, se você quer criar uma API para se comunicar com diversas aplicações, basta criar um server para receber essas requisições e enviar de acordo com cada requisição.

 

@gabrielms isso, exatamente... isso que eu quero chegar.. mas eu estou pensando em nível de eficiência... Pq eu pretendo fazer lançamento, e será um sistema com milhares de requisições diárias.. Entende? Por exemplo, com nodejs eu poderia manter armazenado temporariamente informações para que evite o uso de consulta ao banco de dados..

Tudo tem que ser pensado de forma a ser executada mais rápido possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Good 

 

1 hora atrás, Good disse:

@gabrielms isso, exatamente... isso que eu quero chegar.. mas eu estou pensando em nível de eficiência... Pq eu pretendo fazer lançamento, e será um sistema com milhares de requisições diárias.. Entende? Por exemplo, com nodejs eu poderia manter armazenado temporariamente informações para que evite o uso de consulta ao banco de dados..

Tudo tem que ser pensado de forma a ser executada mais rápido possível.

Isso você pode fazer usando qualquer linguagem, um bom exemplo e o Laravel(Framework em PHP) que armazenando session em arquivo.

 

o PHP e o mysql suportam muita coisa com apenas 128MB de memorial. O que você pode fazer é melhor os recursos para ambos e colocar um sistema de múltiplos servidores com um sistema de segurança ante DDOS. E também projetar bem o seu banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, gabrielms disse:

@Good 

 

Isso você pode fazer usando qualquer linguagem, um bom exemplo e o Laravel(Framework em PHP) que armazenando session em arquivo.

 

o PHP e o mysql suportam muita coisa com apenas 128MB de memorial. O que você pode fazer é melhor os recursos para ambos e colocar um sistema de múltiplos servidores com um sistema de segurança ante DDOS. E também projetar bem o seu banco de dados.

massa.. valeu!! Vou aguardar outras opiniões também

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Estou com uma pequena dúvida se é possível ser realizado.

      Preciso passar 2 IDs para o Sistema executar a função, estou utilizando desta forma e gostaria de saber como faço via JS para passar os parâmetro que preciso.

      Observação:
      Dentro da TABELA utilizei 2 Forms, para passar os IDS que preciso, funcionou conforme código abaixo.
      <div class="card-body"> <table id="tab_clie" class="table table-bordered table-hover"> <thead> <tr> <th style="text-align:center; width:10%;">Pedido Nº</th> <th style="text-align:center; width:10%;">Data Pedido</th> <th style="text-align:center; width:32%;">Fornecedor</th> <th style="text-align:center; width:10%;">Status</th> <th style="text-align:center; width:5%;">Ação</th> </tr> </thead> <tbody> <?php foreach ($results as $r) { $dta_ped = date(('d/m/Y'), strtotime($r->dataPedido)); switch ($r->pd_status) { case '1': $status = '&nbsp;&nbsp;Aberto&nbsp;&nbsp;'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#000000'; //Cor: Preta break; case '2': $status = 'Atendido Total'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#086108'; //Cor: Verde break; case '3': $status = 'Atendido Parcial'; $txt = '#000000'; //Cor: Branco $cor = '#FEA118'; //Cor: Amarelo break; default: $status = 'Cancelado'; $txt = '#FFFFFF'; //Cor: Branco $cor = '#D20101'; //Cor: Vermelho break; } echo '<tr>'; echo '<td width="10%" height="10" style="text-align:center;">'.$r->pd_numero.'</td>'; echo '<td width="10%" height="10" style="text-align:center;">'.$dta_ped.'</td>'; echo '<td width="32%" height="10" style="text-align:left;">'.$r->nome.'</td>'; echo '<td width="10%" height="10" style="text-align:left;"><span class="badge" style="color:'.$txt.'; background-color:'.$cor.'; border-color:'.$cor.'">'.$status.'</span></td>'; echo '<td width="5%" style="text-align:center;">'; ?> <div class="row"> <?php if($this->permission->checkPermission($this->session->userdata('permissao'), 'vPedido')){ ?> <form action="<?= base_url() ?>compras/pedidos/visualizar" method="POST" > <input type="hidden" name="idPedido" value="<?php echo $r->idPedidos; ?>"> <input type="hidden" name="nrPedido" value="<?php echo $r->pd_numero; ?>"> <button class="btn btn-warning" title="Visualizar" style="margin-left:50%; padding: 1px 3px;"><i class="fa fa-search icon-white"></i></button> </form> <?php } if($this->permission->checkPermission($this->session->userdata('permissao'), 'ePedido')){ ?> <form action="<?= base_url() ?>compras/pedidos/editar" method="POST" > <input type="hidden" name="idPedido" value="<?php echo $r->idPedidos; ?>"> <input type="hidden" name="nrPedido" value="<?php echo $r->pd_numero; ?>"> <button class="btn btn-primary" title="Editar" style="margin-left:50%; padding: 1px 3px;"><i class="fa fa-edit icon-white"></i></button> </form> <?php } ?> </div> <?php echo '</td>'; echo '</tr>'; } ?> </tbody> </table> </div>
      Grato,

      Cesar.
    • Por belann
      Olá!
       
      Estou usando o editor quill em uma página html, sem fazer a instalação com npm, mas usando as api´s via internet com http, no entanto não consigo fazer a tecla enter funcionar para mudança de linha, tentei essa configuração abaixo, mas não funcionou.
       
      modules: {       syntax: true,       toolbar: '#toolbar-container',       keyboard: {         bindings: {           enter: {             key: 13,             handler: function(range, context) {                       quill.formatLine(range.index, range.length, { 'align': '' });             }           }  
       
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de poder tirar uma dúvida com os amigos.
       
      Como faço uma função para Comparar a Data Digitada pelo o Usuário com a Data Atual ?

      Data Digitada:  01/09/2024
       
      Exemplo:
      25/09/2024 é menor que DATA Atual  ====> mensagem: informe uma data válida.
      25/09/2024 é igual DATA Atual ===> o sistema libera os INPUT's.
       
      Como faço uma comparação com a Data Atual, para não Deixar Gravar Data retroativa a data Atual.
       
      Grato,
       
      Cesar
    • Por Rafael Castelhano
      Olá, quero preencher um dict dinamicamente onde a chave é uma string multidimencional no dict, ex:
      var dict = {} var path = 'a.b.c' dict[path] = 55 // isso faz dict ficar desta forma {'a.b.c': 55} // mais quero que fique assim {a: {b: {c: 55}}} Como consigo alterar desta forma? 
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.