{"id":28996676,"url":"https://github.com/fulviocanducci/canducci.zipcode","last_synced_at":"2025-07-11T14:15:55.921Z","repository":{"id":116510666,"uuid":"126867345","full_name":"fulviocanducci/Canducci.ZipCode","owner":"fulviocanducci","description":"Canducci ZipCode From viacep.com.br","archived":false,"fork":false,"pushed_at":"2024-12-12T20:18:55.000Z","size":1399,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-14T10:18:13.691Z","etag":null,"topics":["canducci","cep","package","pacote","viacep","zip","zipcode"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/Canducci.Zip/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fulviocanducci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-26T17:49:26.000Z","updated_at":"2024-12-12T20:18:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd27d476-f697-41ff-ba6e-b34e034b270f","html_url":"https://github.com/fulviocanducci/Canducci.ZipCode","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/fulviocanducci/Canducci.ZipCode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulviocanducci%2FCanducci.ZipCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulviocanducci%2FCanducci.ZipCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulviocanducci%2FCanducci.ZipCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulviocanducci%2FCanducci.ZipCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fulviocanducci","download_url":"https://codeload.github.com/fulviocanducci/Canducci.ZipCode/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulviocanducci%2FCanducci.ZipCode/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261808072,"owners_count":23212694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canducci","cep","package","pacote","viacep","zip","zipcode"],"created_at":"2025-06-25T05:10:59.174Z","updated_at":"2025-06-25T05:10:59.892Z","avatar_url":"https://github.com/fulviocanducci.png","language":"C#","readme":"# Canducci ZipCode and AddressCode\n\n[![Canducci.Zip](https://raw.githubusercontent.com/fulviocanducci/Canducci.ZipCode/master/images/base.png)](https://www.nuget.org/packages/Canducci.Zip/)\n\n[![Version](https://img.shields.io/nuget/v/Canducci.Zip.svg?style=plastic\u0026label=version)](https://www.nuget.org/packages/Canducci.Zip/)\n[![NuGet](https://img.shields.io/nuget/dt/Canducci.Zip.svg)](https://www.nuget.org/packages/Canducci.Zip/)\n![Github Workflows](https://github.com/fulviocanducci/Canducci.ZipCode/workflows/.NET%20Core/badge.svg)\n## Instalação do Pacote\n\n\n```\nPM\u003e Install-Package Canducci.Zip\n```\n\n## Utilização\n\n### Busca de CEP\n\nPara a busca de dados de um determinado número de **CEP** instancie a classe `ZipCodeLoad` e no seu método `Find` ou `FindAsync` passe o número e se a resposta estiver satisfatória os dados estão na classe de resultado `ZipCodeResult`, ***exemplo***:\n\n```csharp\nIZipCodeLoad zipCodeLoad = new ZipCodeLoad();\nZipCodeResult result0 = zipCodeLoad.Find(\"01001000\");\nif (result0) // ou result0.IsValid\n{\n    ZipCodeItem zipCodeItem = result0; //ou zipCodeItem zipCodeItem = result0.Value;\n}\n```\n\nA saída da classe `ZipCodeItem` é a seguir:\n\n```\nZipCodeItem.Zip        // cep\nZipCodeItem.Address    // logradouro\nZipCodeItem.District   // bairro\nZipCodeItem.City       // localidade\nZipCodeItem.Uf         // uf\nZipCodeItem.Ibge       // Ibge\nZipCodeItem.Complement // complemento\nZipCodeItem.Gia        // gia\nZipCodeItem.Siafi      // siafi\nZipCodeItem.Ddd        // ddd\nZipCodeItem.Unity      // unidade\nZipCodeItem.State      // estado\nZipCodeItem.Region     // região\n```\n\n### Busca de uma lista de CEP\n\n```csharp\nIAddressCodeLoad addressCodeLoad = new AddressCodeLoad();\nAddressCode addressCode = AddressCode.Parse(ZipCodeUf.SP, \"SÃO PAULO\", \"AVE\");\nAddressCodeResult result1 = addressCodeLoad.Find(addressCode);\nif (result1) // ou result1.IsValid\n{\n    AddressCodeItem items = result1; // ou  AddressCodeItem items = result1.Value;\n}\n```\nNote que a saída da classe `AddressCodeItem` é uma enumeração (`List\u003c\u003e`) de `ZipCodeItem`, ou seja, `List\u003cZipCodeItem\u003e`.\n\n### Lista de Unidade Federativa\n\nTanto no objeto de instancia das classes `AddressCodeLoad` e `ZipCodeLoad` existe um método de extensão que retorna um `IDictionary\u003cstring, string\u003e` que pode ser utilizado em suas telas para padronização da informação, ***exemplo***: \n\n```\nIZipCodeLoad zipCodeLoad = new ZipCodeLoad();\nIAddressCodeLoad addressCodeLoad = new AddressCodeLoad();\n\nSystem.Collections.Generic.IDictionary\u003cstring, string\u003e items0_List = zipCodeLoad.UFToList(); \nSystem.Collections.Generic.IDictionary\u003cstring, string\u003e items1_List = addressCodeLoad.UFToList();\n```\nEssas duas variaveis (`items0_List` e `items1_List`) são da mesma instância e são geradas a partir do `Enum` `ZipCodeUf` o mesmo para facilitar na criação de suas `interfaces` de programação.\n\n### Aplicação MVC Core\n\nNo exemplo do `controller` `TestController` tem dois métodos:\n\n```c#\n[HttpPost]\npublic async Task\u003cIActionResult\u003e Index([FromBody] ZipCodeData data)\n{\n if (ModelState.IsValid)\n {\n\tif (ZipCode.TryParse(data.Value, out ZipCode zipCode))\n\t{\n\t   ZipCodeResult zipCodeResult = await ZipCodeLoad.FindAsync(zipCode);\n\t   return Json(zipCodeResult);\n\t}\n }\n return Json(new { IsValid = false });\n}\n\n[HttpPost]\npublic async Task\u003cIActionResult\u003e Address([FromBody] AddressCodeData data)\n{\n if (AddressCode.TryParse(ParseZipCodeUf(data.Uf), data.City, data.Address, out AddressCode addressCode))\n {\n\tAddressCodeResult addressCodeResult = await AddressCodeLoad.FindAsync(addressCode);\n\treturn Json(addressCodeResult);\n }\n return Json(new { IsValid = false });\n}\n\nprivate ZipCodeUf ParseZipCodeUf(string uf) =\u003e Enum.Parse\u003cZipCodeUf\u003e(uf);\n```\n\ncom o código que retornar um `json` para `Front-End` de como utilizar o pacote [Canducci.Zip](https://www.nuget.org/packages/Canducci.Zip/) e [nesse link todo o projeto exemplo](https://github.com/fulviocanducci/Canducci.ZipCode/tree/master/WebAppTest).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulviocanducci%2Fcanducci.zipcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffulviocanducci%2Fcanducci.zipcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulviocanducci%2Fcanducci.zipcode/lists"}