Udostępnij za pośrednictwem


Pobieranie listy klientów filtrowanych według pola wyszukiwania

Dotyczy: Centrum partnerskie | Centrum partnerskie obsługiwane przez firmę 21Vianet | Centrum partnerskie dla chmury firmy Microsoft dla instytucji rządowych USA

Pobiera kolekcję zasobów klienta pasujących do filtru. Opcjonalnie można ustawić rozmiar strony. Możesz filtrować według nazwy firmy, domeny, odsprzedawcy pośredniego lub pośredniego dostawcy rozwiązań w chmurze (CSP).

Wymagania wstępne

  • Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie zarówno przy użyciu autonomicznych poświadczeń aplikacji, jak i aplikacji i użytkownika.

  • Filtr skonstruowany przez użytkownika.

C#

Aby uzyskać kolekcję klientów pasujących do filtru, najpierw utwórz wystąpienie obiektu SimpleFieldFilter w celu utworzenia filtru. Należy przekazać ciąg zawierający pole CustomerSearchField i wskazać typ operacji filtrowania jako FieldFilterOperation.StartsWith. Jest to jedyna operacja filtrowania pól obsługiwana przez punkt końcowy klientów. Musisz również podać ciąg do filtrowania według.

Następnie utwórz wystąpienie obiektu iQuery w celu przekazania do zapytania, wywołując metodę BuildSimpleQuery i przekazując ją do filtru. BuildSimplyQuery to tylko jeden z typów zapytań obsługiwanych przez klasę QueryFactory .

Na koniec, aby wykonać filtr i uzyskać wynik, najpierw użyj interfejsu IAggregatePartner.Customers , aby uzyskać interfejs do operacji klienta partnera. Następnie wywołaj metodę Query lub 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);

Przykład: aplikacja testowa konsoli. Projekt: Partner Center SDK Samples Class: FilterCustomers.cs

Żądanie REST

Składnia żądania

Metoda Identyfikator URI żądania
GET {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1

Parametry identyfikatora URI

Użyj następujących parametrów zapytania.

Nazwisko Type Wymagania opis
size int Nie. Liczba wyników, które mają być wyświetlane jednocześnie. Ten parametr jest opcjonalny.
filtr filtr Tak Filtr do zastosowania dla klientów. Musi to być ciąg zakodowany.

Składnia filtru

Należy utworzyć parametr filtru jako serię par rozdzielonych przecinkami par klucz-wartość. Każdy klucz i wartość muszą być podane indywidualnie i oddzielone dwukropkiem. Cały filtr musi być zakodowany.

Przykład niekodowany wygląda następująco:

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

W poniższej tabeli opisano wymagane pary klucz-wartość:

Key Wartość
Pole Pole do filtrowania. Prawidłowe wartości można znaleźć w polu CustomerSearchField.
Wartość Wartość do filtrowania według. Wielkość liter wartości jest ignorowana.
Operator Operator do zastosowania. Jedyną obsługiwaną wartością dla tego scenariusza klienta jest "starts_with".

Nagłówki żądań

Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.

Treść żądania

Brak.

Przykład żądania

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

Odpowiedź REST

Jeśli ta metoda powiedzie się, zwraca kolekcję pasujących zasobów klienta w treści odpowiedzi.

Kody powodzenia i błędów odpowiedzi

Każda odpowiedź zawiera kod stanu HTTP, który wskazuje powodzenie lub niepowodzenie i dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów REST Centrum partnerskiego.

Przykład odpowiedzi

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"
    }
}