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