アドレス(電子メールではなく物理)検証を実行することさえ可能ですか?米国だけでも、膨大な数のアドレス形式がこれをかなり難しい作業にしているようです。一方、いくつかのビジネス要件に必要なタスクのように思えます。
以下に、それを実行するための無料で一種の「ボックス外」の方法を示します。 100%完全ではありませんが、あからさまに存在しないアドレスを拒否する必要があります。
アドレス全体を Googleのジオコーディングウェブサービス に送信します。このサービスは、フィードした場所の正確な座標、つまり緯度と経度を返そうとします。
私の経験では、アドレスが無効な場合、サービスから602の結果が返されます。間違いの可能性は間違いなくありますが、他の一貫性チェックと組み合わせて使用すると便利です。
( YahooのジオコーディングWebサービス は、町は存在するが住所の残りの部分が偽物である場合、町の中心の座標を返します。細心の注意を払っている限り、潜在的に有用です結果の「精度」フィールドに)。
ここには多くの良い答えがありますが、それらのほとんどは、ユーザーがサードパーティのサービスに接続するコードやUSPSをスクレイプする「API」ソリューションを望んでいると仮定しています。これはすべてうまくいきますが、実装に関連するビジネス要件とコストを考慮し、目的のメリットと比較検討する必要があります。
ビジネス要件とデータをシステムに受信する方法によっては、リアルタイムのアドレス処理ソリューションが最善の策かもしれません。リアルタイムソリューションが必要な場合は、Google Maps/Bing/Yahoo APIのライセンス契約と技術的制限を検討する必要があります。通常、毎日発信できる通話の数は制限されています。 USPS WebツールAPIは、システムを使用する方法と理由、およびその後データを使用する方法を制限するという点で、同じです。
同時に、静的なアドレスのリストを簡単に処理できる優れたサービスプロバイダーがいくつかあります。基本的には、サービスプロバイダーにCSVファイルまたはExcelファイルを提供し、それらをクリーンアップして返送します。これは、通常、長期的なコミットメントや義務のない1回限りの取引です。
完全な開示:私はSmartyStreetsの創設者です。米国内の住所の住所確認を行います。 CASSによるリストの認証 を簡単に実行できます。また、 アドレス検証WebサービスAPI も提供しています。隠れた料金、契約などはありません。不要になるまで当社のサービスを使用し、立ち去ることができます。 (契約を必要とする携帯電話会社とは異なります。)
USPSには、アドレスクリーナー オンライン があります。これは、誰かが 画面を削った 貧しい人のWebサービスに持っています。ただし、これを十分に頻繁に行う場合は、 SPSアカウント を申請し、独自の webservice を呼び出すことをお勧めします。
私のブログ投稿を参照します- アドレスストレージのレッスン 、アドレス検証のプロセスで使用されるテクニックとアルゴリズムのいくつかを紹介します。私の鍵となる考えは、「アドレスストレージを怠らないでください。将来的に頭痛の種になるだけです!」
また、この質問をする別のStackOverflow質問があります。資格 国際的な地理的住所をリレーショナルデータベースに保存する方法 。
私が働いていたドイツの会社で社内住所確認サービスを開発する過程で、この問題に取り組むためのいくつかの方法に出会いました。私の発見を以下に要約するために最善を尽くします。
無料のオープンソースソフトウェア
明らかに、誰もが取る最初のアプローチはオープンソースのアプローチ( openstreetmap.org など)であり、決して悪い考えではありません。しかし、これを本当に信頼性の高い使用に実際に使用できるかどうかは、結果にどれだけ依存する必要があるかに大きく依存します。
アドレスは信じられないほど可変的なものです。米国の住所の確認は簡単な作業ではありませんが、我慢できますが、ヨーロッパ、特に英国に大規模な郵便番号システムがある場合、オープンソースのアプローチではデータが不足します。
Webサービス/ API
エンタープライズクラスのソフトウェア
お金はそれを成し遂げます、明らかに。ただし、すべてのビジネスまたは開発者がアドレス検索ごとに約0.15ドル(1,000 APIリクエストに対して150ドル)を費やすことができるわけではありません。これは、アドレス検証APIの大部分が実装している非常に高価なビジネスモデルです。
最終的に統合したもの: streetlayer API (
住所データを手動で検証するプログラム的なアプローチを採用するつもりはなかったため、最終的には、上司が私を解雇し、それでも堅実で信頼性の高い配信を望んでいない価格タグ付きのAPIが必要であるという結論に達しました国際検証結果。
要するに、私はapilayerによって構築された「streetlayer API」と呼ばれるAPIを統合することになりました。私は簡単なJSON統合、驚くほど正確な検証結果、およびそれらの開発者に優しい価格設定に簡単に納得しました。また、100リクエスト/月は完全に無料です。
お役に立てれば!
Pitney Bowes「IdentifyAddress」APIを試すことができます-- https://identify.pitneybowes.com/
このサービスは、入力された住所を分析し、世界中の既知の住所データベースと比較して、標準化された詳細を出力します。住所を修正し、不足している郵便情報を追加し、該当する郵便局が優先する形式を使用して書式設定します。また、追加の住所データベースを使用して、住所の質、住所の種類、音訳(中国語の漢字からラテン文字など)、住所が施設/家番号、通り、または都市レベルで検証されるかどうかなど、詳細を提供できるようにします参照情報の。
多くのサンプルとSDKがサイトで入手でき、統合が非常に簡単であることがわかりました。
Perfect Address で成功しました。
彼らのデータベースには、すべての米国のストリート名とストリート番号の範囲があります。幸運にもその種のデータを持っている場合は、自由形式の住所フィールドのかなりまともなパーサーとしても機能します。
http://www.melissadata.com のサービスを使用しましたが、「アドレスオブジェクト」は非常にうまく機能します。その高価です、はい。ただし、独自のソリューションの作成コスト、アプリケーション内のダーティデータのコスト、返品メーラー(売上の損失など)を考慮すると、コストを正当化できます。
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);
米国ベースの住所データの場合、私の会社は GeoStan を使用しています。 CとJava(およびPerlバインディングを作成しました)のバインディングがあります。これは商用製品であり、安価ではないことに注意してください。 CASS認定(USPS一括メール割引)、DPV(配信ポイント検証)フラグ、LON/LATジオコーディングなどの機能を提供します。
Perlモジュール Geo :: PostalAddress がありますが、ヒューリスティックを使用しており、GeoStanに言及されている他の機能はありません。
編集:「自分でやる」と言っている人もいますが、これを行うことに決めた場合、最初の良い情報源は S Census Tiger Data Set で、これには多くの情報が含まれています住所情報を含む米国。
また、サーバープラットフォームが多数のリクエストを処理している場合、またはアプリケーションで処理中に実行したい場合は埋め込みSDKとして利用可能なSAPのData Qualityソリューションを試すこともできます。アプリケーションで使用し、非常に堅牢でスケーラブルです。
有効なアドレスであることを検証することは1つのことです。
しかし、特定の人が特定の住所に住んでいることを検証しようとしている場合、あなたのほとんどの保証はその住所へのテストメールだけです。
そうしないと、人々は自分が存在することがわかっている任意のランダムなアドレスを指定することができ、それはあなたにとって何の意味もありません。
すぐに結果を得るためにできる最善の方法は、ユーザーが銀行の明細書の頭の写真/スキャンされたコピーまたはその他の在留資格の証明を送信することです。偽造は、画像フォレンジック分析の基本レベルで簡単に現れます。
NAICS.comは、番地を含むあらゆる種類の主要なビジネスデータを追加するAPIを発表しています。これは、サイトのフォームが処理されるときにオンザフライで発生します。 https://www.naics.com/business-intelligence-api/
Yahooには Placemaker APIもあります。 これは場所に対してのみ有効ですが、すべての世界の場所に対してユニバーサルIDを持っています。
ISOリスト には標準がないようです。
グローバルなソリューションはありません。どの国でも、せいぜいややこしいです。
英国では、PostOfficeが住所を管理し、検証のために住所情報を(有料で)提供できます。
政府機関も広範な住所のリストを保持しており、これらはNLPG(National Land and Property Gazetteer)で集中的に照合されます。
これらのリストに対して実際に検証することは非常に困難です。ほとんどの人は、郵便局が住所を保持しているため、住所が正確にわからないことさえあります。一部の企業は、特定の道路に何の番号があるのかさえ知りません。
あなたの最善の策は、この種のことを専門とする会社にアプローチすることです。
このサービスを提供する会社があります。マスメーリングを扱うサービスビューローは、メーリングリスト全体を適切な形式にスクラブします。これにより、送料が割引になります。 USPSは、カスタムソリューションの開発に使用できる住所情報のデータベースを販売しています。また、この種のソフトウェアとサービスを提供する承認済みベンダーのリストもあります。
ソフトウェアにアドレス検証をフックするためのAPIを備えたパッケージがいくつかあります(ただし、多くはありません)。
ただし、それはかなり厄介な問題です。
アドレスルックアップを確実に実行する必要がある領域の1つは、VOIP E911サービスです。このために、以下のサービスを確実に使用している企業を知っています。
Bandwidth.com9-1-1 Access API MSAGアドレス検証
MSAG =マスターストリートアドレスガイド
https://www.bandwidth.com/9-1-1/
SmartyStreetUS Street Address API
前述のように多くのサービスがありますが、アドレス全体を真に検証したい場合は、Webサービスタイプのサービスを使用して、アプリケーションが変更をすばやく認識できるようにすることを強くお勧めします。
上記のサービスに加えて、webservice.netにはこの米国住所検証サービスがあります。 http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=24
Fixaddress.comサービスは、次のサービスを提供しています。
1)アドレス検証。
2)アドレス修正。
3)スペル修正に対処する。
4)住所の音声上の間違いを修正します。
Fixaddress.comは、USPSおよびTigerデータを参照データとして使用します。
詳細については、以下のリンクをご覧ください。