BuscaCEP — это библиотека для просмотра онлайн-адресов, позволяющая осуществлять поиск по CEP (почтовый адрес) или по улице (UF, населенный пункт и улица).
Реализованный на языке Delphi
, он использует концепцию гибкого интерфейса для управления использованием библиотеки, разработанной для обеспечения практичности и эффективности. BuscaCEP объединяет основных игроков на рынке: Correios, ViaCEP, BrasilAPI и других.
Эта библиотека идеально подходит для разработчиков Delphi, которые ищут надежное, гибкое и эффективное решение для интеграции запросов онлайн-адресов в свои приложения.
Используя Boss (менеджер зависимостей для Delphi), можно установить библиотеку автоматически.
boss install https://github.com/antoniojmsjr/BuscaCEP
Если вы решили установить вручную, просто добавьте в свой проект следующие папки в разделе «Проект» > «Параметры» > «Компилятор Delphi» > «Цель» > «Все конфигурации» > «Путь поиска».
.. BuscaCEP Source
Поставщик | Используете ли вы APIKey? | Искать по почтовому индексу? | * Искать общественное место? |
---|---|---|---|
Почта | НЕТ | ДА | ДА |
Через КЭП | НЕТ | ДА | ДА |
Бразилия API | НЕТ | ДА | НЕТ |
Открыть КЭП | ДА | ДА | ДА |
Виртуальная Республика | НЕТ | ДА | НЕТ |
Правильный почтовый индекс | НЕТ | ДА | ДА |
КингХост | ДА | ДА | НЕТ |
Постмон | НЕТ | ДА | НЕТ |
Бесплатное КЭП | ДА | ДА | ДА |
Открыть КЭП | ДА | ДА | ДА |
API КЭП | ДА | ДА | ДА |
Открытый чемпионат Бразилии | ДА | ДА | ДА |
ПотрясающийAPI | НЕТ | ДА | НЕТ |
* Для запроса с использованием почтового адреса требуются три обязательных параметра: Штат, Город и Улица .
Чтобы предоставить код IBGE и код DDD для местоположения при возврате запроса, был создан файл BuscaCEP .dat на основе API местоположения IBGE и данных, предоставленных Anatel.
Примеры доступны в папке проекта:
.. BuscaCEP Samples
Запрос по почтовому индексу
uses
BuscaCEP , BuscaCEP .Types, BuscaCEP .Interfaces, System.SysUtils;
var
l BuscaCEP Response: I BuscaCEP Response;
lMsgError: string;
begin
try
l BuscaCEP Response := T BuscaCEP .New
// .SetArquivoCache() [OPCIONAL]
.Providers[T BuscaCEP ProvidersKind.Correios]
// .SetAPIKey() [CONFORME O PROVEDOR]
.Filtro
.SetCEP( ' 90520-003 ' )
.Request
// .SetTimeout() [OPCIONAL]
.Execute;
except
on E: E BuscaCEP Request do
begin
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
end ;
end ;
Консультация по улице
uses
BuscaCEP , BuscaCEP .Types, BuscaCEP .Interfaces, System.SysUtils;
var
l BuscaCEP Response: I BuscaCEP Response;
lMsgError: string;
begin
try
l BuscaCEP Response := T BuscaCEP .New
// .SetArquivoCache() [OPCIONAL]
.Providers[T BuscaCEP ProvidersKind.Correios]
// .SetAPIKey() [CONFORME O PROVEDOR]
.Filtro
.SetLogradouro( ' Avenida Plínio Brasil Milano ' )
.SetLocalidade( ' Porto Alegre ' )
.SetUF( ' RS ' )
.& End
.Request
// .SetTimeout() [OPCIONAL]
.Execute;
except
on E: E BuscaCEP Request do
begin
lMsgError := Concat(lMsgError, Format( ' Provider: %s ' , [E.Provider]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' DateTime: %s ' , [DateTimeTostr(E.DateTime)]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Kind: %s ' , [E.Kind.AsString]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' URL: %s ' , [E.URL]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Method: %s ' , [E.Method]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Code: %d ' , [E.StatusCode]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Status Text: %s ' , [E.StatusText]), sLineBreak);
lMsgError := Concat(lMsgError, Format( ' Message: %s ' , [E.Message]));
Application.MessageBox(PWideChar(lMsgError), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
on E: Exception do
begin
Application.MessageBox(PWideChar(E.Message), ' A T E N Ç Ã O ' , MB_OK + MB_ICONERROR);
Exit;
end ;
end ;
end ;
Результат запроса [Ответ BuscaCEP ]
uses
BuscaCEP .Types, BuscaCEP .Interfaces;
var
l BuscaCEP Response: I BuscaCEP Response;
l BuscaCEP Logradouro: T BuscaCEP Logradouro;
begin
for l BuscaCEP Logradouro in l BuscaCEP Response.Logradouros do
begin
l BuscaCEP Logradouro.Logradouro;
l BuscaCEP Logradouro.Complemento;
l BuscaCEP Logradouro.Unidade;
l BuscaCEP Logradouro.Bairro;
l BuscaCEP Logradouro.Localidade.Nome;
l BuscaCEP Logradouro.Localidade.IBGE;
l BuscaCEP Logradouro.Localidade.DDD;
l BuscaCEP Logradouro.Localidade.Estado.Nome;
l BuscaCEP Logradouro.Localidade.Estado.IBGE;
l BuscaCEP Logradouro.Localidade.Estado.Sigla;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.Nome;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.IBGE;
l BuscaCEP Logradouro.Localidade.Estado.Regiao.Sigla;
l BuscaCEP Logradouro.CEP;
end ;
Результат запроса [JSON]
{
"provider" : " #CORREIOS " ,
"date_time" : " 2024-05-01T02:35:14.772-03:00 " ,
"request_time" : " 75ms " ,
"total" : 1 ,
"logradouros" : [
{
"logradouro" : " Avenida Plínio Brasil Milano " ,
"complemento" : " de 1947 ao fim - lado ímpar " ,
"unidade" : " " ,
"bairro" : " Passo da Areia " ,
"cep" : " 90520003 " ,
"localidade" : {
"ibge" : 4314902 ,
"ddd" : 51 ,
"nome" : " Porto Alegre " ,
"estado" : {
"ibge" : 43 ,
"nome" : " Rio Grande do Sul " ,
"sigla" : " RS " ,
"regiao" : {
"ibge" : 4 ,
"nome" : " Sul " ,
"sigla" : " S "
}
}
}
}
]
}
Скачать: Demos.zip
BuscaCEP
— бесплатное программное обеспечение с открытым исходным кодом, лицензированное под лицензией