Вопрос

Возможно ли вообще выполнить проверку адреса (физического, а не электронной почты)?Похоже, что огромное количество форматов адресов, даже в одних только США, сделает эту задачу довольно сложной.С другой стороны, это похоже на задачу, которая необходима для удовлетворения нескольких бизнес-требований.

Это было полезно?

Решение

Вот бесплатный и своего рода «нестандартный» способ сделать это.Не на 100% идеально, но он должен отклонять явно несуществующие адреса.

Отправьте полный адрес Веб-сервис геокодирования Google.Этот сервис пытается вернуть точные координаты местоположения, которое вы ему передаете, т.е.широта и долгота.

По моему опыту, если адрес недействителен, вы получите от службы результат 602.Определенно существует вероятность ложноположительных или ложноотрицательных результатов, но использование в сочетании с другими проверками согласованности может быть полезно.

(Веб-сервис геокодирования Yahoo, с другой стороны, вернет координаты центра города, если город существует, но остальная часть адреса является поддельной.Потенциально полезно, если вы обратите пристальное внимание на поле «точность» в результате).

Другие советы

Здесь есть несколько хороших ответов, но большинство из них предполагают, что пользователю нужно решение «API», в котором он должен написать код для подключения к сторонней службе и/или очистки экрана USPS.Это все хорошо, но следует учитывать бизнес-требования и затраты, связанные с внедрением, а затем сопоставлять их с желаемыми преимуществами.

В зависимости от бизнес-требований и способа поступления данных в систему лучшим выбором может быть решение для обработки адресов в реальном времени.Если требуется решение в режиме реального времени, вам следует принять во внимание лицензионное соглашение и технические ограничения API Google Maps/Bing/Yahoo.Обычно они ограничивают количество звонков, которые вы можете совершать каждый день.API веб-инструментов USPS такой же, кроме того, они ограничивают то, как и почему вы можете использовать их систему, а также то, как вам разрешено использовать данные в дальнейшем.

В то же время есть несколько отличных поставщиков услуг, которые могут легко обрабатывать статический список адресов.По сути, вы предоставляете поставщику услуг файл CSV или файл Excel, он очищает его и возвращает вам.Обычно это разовая сделка без каких-либо долгосрочных обязательств или обязательств.

Полное раскрытие:Я основатель SmartyStreets.Мы проводим проверку адресов для адресов в Соединенных Штатах.Мы легко можем CASS удостоверяет список а также мы предлагаем API веб-службы проверки адреса.У нас нет скрытых комиссий, договоров и прочего.Вы пользуетесь нашим сервисом до тех пор, пока он вам больше не понадобится и вы не сможете уйти.(В отличие от компаний сотовой связи, которым требуется контракт.)

У USPS есть очиститель адресов В сети, который у кого-то есть экран поцарапан в веб-сервис для бедняков.Однако, если вы делаете это достаточно часто, было бы лучше подать заявку на счет USPS и позвонить своим веб-сервис.

Я отсылаю вас к моему сообщению в блоге - Урок хранения адресов, Я расскажу о некоторых методах и алгоритмах, используемых в процессе проверки адреса.Моя ключевая мысль «Не ленитесь с хранением адресов, в будущем это не доставит вам ничего, кроме головной боли!»

Кроме того, есть еще один вопрос StackOverflow, в котором задается этот вопрос.Уполномоченный Как следует хранить международные географические адреса в реляционной базе данных.

В ходе разработки собственной службы проверки адресов в немецкой компании, в которой я раньше работал, я столкнулся с несколькими способами решения этой проблемы.Я постараюсь подвести итоги своих выводов ниже:

Бесплатное программное обеспечение с открытым исходным кодом

Очевидно, что первый подход, который кто-либо выберет, — это подход с открытым исходным кодом (например, openstreetmap.org), что никогда не бывает плохой идеей.Но сможете ли вы действительно использовать это правильно и надежно, во многом зависит от того, насколько вам нужно полагаться на результаты.

