Cliente em .NET para a API REST do Cobre Grátis
Baixe o código ou utilize o pacote nuget da seguinte forma:
PM> Install-Package CobreGratisDotNet
Simples assim:
using System;
using BielSystems;
using BielSystems.Log;
namespace ConsoleSandBox
{
class Program
{
static void Main(string[] args)
{
// Você pode passar um receptor de mensagens de log:
var myLogger = new MyConsoleLogger();
// Inicialização do cliente:
var appIdentification = "Client app name (e-mail)";
var token = "Enter your token here!";
var CobreGratis = new CobreGratis(appIdentification, token, myLogger);
// Você pode habilitar ou desabilitar o cache HTTP de requisições GET (habilitado por padrão):
CobreGratis.EnableCache = true;
// Você pode criar novos boletos com poucos ou muitos dados:
CobreGratis.CreateBankBillet(123.45M, DateTime.Now.AddDays(10), "Sacado da Silva");
CobreGratis.CreateBankBillet(123.45M, DateTime.Now.AddDays(10), "Sacado da Silva", "description", "instructions", "cnpjCpf", "address", "zipcode", "neighborhood", "city", "state", "docNumber", 10.0M, 10.0M, 10.0M, 10.0M, "comments");
// Você pode atualizar boletos *!* EM RESCUNHO *!*:
CobreGratis.UpdateBankBillet(1, name: "Nome do Sacado", instructions: "Boleto de testes");
// Você pode deletar boletos:
CobreGratis.DeleteBillet(2);
// Você pode buscar um boleto específico:
var billet = CobreGratis.GetBankBillet(3);
// Você pode buscar uma lista com todos os boletos:
var allBillets = CobreGratis.GetBankBillets();
// Você pode buscar uma lista paginada de boletos:
var pageBillets = CobreGratis.GetBankBillets(page: 1);
}
}
public class MyConsoleLogger : ILogger
{
public void Log(string message)
{
Console.WriteLine(message);
}
}
}
Se injetado via construtor da classe CobreGratis, o implementador da interface BielSystems.Log.ILogger receberá mensagens que poderão ajudar no debug das aplicações em runtime.
public interface ILogger
{
void Log(string message);
}
Quando o recurso de cache estiver habilitado (e estará, por padrão), a classe CobreGratis irá utilizar uma instância de BielSystems.Cache.StaticCache para persistir as informações de cache de forma estática.
Para habilitar ou desabilitar o cache, utilize a propriedade CobreGratis.EnableCache.
Caso deseje utilizar um sistema de persistência diferente do padrão ao utilizar a classe CobreGratis, basta injetar via contrutor a sua própria implementação da interface BielSystems.Cache.ICache:
public interface ICache
{
void StoreData(string key, object data);
object LoadData(string key);
void ClearAll();
void ClearKey(string key);
bool ContainsKey(string key);
}
Esse código é livre para ser usado dentro dos termos da licença MIT license.
Comentários são bem-vindos. Envie seu feedback através do issue tracker do GitHub
Frederico Zveiter
Blog: http://fredzvt.wordpress.com/
LinkedIn: http://www.linkedin.com/in/fredericozveiter