From a0b4086c517b2131fe3132d1ffcf31f4a57bf1b2 Mon Sep 17 00:00:00 2001 From: RafaelEstevamReis Date: Fri, 8 Dec 2023 14:30:07 -0300 Subject: [PATCH] Adiciona consulta Boletos --- Sicoob.Cobranca/SicoobCobranca.cs | 14 ++++++++++- Sicoob.Shared/Sicoob.cs | 3 --- Sicoob.Testes/TestesApiCobranca.cs | 39 ++++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 Sicoob.Testes/TestesApiCobranca.cs diff --git a/Sicoob.Cobranca/SicoobCobranca.cs b/Sicoob.Cobranca/SicoobCobranca.cs index 08ca0ce..ede7215 100644 --- a/Sicoob.Cobranca/SicoobCobranca.cs +++ b/Sicoob.Cobranca/SicoobCobranca.cs @@ -5,9 +5,12 @@ \**************************************/ namespace Sicoob.Cobranca; +using Sicoob.Cobranca.Models; using Sicoob.Shared.Models.Acesso; using Simple.API; +using System; using System.Net.Http; +using System.Threading.Tasks; public sealed class SicoobCobranca : Shared.Sicoob { @@ -29,10 +32,19 @@ protected override void setupClients(HttpClientHandler handler) clientApi = new ClientInfo(ConfigApi.UrlApi, handler); clientApi.SetHeader("x-sicoob-clientid", ConfigApi.ClientId); } - protected override void atualizaClients(TokenResponse token) { clientApi.SetAuthorizationBearer(token.access_token); } + public async Task ConsultarBoletos(ConsultaBoletoRequest consulta) + { + return await ExecutaChamadaAsync(() => clientApi.GetAsync("/cobranca-bancaria/v2/boletos", consulta)); + } + public async Task ConsultarBoletosPagador(ConsultaBoletosPagadorRequest consulta) + { + return await ExecutaChamadaAsync(() => clientApi.GetAsync("/cobranca-bancaria/v2/boletos", consulta)); + } + + } diff --git a/Sicoob.Shared/Sicoob.cs b/Sicoob.Shared/Sicoob.cs index 0072dde..d8637b9 100644 --- a/Sicoob.Shared/Sicoob.cs +++ b/Sicoob.Shared/Sicoob.cs @@ -126,9 +126,6 @@ protected async Task ExecutaChamadaAsync(Func> func) await VerificaAtualizaCredenciaisAsync(); Response response = await func(); - //response.EnsureSuccessStatusCode(); - //response.EnsureSuccessStatusCode(); - // Processa manualmente para não envelopar demais if (response.IsSuccessStatusCode) return; if (response.TryParseErrorResponseData(out CS.BCB.PIX.Models.ErroRequisicao err)) diff --git a/Sicoob.Testes/TestesApiCobranca.cs b/Sicoob.Testes/TestesApiCobranca.cs new file mode 100644 index 0000000..638940c --- /dev/null +++ b/Sicoob.Testes/TestesApiCobranca.cs @@ -0,0 +1,39 @@ +/**************************************\ + * Biblioteca C# para APIs do SICOOB * + * Autor: Rafael Estevam * + * gh/SharpSistemas/SicoobAPI * +\**************************************/ +namespace Sicoob.Testes; + +using Newtonsoft.Json; +using Sicoob.Cobranca; +using Sicoob.Shared.Models; +using System; +using System.IO; +using System.Threading.Tasks; + +public static class TestesApiCobranca +{ + internal static async Task Run_Cobranca() + { + // carrega do disco + var cfg = JsonConvert.DeserializeObject(File.ReadAllText("config_Cob.json")) ?? throw new Exception(); + cfg.Scope.RemoverTodos(); + cfg.Scope.Cobranca_Setar(true); + File.WriteAllText("config_Cob.json", JsonConvert.SerializeObject(cfg)); + + var cobranca = new SicoobCobranca(cfg); + await cobranca.SetupAsync(); + + //var consulta = await cobranca.ConsultarBoletos("531413"); + var consulta = await cobranca.ConsultarBoletosPagador(new Cobranca.Models.ConsultaBoletosPagadorRequest() + { + client_id = cfg.ClientId, + numeroContrato = "531413", + numeroCpfCnpj = "45769189000209", + }); + + + cfg = cfg; + } +} \ No newline at end of file