Адреса — невероятно изменчивая вещь.Проверка СШАадреса — задача непростая, но терпимая, но если вы собираетесь в Европу, особенно в Великобританию,с их обширной системой почтовых индексов подходу с открытым исходным кодом просто не хватает данных.

Веб-сервисы/API

Программное обеспечение корпоративного класса

Деньги делают свое дело, очевидно.Но не каждый бизнес или разработчик может потратить ~ 0,15 доллара за поиск адреса (это 150 долларов за 1000 запросов API) — очень дорогая бизнес-модель, реализованная в подавляющем большинстве API проверки адресов.

Что я в итоге интегрировал: API уличного слоя

Поскольку я не хотел использовать программный подход к проверке адресных данных вручную, я, наконец, пришел к выводу, что мне нужен API с ценой, которая не заставила бы моего начальника хотеть меня уволить и при этом обеспечивала бы надежность и надежность. результаты международной проверки.

Короче говоря, в итоге я интегрировал API, созданный apilayer, под названием «streetlayer API».Меня легко убедила простая интеграция JSON, удивительно точные результаты проверки и выгодная для разработчиков цена.Кроме того, 100 запросов в месяц совершенно бесплатны.

Надеюсь это поможет!

Мы добились успеха с Идеальный адрес.

В их базе данных есть все названия улиц и диапазоны номеров улиц США.Также действует как довольно приличный анализатор адресных полей произвольной формы, если вам посчастливилось иметь такие данные.

Я воспользовался услугами http://www.melissadata.com Их «адресный объект» работает очень хорошо.Это дорого, да.Но если учесть затраты на написание собственных решений, стоимость грязных данных в вашем приложении, возвращенные почтовики — потерянные продажи и тому подобное — затраты могут быть оправданы.

Для адресных данных в США моя компания использовала ГеоСтан.У него есть привязки для C и Java (и мы создали привязку к Perl).Обратите внимание, что это коммерческий продукт и он стоит недешево.Однако он довольно быстрый (~ 300 адресов в секунду) и предлагает такие функции, как сертификация CASS (скидка на массовую рассылку USPS), маркировка DPV (проверка точки доставки) и геокодирование LON/LAT.

Есть модуль Perl Гео::Почтовыйадрес, но он использует эвристику и не имеет других функций, упомянутых для GeoStan.

Редактировать:некоторые упомянули «сделать это самостоятельно». Если вы все же решите это сделать, хорошим источником информации для начала является Набор данных переписи населения США по тиграм, который содержит много информации о США, включая адресную информацию.

Вы также можете попробовать решения SAP для обеспечения качества данных, которые доступны как в виде серверной платформы, обрабатывающей большое количество запросов, так и в виде встраиваемого SDK, если вы хотите запустить его в процессе своего приложения.Мы используем его в нашем приложении, и он очень надежный и масштабируемый.

Как видно на Реддит:

$address = urlencode('1600 Pennsylvania Avenue, Washington, DC');
$json = json_decode(file_get_contents("http://where.yahooapis.com/geocode?q=$address&flags=J"));
print_r($json);

Вы можете попробовать API Pitney Bowes «IdentifyAddress», доступный по адресу — https://identify.pitneybowes.com/

Служба анализирует и сравнивает входные адреса с базами данных известных адресов по всему миру, чтобы выдать стандартизированную информацию.Он исправляет адреса, добавляет недостающую почтовую информацию и форматирует ее в формате, предпочитаемом соответствующим почтовым органом.Я также использую дополнительные базы данных адресов, чтобы они могли предоставлять более подробную информацию, включая качество адреса, тип адреса, транслитерацию (например, с китайского кандзи на латинские символы) и соответствие адреса на уровне помещения/дома, улицы или города. справочной информации.

На сайте вы найдете множество образцов и SDK, и я обнаружил, что его чрезвычайно легко интегрировать.

