この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

住所複合項目

標準住所 (Salesforce の標準オブジェクトに組み込まれている住所) には、構造化された複合データ型である Address としてだけでなく、個別の住所要素として、SOAP と REST API でアクセスできます。
Address 型は、複合地理位置情報項目に使用されるデータ型である Location 型を拡張します。API 30.0 以降の SOAP と REST API では、標準住所を、次の項目を組み合わせる構造化されたデータ型である Address 型の複合項目として使用できます。
項目 説明
Accuracy picklist 住所の地理コードの精度レベル。たとえば、この項目は Contact では MailingGeocodeAccuracy と呼ばれます。
City string 住所の市区郡の詳細。たとえば、この項目は Contact では MailingCity と呼ばれます。
Country string 住所の国の詳細。たとえば、この項目は Contact では MailingCountry と呼ばれます。
CountryCode picklist 住所の ISO 国コード。たとえば、この項目は Contact では MailingCountryCode と呼ばれます。CountryCode は、組織で州/国/テリトリー選択リストが有効であるかどうかに関係なく、複合住所項目で常に使用できます。
Latitude double Longitude と一緒に使用して、住所の正確な地理位置情報を指定します。たとえば、この項目は Contact では MailingLatitude と呼ばれます。
Longitude double Latitude と一緒に使用して、住所の正確な地理位置情報を指定します。たとえば、この項目は Contact では MailingLongitude と呼ばれます。
PostalCode string 住所の郵便番号。たとえば、この項目は Contact では MailingPostalCode と呼ばれます。
State string 住所の都道府県の詳細。たとえば、この項目は Contact では MailingState と呼ばれます。
StateCode picklist 住所の ISO 都道府県コード。たとえば、この項目は Contact では MailingStateCode と呼ばれます。StateCode は、組織で州/国/テリトリー選択リストが有効であるかどうかに関係なく、複合住所項目で常に使用できます。
Street textarea 住所の町���・番地の詳細。たとえば、この項目は Contact では MailingStreet と呼ばれます。

住所項目は、取引先、取引先責任者、見積、ユーザなどの多くの標準オブジェクトで提供されています。一部のオブジェクトには、複数の住所のための項目があります。たとえば、取引先に 4 つの異なる住所があるとします。この場合、BillingAddressShippingAddress のように、住所項目名の前に住所の種別が付けられます。

標準住所の複合項目は参照のみであり、SOAP および REST API を使用してのみアクセスできます。これによる制約の詳細は、「複合項目の考慮事項と制限」を参照してください。

メモ

住所が地理コード化されると、緯度項目と経度項目に座標が入力されます。関連する地理位置情報項目も入力されます。通常、地理コードサービスプロバイダによって住所が地理コード化され、地理コードの精度が評価されます。

精度サブ項目 GeocodeAccuracy には、地理コード化された位置の精度データが保存されます。外部地理位置情報アプリケーションは、API を介して地理コード化された住所の精度レベルを取得できます。API を介して住所を取得するときに、精度データが含まれます。必要に応じて、単独で精度情報を取得することもできます。

その親と同様に、複合 [住所] 項目、GeocodeAccuracy 項目は標準オブジェクトの標準住所項目でのみ使用できます。

複合住所項目の取得

複合項目を使用すると、特に SOQL クエリで住所を処理するコードを簡略化できます。SOQL SELECT 句では、個別のすべてのコンポーネント項目を参照するのではなく、住所を直接参照できます。
1SELECT Name, BillingAddress
2FROM Account
API 30.0 以前および API 30.0 以降と互換性があるコードを作成するには、個別の項目を使用します。
1SELECT Name, BillingStreet, BillingCity, BillingState, BillingPostalCode,
2       BillingCountry, BillingLatitude, BillingLongitude
3FROM Account

複合住所項目の値は、構造化されたデータ型 Address として���されます。複合住所項目を処理するコードでは、返される値の個別のコンポーネントを参照する必要があります。次のサンプルコードを参照してください。

SOAP API を使用した標準住所の複合項目の取得

次の Java メソッドでは、Salesforce SOAP API を使用して、取引先責任者リストの [住所(郵送先)] を取得および表示します。

1// Modified version of code in the SOAP API QuickStart
2private void querySample() {
3    String soqlQuery = "SELECT FirstName, LastName, MailingAddress FROM Contact";
4    try {
5        QueryResult qr = connection.query(soqlQuery);
6        boolean done = false;
7
8        if (qr.getSize() > 0) {
9            System.out.println("\nLogged-in user can see "
10              + qr.getRecords().length + " contact records.");
11
12            while (!done) {
13                System.out.println("");
14                SObject[] records = qr.getRecords();
15                for (int i = 0; i < records.length; ++i) {
16                    Contact con = (Contact) records[i];
17                    String fName = con.getFirstName();
18                    String lName = con.getLastName();
19
20                    // Access the compound address field MailingAddress
21                    Address addr = (Address) con.getMailingAddress();
22                    String streetAddr = "";
23                    if (null != addr) streetAddr = addr.getStreet();
24
25                    if (fName == null) {
26                        System.out.println("Contact " + (i + 1) + ": " + lName +
27                            " -- " + streetAddr);
28                    } else {
29                        System.out.println("Contact " + (i + 1) + ": " + fName +
30                            " " + lName +
31                            " -- " + streetAddr);
32                    }
33                }
34
35                if (qr.isDone()) {
36                    done = true;
37                } else {
38                    qr = connection.queryMore(qr.getQueryLocator());
39                }
40            }
41        } else {
42            System.out.println("No records found.");
43        }
44    } catch (ConnectionException ce) {
45        ce.printStackTrace();
46    }
47}

場所としての複合住所項目の使用

複合住所項目には、緯度項目と経度項目があります。住所項目は、SOQL の WHERE 句と ORDER BY 句で場所として使用できます。たとえば、サンフランシスコに最も近い 10 件の取引先を取得する GEOLOCATION 関数を使用する SOQL クエリは次のようになります。
1SELECT Id, Name, BillingAddress
2FROM Account
3WHERE DISTANCE(BillingAddress, GEOLOCATION(37.775,-122.418), 'mi') < 20 
4ORDER BY DISTANCE(BillingAddress, GEOLOCATION(37.775,-122.418), 'mi')
5LIMIT 10

Developer Edition、Professional Edition、Enterprise Edition、Unlimited Edition、および Performance Edition では、Salesforce によって Account、Contact、Lead、WorkOrder レコードに自動的に地理位置情報項目が追加または更新されます。この機能を使用するには、システム管理者が各オブジェクトの地理データインテグレーションルールを有効にする必要があります。その他すべてのオブジェクトおよびエディションについては、SOQL、ワークベンチ、SOAP、REST API、または地理コードサービスを使用して緯度と経度の値を設定します。これにより、住所項目を場所の値として使用できます。地理コードサービスを見つけるには、AppExchange を検索します。

メモ