次の方法で共有


検索フィールドによってフィルター処理された顧客の一覧を取得する

適用対象: パートナー センター | 21Vianet が運営するパートナー センター | Microsoft Cloud for US Government のパートナー センター

フィルターに一致する Customer リソースのコレクションを取得します。 必要に応じて、ページ サイズを設定できます。 会社名、doメイン、間接リセラー、または間接クラウド ソリューション プロバイダー (CSP) でフィルター処理できます。

前提条件

  • パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、スタンドアロンの App と App+User の両方の資格情報を使用した認証がサポートされています。

  • ユーザーが作成したフィルター。

C#

フィルターに一致する顧客のコレクションを取得するには、まず SimpleFieldFilter オブジェクトをインスタンス化してフィルターを作成します。 CustomerSearchField を含む文字列を渡し、フィルター操作の種類を FieldFilterOperation.StartsWith として指定する必要があります。 これは、顧客のエンドポイントでサポートされている唯一のフィールド フィルター操作です。 また、フィルター処理する文字列も指定する必要があります。

次に、BuildSimpleQuery メソッドを呼び出してフィルターを渡すことによって、クエリに渡す iQuery オブジェクトをインスタンス化します。 BuildSimplyQuery は、QueryFactory クラスでサポートされているクエリの種類の 1 つにすぎません。

最後に、フィルターを実行して結果を取得するには、まず IAggregatePartner.Customers を使用して、パートナーの顧客操作へのインターフェイスを取得します。 次に、 Query メソッドまたは QueryAsync メソッドを呼び出します。

IAggregatePartner partnerOperations;

// Specify the partial string to filter by (to match Contoso).
string searchPrefix = "cont"

// Create a simple field filter.
var fieldFilter = new SimpleFieldFilter(
    CustomerSearchField.CompanyName.ToString(),
    FieldFilterOperation.StartsWith,
    searchPrefix);

// Create an iQuery object to pass to the Query method.
var myQuery = QueryFactory.Instance.BuildSimpleQuery(fieldFilter);

// Get the collection of matching customers.
var customers = partnerOperations.Customers.Query(myQuery);

サンプル: コンソール テスト アプリプロジェクト: パートナー センター SDK サンプル クラス: FilterCustomers.cs

REST 要求

要求の構文

認証方法 要求 URI
GET {baseURL}/v1/customers?size={size}>filter={filter} HTTP/1.1

URI パラメーター

次のクエリ パラメーターを使用します。

名前 タイプ Required 説明
size int いいえ 一度に表示される結果の数。 このパラメーターは省略可能です。
フィルター フィルター はい 顧客に適用するフィルター。 これはエンコードされた文字列である必要があります。

フィルター構文

フィルター パラメーターは、一連のコンマ区切りのキーと値のペアとして構成する必要があります。 各キーと値は、個別に引用符で囲まれ、コロンで区切られている必要があります。 フィルター全体はエンコードされている必要があります。

エンコードされていない例は次のようになります。

?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}

次の表では、必要なキーと値のペアについて説明します。

Key Value
フィールド フィルター処理するフィールド。 有効な値は CustomerSearchField にあります
Value フィルター処理される値。 値の大文字と小文字は無視されます。
演算子 適用する演算子。 この顧客シナリオでサポートされる唯一の値は、"starts_with" です。

要求ヘッダー

詳細については、「パートナー センター REST ヘッダー」を参照してください。

要求本文

なし。

要求の例

GET https://api.partnercenter.microsoft.com/v1/customers?size=0&filter=%7B%22Field%22%3A%22CompanyName%22%2C%22Value%22%3A%22Cont%22%2C%22Operator%22%3A%22starts_with%22%7D HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 5ce66de5-eea9-486f-a11c-c852aa3d1502
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
Host: api.partnercenter.microsoft.com
Connection: Keep-Alive

REST 応答

成功した場合、このメソッドは応答本文で一致する Customer リソースのコレクションを返します。

応答の成功とエラーのコード

各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。 このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。 完全な一覧については、パートナー センターの REST エラーコードに関する記事を参照してください。

応答の例

HTTP/1.1 200 OK
Content-Length: 1839
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: dfeda56c-1af5-43fc-a9c0-346b9e85dc96
MS-CV: n0lMNyJtaUC802pO.0
MS-ServerId: 202010223
Date: Fri, 24 Feb 2017 22:08:20 GMT

{
    "totalCount": 3,
    "items": [{
            "id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
            "companyProfile": {
                "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
                "domain": "contoso190.onmicrosoft.com",
                "companyName": "Contoso190",
                "links": {
                    "self": {
                        "uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee",
                    "method": "GET",
                    "headers": []
                }
            },
            "attributes": {
                "objectType": "Customer"
            }
        }, {
            "id": "bbbbcccc-1111-dddd-2222-eeee3333ffff",
            "companyProfile": {
                "tenantId": "bbbbcccc-1111-dddd-2222-eeee3333ffff",
                "domain": "ContosoCorpCo.onmicrosoft.com",
                "companyName": "Contoso",
                "links": {
                    "self": {
                        "uri": "/customers/bbbbcccc-1111-dddd-2222-eeee3333ffff/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/bbbbcccc-1111-dddd-2222-eeee3333ffff",
                    "method": "GET",
                    "headers": []
                }
            },
            "attributes": {
                "objectType": "Customer"
            }
        }, {
            "id": "ccccdddd-2222-eeee-3333-ffff4444aaaa",
            "companyProfile": {
                "tenantId": "ccccdddd-2222-eeee-3333-ffff4444aaaa",
                "domain": "contosocorpdemo.onmicrosoft.com",
                "companyName": "Contoso",
                "links": {
                    "self": {
                        "uri": "/customers/ccccdddd-2222-eeee-3333-ffff4444aaaa/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/ccccdddd-2222-eeee-3333-ffff4444aaaa",
                    "method": "GET",
                    "headers": []
                }
            },
            "attributes": {
                "objectType": "Customer"
            }
        }
    ],
    "links": {
        "self": {
            "uri": "/customers?size=0&filter=%7B%22Field%22%3A%22Domain%22%2C%22Value%22%3A%22cont%22%2C%22Operator%22%3A%22starts_with%22%7D",
            "method": "GET",
            "headers": []
        }
    },
    "attributes": {
        "objectType": "Collection"
    }
}