Есть компании, которые предоставляют такую ​​услугу.Сервисные бюро, занимающиеся массовой рассылкой, очищают весь список рассылки до правильного формата, что приводит к скидкам на почтовые расходы.USPS продает базы данных адресной информации, которые можно использовать для разработки индивидуальных решений.У них также есть списки одобренных поставщиков, предоставляющих такого рода программное обеспечение и услуги.

Есть некоторые (но не многие) пакеты, которые имеют API для подключения проверки адреса к вашему программному обеспечению.

Однако вы правы, это довольно неприятная проблема.

http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm

Как уже упоминалось, существует множество сервисов. Если вы хотите по-настоящему проверить весь адрес, я настоятельно рекомендую использовать сервис типа веб-сервиса, чтобы гарантировать, что изменения могут быть быстро распознаны вашим приложением.

В дополнение к перечисленным выше услугам, webservice.net предлагает услугу проверки адреса в США. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24

Проверка правильности адреса — это одно.

Но если вы пытаетесь подтвердить, что данный человек живет по данному адресу, вашей единственной почти гарантией будет тестовое письмо на этот адрес, и даже это не дает уверенности в том, что этот человек организован или знает кого-то по этому адресу.

В противном случае люди могли бы просто указать произвольный случайный адрес, о существовании которого они знают, и это ничего бы для вас не значило.

Лучшее, что вы можете сделать для немедленных результатов, — это попросить пользователя прислать сфотографированную/сканированную копию главы его банковской выписки или какое-либо другое подтверждение недавнего проживания, потому что, по крайней мере, тогда ему придется приложить больше усилий, чтобы забыть это, и подделка указанных вещей легко обнаруживается при базовом уровне судебно-медицинской экспертизы изображений.

Глобального решения не существует.Для любой конкретной страны это в лучшем случае довольно сложно.

В Великобритании почтовое отделение контролирует почтовые адреса и может предоставить (за дополнительную плату) информацию об адресе для целей проверки.

Правительственные учреждения также ведут обширный список адресов, который централизованно хранится в NLPG (Национальном справочнике земель и собственности).

На самом деле свериться с этими списками очень сложно.Большинство людей даже не знают точно, какой у них адрес, поскольку он хранится в почтовом отделении.Некоторые предприятия даже не знают, по какому номеру они находятся на той или иной улице.

Лучше всего обратиться в компанию, которая специализируется на подобных вещах.

У Yahoo также есть API-интерфейс плейсмейкера. Он хорош только для локаций, но имеет универсальный идентификатор для всех локаций мира.

Похоже, что нет никакого стандарта в список ИСО.

NAICS.com выпускает API, который будет добавлять все виды ключевых бизнес-данных, включая почтовые адреса.Это может произойти «на лету» по мере обработки форм вашего сайта. https://www.naics.com/business-intelligence-api/

Доступен сервис Fixaddress.com, который предоставляет следующие услуги:

1) Проверка адреса.

2) Коррекция адреса.

3) Исправление написания адреса.

4) Исправьте фонетические ошибки в адресе.

Fixaddress.com использует данные USPS и Tiger в качестве справочных данных.

Для более подробной информации посетите ссылку ниже,

http://www.fixaddress.com/

Одной из областей, где поиск адресов должен выполняться надежно, являются услуги VOIP E911.Я знаю компании, которые надежно используют для этого следующие сервисы:

Пропускная способность.com 9-1-1 Проверка адреса MSAG API доступа

MSAG = Основной справочник по уличным адресам

https://www.bandwidth.com/9-1-1/

Смартистрит API уличных адресов США

https://smartystreets.com/docs/cloud/us-street-api

Для адресов в США вы можете запросить действительный штат и убедиться, что почтовый индекс действителен.Вы могли бы даже проверить, что почтовый индекс находится в правильном состоянии, но помимо этого я не думаю, что есть много тестов, которые вы могли бы провести, которые не дали бы много ложноотрицательных результатов.

Что вы пытаетесь сделать — предотвратить простые ошибки или провести какую-то проверку личности?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top