Можно ли вообще выполнить проверку адреса (физического, а не электронного)? Кажется, что огромное количество форматов адресов даже в одних только США сделало бы эту задачу довольно сложной. С другой стороны, это похоже на задачу, которая необходима для нескольких бизнес-требований.
validation
street-address
Кевин Панг
источник
источник
Ответы:
Вот бесплатный и своего рода "нестандартный" способ сделать это. Не на 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 проверки адресов.
В итоге я интегрировал: streetlayer API.
Поскольку я не хотел использовать программный подход к проверке адресных данных вручную, я, наконец, пришел к выводу, что мне нужен API с такой ценой, которая не заставила бы моего начальника уволить меня и при этом обеспечить надежную и надежную работу. результаты международной проверки.
Короче говоря, я закончил интеграцию API, созданного apilayer, под названием «streetlayer API». Меня легко убедили простая интеграция JSON, удивительно точные результаты проверки и удобная для разработчиков цена. Кроме того, 100 запросов в месяц полностью бесплатны.
Надеюсь это поможет!
источник
Я пользовался услугами http://www.melissadata.com Их «адресный объект» работает очень хорошо. Да, дорого. Но если учесть затраты на написание собственных решений, стоимость «грязных» данных в вашем приложении, возвращенные почтовые программы, потерю продаж и т. Д. - затраты могут быть оправданы.
источник
Вы также можете попробовать решения SAP Data Quality, которые доступны как на серверной платформе, обрабатывающей большое количество запросов, так и в виде встраиваемого SDK, если вы хотите запускать его в процессе с вашим приложением. Мы используем его в нашем приложении, и он очень надежный и масштабируемый.
источник
Как видно на Reddit :
источник
Вы можете попробовать Pitney Bowes «IdentifyAddress» Api, доступный по адресу - https://identify.pitneybowes.com/
Служба анализирует и сравнивает входные адреса с известными адресными базами по всему миру, чтобы вывести стандартизированные детали. Он исправляет адреса, добавляет недостающую почтовую информацию и форматирует ее, используя формат, предпочитаемый соответствующим почтовым органом. Я также использую дополнительные базы данных адресов, чтобы они могли предоставить расширенные сведения, включая качество адреса, тип адреса, транслитерацию (например, от китайских иероглифов к латинским символам), а также подтверждение адреса на уровне помещения / дома, улицы или города справочной информации.
Вы найдете множество примеров и SDK, доступных на сайте, и мне показалось, что их очень легко интегрировать.
источник
Одна из областей, где поиск адресов должен выполняться надежно, - это услуги VOIP E911. Я знаю компании, которые надежно используют для этого следующие услуги:
Bandwidth.com 9-1-1 Доступ к API MSAG Проверка адреса
MSAG = Руководство по основным уличным адресам
https://www.bandwidth.com/9-1-1/
SmartyStreet US Street Address API
https://smartystreets.com/docs/cloud/us-street-api
источник
Есть компании, которые предоставляют эту услугу. Сервисные бюро, которые занимаются массовой рассылкой, будут очищать весь список рассылки до нужного формата, что приводит к скидке на почтовые расходы. USPS продает базы данных адресной информации, которые можно использовать для разработки индивидуальных решений. У них также есть списки утвержденных поставщиков, которые предоставляют такое программное обеспечение и услуги.
Есть некоторые (но не многие) пакеты, в которых есть API для подключения проверки адреса к вашему программному обеспечению.
Однако вы правы, что это довольно неприятная проблема.
http://www.usps.com/ncsc/ziplookup/vendorslicensees.htm
источник
Как уже упоминалось, существует множество сервисов, и если вы хотите по-настоящему проверить весь адрес, я настоятельно рекомендую использовать сервис типа Web Service, чтобы ваше приложение могло быстро распознать изменения.
В дополнение к перечисленным выше услугам на webservice.net есть служба проверки адресов в США. http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24
источник
Мы добились успеха с Perfect Address .
В их базе данных есть все названия улиц и диапазоны номеров улиц США. Также действует как довольно приличный парсер для полей адресов произвольной формы, если вам посчастливилось иметь такие данные.
источник
Подтвердить, что это действительный адрес, - это одно.
Но если вы пытаетесь подтвердить, что данный человек живет по заданному адресу, вашей единственной почти гарантией будет тестовое письмо на этот адрес, и даже в этом случае неясно, организован ли этот человек или знает кого-то по этому адресу.
В противном случае люди могли бы просто указать произвольный случайный адрес, который, как им известно, существует, и это ничего не значило бы для вас.
Лучшее, что вы можете сделать для немедленных результатов, - это попросить пользователя прислать сфотографированную / отсканированную копию выписки из банковского счета или другое подтверждение недавнего проживания, потому что, по крайней мере, тогда им придется приложить больше усилий, чтобы это забыть, и Подделка сказанного легко обнаруживается на базовом уровне судебно-медицинской экспертизы.
источник
Глобального решения нет. Для любой страны это в лучшем случае довольно сложно.
В Великобритании PostOffice контролирует почтовые адреса и может предоставить (за плату) адресную информацию для целей проверки.
Государственные учреждения также ведут обширный список адресов, которые централизованно собираются в NLPG (Национальном справочнике земель и собственности).
На самом деле проверка по этим спискам очень сложна. Большинство людей даже не знают точно, какой у них адрес, поскольку он хранится в PostOffice. Некоторые компании даже не знают, какой у них номер на той или иной улице.
Лучше всего обратиться в компанию, которая специализируется на подобных вещах.
источник
Для получения адресных данных в США моя компания использовала GeoStan . У него есть привязки для C и Java (и мы создали привязку Perl). Обратите внимание, что это коммерческий продукт и не дешевый. Тем не менее, это довольно быстро (~ 300 адресов в секунду) и предлагает такие функции, как сертификация CASS (скидка на массовую рассылку USPS), отметку DPV (проверка точки доставки) и геокодирование LON / LAT.
Существует модуль Perl Geo :: PostalAddress , но он использует эвристику и не имеет других функций, упомянутых для GeoStan.
Изменить: некоторые упомянули «делать это самостоятельно», если вы все же решите сделать это, хорошим источником информации для начала является набор данных переписи тигра в США , который содержит много информации о США, включая адресную информацию.
источник
Yahoo также имеет API Placemaker. Он хорош только для локаций, но имеет универсальный идентификатор для всех локаций мира.
Похоже, что в списке ISO нет стандарта .
источник
NAICS.com выпускает API, который будет добавлять все виды ключевых бизнес-данных, включая почтовый адрес. Это будет происходить на лету по мере обработки форм вашего сайта. https://www.naics.com/business-intelligence-api/
источник
Доступен сервис Fixaddress.com, который предоставляет следующие услуги:
1) Проверка адреса.
2) Коррекция адреса.
3) Исправление адресной орфографии.
4) Исправьте фонетические ошибки.
Fixaddress.com использует данные USPS и Tiger в качестве справочных.
Для получения более подробной информации перейдите по ссылке ниже,
http://www.fixaddress.com/
источник
Для адресов в США вы можете потребовать действительный штат и убедиться, что почтовый индекс действителен. Вы даже можете проверить, находится ли почтовый индекс в правильном состоянии, но помимо этого, я не думаю, что есть много тестов, которые вы могли бы запустить, которые не дали бы много ложных отрицательных результатов.
Что вы пытаетесь сделать - предотвратить простые ошибки или провести проверку личности?
источник