Как вы выполняете проверку адреса?



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

1043   20  

20 ответов:

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

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

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

(веб-сервис геокодирования Yahoo, С другой стороны, возвращает координаты центра города, если город существует, но остальная часть адреса является фальшивкой. Потенциально полезно до тех пор, пока вы уделяете пристальное внимание полю "точность" в результате).

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

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

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

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

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

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

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

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

Бесплатное Программное Обеспечение С Открытым Исходным Кодом

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

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

Web-Сервисов / Интерфейсы

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

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

что я в конечном итоге интеграции: streetlayer API

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

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

надеюсь, что это помогает!

мы имели успех с Идеальный Адресу.

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

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

для американских адресных данных моя компания использовала АО "геостан". Он имеет привязки для C и Java (и мы создали привязку Perl). Обратите внимание, что это коммерческий продукт и не дешевый. Это довольно быстро, хотя (~300 адресов в секунду) и предлагает такие функции, как сертификация CASS (USPS bulk mail discount), DPV (проверка точки доставки) пометки и lon/LAT геокодирования.

есть модуль Perl Geo:: PostalAddress, но он использует эвристики и не имеет другие особенности, упомянутые для АО "геостан".

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

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

Как видно на reddit:

$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);

вы можете попробовать Pitney Bowes "IdentifyAddress" Api доступны в - 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

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

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

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

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

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

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

правительственные учреждения также ведут обширный список адресов, и они централизованно сопоставляются в NLPG (National Land and Property Gazetteer).

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

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

Yahoo также имеет Placemaker API. это хорошо только для мест, но он имеет универсальный идентификатор для всех мировых местах.

похоже, что нет стандарта в список 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/

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

Bandwidth.com 9-1-1 Access API MSAG Address Validation

MSAG = Master Street Address Guide

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

SmartyStreet адрес в США API

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

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

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

Comments

    Ничего не найдено.