Last active
March 6, 2017 21:43
-
-
Save johnnyasantoss/3a5e807cca3d5816a38868f2f978acbb to your computer and use it in GitHub Desktop.
Um exemplo de uma chamada na API do PagueVeloz
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using Newtonsoft.Json; | |
using System; | |
using System.Net.Http; | |
using System.Text; | |
namespace Teste.PV | |
{ | |
public class Teste | |
{ | |
public static void Main(string[] args) | |
{ | |
//informações de autenticacao | |
var meuEmail = "teste@teste.com.br"; | |
var meuToken = "0000-1234-4312-5678-9876"; | |
//gera as credenciais de acesso | |
var bytesAuth = Encoding.ASCII.GetBytes(meuEmail + ":" + meuToken); | |
var tokenAutenticacao = Convert.ToBase64String(bytesAuth); | |
//cria o objeto do boleto | |
var boleto = new BoletoDto | |
{ | |
Cedente = "Meu cedente", | |
CPFCNPJCedente = "000.000.000-00", | |
CPFCNPJSacado = "111.111.111-11", | |
Linha1 = "Linha 1", | |
Sacado = "Sacado", | |
Valor = 10.5M, | |
SeuNumero = "31", | |
Vencimento = DateTime.Today.AddDays(15), | |
}; | |
//cria a requisição | |
var requisicao = new HttpRequestMessage | |
{ | |
RequestUri = new Uri("https://sandbox.pagueveloz.com.br/api/v4/Boleto"), | |
Method = HttpMethod.Post | |
}; | |
//adiciona os headers padrões | |
requisicao.Headers.Add("Accept", "application/json"); | |
requisicao.Headers.Add("Content-Type", "application/json"); | |
requisicao.Headers.Add("Authorization", "Basic " + tokenAutenticacao); | |
//adiciona o json ao corpo da requisicao | |
requisicao.Content = new StringContent(ConverterEmJson(boleto), Encoding.UTF8); | |
using (var clienteHttp = new HttpClient()) | |
{ | |
var resposta = clienteHttp.SendAsync(requisicao).Result; | |
// 200: Se tudo der certo | |
// 400: Se alguma coisa na sua requisição não estiver certa | |
// 403: Se você não tiver autenticado | |
// 500: Se acontecer um erro interno :( | |
Console.WriteLine(resposta.StatusCode); | |
var conteudoResposta = resposta.Content.ReadAsStringAsync().Result; | |
// { Id: string, Url: string } | |
Console.WriteLine(conteudoResposta); | |
} | |
} | |
private static string ConverterEmJson(object @object) | |
{ | |
return JsonConvert.SerializeObject(@object, Formatting.None); | |
} | |
} | |
public class BoletoDto | |
{ | |
public string Cedente { get; set; } | |
public string CPFCNPJCedente { get; set; } | |
public string CPFCNPJSacado { get; set; } | |
public string Linha1 { get; set; } | |
public string Sacado { get; set; } | |
public string SeuNumero { get; set; } | |
public decimal Valor { get; set; } | |
public DateTime Vencimento { get; set; } | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment