Ir para conteúdo
  • Cadastre-se

Adilson Donizete Ferreira

Membros Pro
  • Total de ítens

    6
  • 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)

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

Recent Badges

0

Reputação

  1. Valeu Daniel, achei. Vou abrir a solução pra estudar.
  2. Olá pessoal! Poderiam me enviar. por gentileza, onde posso fazer o download do projeto demo de PDV que o Rafael Teno detalhou nesse video. Não encontrei o link para download.
  3. 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
  4. 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; }
  5. 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...