Jump to content
Lenon John

Como utilizar uma API que usa o OAuth2? (API SICOOB)

Recommended Posts

Estou começando no PHP e preciso criar um simples sistema para emitir boletos na web com o SICOOB.
OBS: Que quero me conectar a API SICOOB e não sei por onde começar.
 

O SICOOB disponibiliza na página de developers.sicoob.com.br essas informações:

GET https://sandbox.sicoob.com.br/oauth2/authorize?response_type=code&redirect_uri=[[callback_url]]&client_id=[[client_id]]&cooperativa=[[cooperativa]]&contaCorrente=[[conta]]&versaoHash=3&scope=[[escopos]]


PARÂMETRO: response_type = Tipo de resposta gerada pelo fluxo authorize
PARÂMETRO :redirect_uri = Endereço que será redirecionado após a autorização
PARÂMETRO: client_id = Chave de acesso às APIs

 

RESPOSTA:
[[callback_url]/code=2eb7fd2c-aaf9-3655-bcf5-71972b50eb3d&state=0.3549351162541514


 

Obtendo Access Token:


POST https://sandbox.sicoob.com.br/token 

Headers
Content-type: "www/form-url-encoded"
Authorization: Basic [[token_basic]]

Payload 
grant_type=authorization_code&code=2eb7fd2c-aaf9-3655-bcf5-71972b50eb3d&redirect_uri=[[callback_url]]

E mais umas informações complementares aqui. Se alguém puder me ajudar, passo mais informações.

 

 

Share this post


Link to post
Share on other sites

De uma olhada sobre cURL. Você pode usar cURL para enviar e receber as requisições. Mas você tem que desenvolver tudo.

 

ou

 

Da uma olhada nessa API quem sabe lhe ajude.

Share this post


Link to post
Share on other sites
52 minutos atrás, impera disse:

De uma olhada sobre cURL. Você pode usar cURL para enviar e receber as requisições. Mas você tem que desenvolver tudo.

 

ou

 

Da uma olhada nessa API quem sabe lhe ajude.

 

 

Amigo, sua dica me deu uma direção.

 

<?php
// Cria o cURL
$curl = curl_init();

 

// Seta algumas opções
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'URL DO BANCO COM OS MEUS PARÂMETROS DE ACESSO'
]);

 

// Envia a requisição e salva a resposta
$response = curl_exec($curl);
$err_status = curl_error($curl);

 

print_r($err_status);
print_r($response);

 

// Fecha a requisição e limpa a memória
curl_close($curl);

 

 

PROBLEMA: NÃO RETORNA NADA.

 

Obs: em CURLOPT_URL eu digitei a URL que a página de developer orientou.

Share this post


Link to post
Share on other sites

Acho que não estou sabendo retornar o resultado.

 

