Ir para conteúdo
  • Cadastre-se

Adilson Donizete Ferreira

Membros Pro
  • Total de ítens

    4
  • Registro em

  • Última visita

Sobre Adilson Donizete Ferreira

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Adilson Donizete Ferreira's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. Duduccosta, tbm estou desenvolvendo em C#. Vc usou vc esta usando a versão 1 ou 2 da API? Estou consumindo desse endPoint: https://api.sisbr.com.br/auth/token A parte do token já consegui resolver, da uma olhada nesses métodos. Não repare que tá meio bagunçado, rsrs OauthAuthorization.cs
  2. Bom, eu usei uma dinâmica e está funcionando, basicamente são dois métodos, um pega o "Code" e o outro o "Token". Está em C# mas dá pra entender: getCode(string code = "") { if (code =="") { Redirect($"https://api.sisbr.com.br/auth/oauth2/authorize?response_type=code&redirect_uri=https://www.seusite/sistema.com.br/api/&client_id=seuClientID&versaoHash=3&scope=cobranca_boletos_consultar+cobranca_boletos_incluir"); } else { Token token = getToken(code); } return Redirect($"https://www.seusite/sistema.com.br"); } getToken(string code) { Token token = new Token(); var client = new RestClient("https://apis.sisbr.com.br/cooperado/cobranca-bancaria/mtls/oauth2/token"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/x-www-form-urlencoded"); request.AddHeader("Authorization", oauthConfig.Token_Basic); request.AddParameter("grant_type", "authorization_code"); request.AddParameter("code", code); request.AddParameter("redirect_uri", oauthConfig.Redirect_uri); IRestResponse response = client.Execute(request); if (response.StatusCode == System.Net.HttpStatusCode.OK) { token = Newtonsoft.Json.JsonConvert.DeserializeObject<OauthToken>(response.Content); }else{ token.Error = Newtonsoft.Json.JsonConvert.DeserializeObject<Error>(response.Content); } token; }
  3. Dudu, tbm estou desenvolvendo em C# e passei pelo problema do payload. Vc resolve criando um objeto root que engloba todos os outros. Instancia ele quando for pegar o response da requisição: public SicoobBoleto ReadResponseAsync(IRestResponse response) { SicoobRoot root = null; switch (response.StatusCode) { case HttpStatusCode.MultiStatus: var resultOK = response.Content; try { root = JsonConvert.DeserializeObject<SicoobRoot>(resultOK); } catch (Exception ex) { root = JsonConvert.DeserializeObject<SicoobRoot>(resultOK); } break; case HttpStatusCode.Created: var resultCreated = response.Content; root = JsonConvert.DeserializeObject<SicoobRoot>(resultCreated); break; case HttpStatusCode.BadRequest: SicoobRequestException exception = null; var result = response.Content; SicoobError[] errors = JsonConvert.DeserializeObject<SicoobError[]>(result); //todo testar aqui foreach (var error in errors) { Debug.WriteLine("erro da cielo = " + $"Cielo Error[{error.Code}] : {error.Message}"); exception = new SicoobRequestException(error.Message, error, exception); } throw exception; case HttpStatusCode.NotFound: throw new SicoobRequestException("Not found", new SicoobError((int)response.StatusCode, "Not found")); default: //verificaStatus(response); Debug.WriteLine("erro da cielo => " + $"Sicoob - Unknown status [{(int)response.StatusCode}] : {response.Content}"); break; } //pedir um boleto por vez return root.resultado[0].boleto;
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.