Abrufen einer Liste von Kunden, die nach einem Suchfeld gefiltert wurden
Gilt für: Partner Center | Partner Center-Betrieb durch 21Vianet | Partner Center für Microsoft Cloud for US Government
Ruft eine Sammlung von Kundenressourcen ab, die einem Filter entsprechen. Sie können optional ein Seitenformat festlegen. Sie können nach Firmennamen filtern, do Standard, indirekten Wiederverkäufer oder indirekten Cloudlösungsanbieter (Cloud Solution Provider, CSP) filtern.
Voraussetzungen
Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.
Ein vom Benutzer konstruierter Filter.
C#
Um eine Sammlung von Kunden abzurufen, die einem Filter entsprechen, instanziieren Sie zunächst ein SimpleFieldFilter-Objekt , um den Filter zu erstellen. Sie müssen eine Zeichenfolge übergeben, die das CustomerSearchField enthält, und den Typ des Filtervorgangs als FieldFilterOperation.StartsWith angeben. Dies ist der einzige Feldfiltervorgang, der vom Endpunkt der Kunden unterstützt wird. Außerdem müssen Sie die zu filternde Zeichenfolge angeben.
Instanziieren Sie als Nächstes ein iQuery-Objekt, das an die Abfrage übergeben werden soll, indem Sie die BuildSimpleQuery-Methode aufrufen und den Filter übergeben. BuildSimplyQuery ist nur einer der Abfragetypen, die von der QueryFactory-Klasse unterstützt werden.
Verwenden Sie zum Ausführen des Filters und zum Abrufen des Ergebnisses zuerst IAggregatePartner.Customers , um eine Schnittstelle zu den Kundenvorgängen des Partners abzurufen. Rufen Sie dann die Query - oder QueryAsync-Methode auf.
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);
Beispiel: Konsolentest-App. Projekt: Partner Center SDK Samples Class: FilterCustomers.cs
REST-Anforderung
Anforderungssyntax
Methode | Anforderungs-URI |
---|---|
GET | {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1 |
URI-Parameter
Verwenden Sie die folgenden Abfrageparameter.
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
Größe | INT | Nein | Die Anzahl der jeweils angezeigten Ergebnisse. Dieser Parameter ist optional. |
filter | filter | Ja | Der auf Kunden anzuwendende Filter. Dies muss eine codierte Zeichenfolge sein. |
Filtersyntax
Sie müssen den Filterparameter als eine Reihe von durch Kommas getrennten Schlüsselwertpaaren verfassen. Jeder Schlüssel und Wert muss einzeln in Anführungszeichen eingeschlossen und durch einen Doppelpunkt getrennt sein. Der gesamte Filter muss codiert sein.
Ein nicht codiertes Beispiel sieht wie folgt aus:
?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}
In der folgenden Tabelle werden die erforderlichen Schlüsselwertpaare beschrieben:
Schlüssel | Wert |
---|---|
Feld | Das zu filternde Feld. Die gültigen Werte finden Sie in CustomerSearchField. |
Wert | Der Wert, nach dem gefiltert wird. Der Wert wird ignoriert. |
Operator | Der anzuwendende Operator. Der einzige unterstützte Wert für dieses Kundenszenario ist "starts_with". |
Anforderungsheader
Weitere Informationen finden Sie unter Partner Center-REST-Header.
Anforderungstext
Keine.
Beispiel für eine Anfrage
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-Antwort
Bei erfolgreicher Ausführung gibt die Methode eine Sammlung übereinstimmener Kundenressourcen im Antworttext zurück.
Erfolgs- und Fehlercodes der Antwort
Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.
Beispielantwort
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"
}
}