Deveria retornar algo assim:
[[callback_url]/code=2eb7fd2c-aaf9-3655-bcf5-71972b50eb3d&state=0.3549351162541514

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By asacap1000
      Salve Galera!!! estou com um projeto onde preciso disponibilizar na intranet documentos que estão em um servidor.
      Estes documentos estão salvos em diversas pastas dividido por dias meses e anos etc etc.
      Não quero que list todos os documentos porém ele seria pesquisado.
      Exemplo: NF 123456
      No arquivo salvaram assim "cliente NF 123456.pdf", tentei utilzar o glob porém ele não retorna nada nem deu erro.
      Por ser em outro servidor não seu se ele consegue ler já pesquisei mas não encontrei nada sobre isso.
       
      Saberiam me ajudar com este caso:
       
      Na intranet ele terá uma busca normal de relatórios ao listar essas informações ele diponibiliza um link com o numero da NF a qual eu chamaria essa página para realizar a busca no servidor e assim abrir o arquivo no navegador..
    • By k9studio
      Olá Pessoal,
       
      Tenho um campo em uma tabela que grava os dados neste formato a baixo:
      {""user_id":"1","user_token":"5181e24c8a7e60304156e08595f48ad6"}
       
      como faço para chamar esses dados no php separados...
       
      fico grato se alguém puder ajudar..
    • By adrianno
      Olá, estou com a seguinte dúvida com uso do JWT , trabalho com PHP a um tempo e estou migrando alguns projetos para formato API REST,  mas também começando a trabalhar com JS,REACT, NODE etc e a dúvida basicamente se aplica independente da linguagem uma vez  que o formato JWT é padrão.
      Vamos lá,   imagine que ao fazer um login bem sucedido o usário receba um token JWT  padrão, e no payload  coloquei o ID: "ff0eb2864feb22354747f8c85d42ccb5" e EMAIL :  "email@teste.com" do usuário junto com outras info padrão de um JWT,   mas qual pe a forma mais correta de validar este token?  usando métodos de verificar a assinatura, ok,   desmontando e montando novamente o token passado para comparar, OK  mas como eu verifico a integridade do usuário, imagine que eu de alguma forma um usuário malicioso obtenha o token de outro usuário, se ele enviar este token em uma requisição, ele seria aceito, mesmo sem ter que fazer o login de usuário, uma vez  que a rota em questão vai verificar o token e o mesmo teoricamente vai funcionar e este teria acesso a API em nome de outro usuário. Quais são as formas corretas de se trabalhar com JWT?
    • By leandro123456789
      <div id="direito">
             
             <?php 
                      
                 $link = filter_input(INPUT_GET, 'link');
                 
                 $pag[1] = "../admin/home.php";
                 $pag[2] = "../admin/classes/Lista.php";
                 
              
              
                 if(!empty($link)){
                     
                     if(file_exists($pag[$link]))
                        
                      {
                         include $pag[$link];
                      
                      }
                        
                      else
                      { 
                         
                          include "home.php";
                      
                      }
                     
                 }else{
                     include "home.php";
                 }
              
              ?>
             
          </div>
       
       
      Estou tentando colocar a paginação do meu banco em $ pag [2] na minha página: ../admin/classes/Lista.php tem o seguinte código de paginação:

      <? php
          
          include_once ("../ admin / classes / ClassConexao.php");
          
          
          // verifique a página atual se informado no URL, caso contrário, ela será atribuída como 1ª página
          $ pagina = (isset ($ _ GET ['link = 2']))? $ _GET ['link = 2']: 1;
       
          // seleciona todos os itens da tabela
          $ cmd = "selecione * da categoria";
          $ produtos = mysqli_query ($ conn, $ cmd);
          
          // conta o total de itens
          $ total = mysqli_num_rows ($ produtos);
       
          // seta o número de itens por página, neste caso, 2 itens
          $ registros = 2;
       
          // calcula o número de páginas arredondando o resultado
          $ numPaginas = teto ($ total / $ registros);
       
          // variável para calcular o início da visualização com base na página atual
          $ inicio = ($ registros * $ pagina) - $ registros;
       
          // seleciona itens por página
          $ cmd = "selecione * da categoria limite $ inicio, $ registros";
          $ produtos = mysqli_query ($ conn, $ cmd);
          $ total = mysqli_num_rows ($ produtos);
           
          // exibe produtos selecionados
          while ($ produto = mysqli_fetch_array ($ produtos)) {
              echo $ produto ['id_categoria']. "-";
              echo $ produto ['categoria']. "-";
              echo $ produto ['ativo_categoria']. "<br />";
          }

      // Não sei como consertar esta parte para mostrar a paginação nesse $ pag [2] = "../admin/classes/Lista.php";
           
          // exibe paginação
          para ($ i = 1; $ i <$ numPaginas + 1; $ i ++) {
              
             echo "<a href='?pagina=$i'>". $ i. "</a>";
          }
                  
      ?>
      Meu menu fica assim:

      <div id = "sessao"> Categoria </div>
         <ul>
             
            
             <li> <a href="index.php?link=3"> Cadastro </a> </li>
             <li> <a href="index.php?link=2"> Listar / Editar </a> </li>
         
        </ul>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.