Biblioteca .NET para integração com os serviços dos Correios. Serviços disponíveis até o momento.
- Consulta de CEPs
- Consulta de Encomendas
Para instalar o Correios .NET por linha de comando:
Usando Nuget no Package Manager Console
PM> Install-Package Correios.NET
Usando CLI do .NET Core
> dotnet add package Correios.NET
Exemplo utilizando Console App com método sync
class Program
{
static void Main(string[] args)
{
var result = new Correios.NET.Services().GetPackageTracking("SW000000000BR");
foreach (var track in result.TrackingHistory)
Console.WriteLine("{0:dd/MM/yyyy HH:mm} - {1} - {2} - {3}", track.Date, track.Location, track.Status, track.Details);
Console.ReadLine();
}
}
Exemplo utilizando ASP.NET MVC com método async
public class HomeController : AsyncController
{
public async Task<ActionResult> Index()
{
var package = new Correios.NET.Services().GetPackageTrackingAsync("SW000000000BR");
await Task.WhenAll(package);
ViewBag.TrackingCode = package.Result.Code;
return View();
}
}
A consulta é feita informando um CEP com 8 dígitos, e neste caso somente um endereço é retornado. Ao informar um CEP com menos de 8 dígitos a busca é feita retornando todos os CEPs de acordo com o intervalo informado.
Exemplo utilizando Console App com método sync
class Program
{
static void Main(string[] args)
{
var addresses = new Correios.NET.Services().GetAddresses("15000000");
foreach(var address in addresses)
Console.WriteLine("{0} - {1} - {2} - {3}/{4}", address.ZipCode, address.Street, address.District, address.City, address.State);
Console.ReadLine();
}
}
Exemplo utilizando ASP.NET MVC com método async
public class HomeController : AsyncController
{
public async Task<ActionResult> Index()
{
var addresses = await new Correios.NET.Services().GetAddressesAsync("15000000");
return View();
}
}
Próximas implementações
- Cálculo de Frete
- Busca CEP por Logradouro
- e outros...
Caso tenha alguma dúvida ou sugestão entre em contato: wrparra (em) gmail.com
Copyright © 2013-2020 Wellington R. Parra, released under the MIT license