Hämta en lista över kunder filtrerade efter ett sökfält
Gäller för: Partnercenter | Partnercenter som drivs av 21Vianet | Partnercenter för Microsoft Cloud for US Government
Hämtar en samling kundresurser som matchar ett filter. Du kan också ange en sidstorlek. Du kan filtrera efter företagsnamn, domän, indirekt återförsäljare eller leverantör av indirekta molnlösningar (CSP).
Förutsättningar
Autentiseringsuppgifter enligt beskrivningen i Partnercenter-autentisering. Det här scenariot stöder autentisering med både fristående app- och App+User-autentiseringsuppgifter.
Ett användarkonstruerat filter.
C#
Om du vill hämta en samling kunder som matchar ett filter instansierar du först ett SimpleFieldFilter-objekt för att skapa filtret. Du måste skicka en sträng som innehåller CustomerSearchField och ange typen av filteråtgärd som FieldFilterOperation.StartsWith. Det är den enda fältfilteråtgärden som stöds av kundernas slutpunkt. Du måste också ange strängen som ska filtreras efter.
Sedan instansierar du ett iQuery-objekt för att skicka till frågan genom att anropa metoden BuildSimpleQuery och skicka det till filtret. BuildSimplyQuery är bara en av de frågetyper som stöds av klassen QueryFactory.
För att köra filtret och få resultatet använder du först IAggregatePartner.Customers för att få ett gränssnitt till partnerns kundåtgärder. Anropa sedan metoden Query eller 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);
Exempel: Konsoltestapp. Projekt: SDK-exempelklass för Partnercenter: FilterCustomers.cs
REST-begäran
Syntax för begäran
Metod | URI för förfrågan |
---|---|
GET | {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1 |
URI-parametrar
Använd följande frågeparametrar.
Namn | Typ | Obligatoriskt | Beskrivning |
---|---|---|---|
storlek | heltal | Nej | Antalet resultat som ska visas samtidigt. Den här parametern är valfri. |
filter | filter | Ja | Filtret som ska tillämpas på kunder. Detta måste vara en kodad sträng. |
Filtersyntax
Du måste skapa filterparametern som en serie kommaavgränsade nyckel/värde-par. Varje nyckel och värde måste anges individuellt och avgränsas med ett kolon. Hela filtret måste vara kodat.
Ett okodat exempel ser ut så här:
?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}
I följande tabell beskrivs de nyckel/värde-par som krävs:
Tangent | Värde |
---|---|
Fält | Fältet som ska filtreras. Giltiga värden finns i CustomerSearchField. |
Värde | Värdet som ska filtreras efter. Fallet med värdet ignoreras. |
Operatör | Operatorn som ska tillämpas. Det enda värde som stöds för det här kundscenariot är "starts_with". |
Begärandehuvuden
Mer information finns i REST-huvuden för Partnercenter.
Begärandetext
Inga.
Exempel på begäran
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-svar
Om det lyckas returnerar den här metoden en samling matchande kundresurser i svarstexten.
Svarsframgång och felkoder
Varje svar levereras med en HTTP-statuskod som anger lyckad eller misslyckad och ytterligare felsökningsinformation. Använd ett verktyg för nätverksspårning för att läsa den här koden, feltypen och ytterligare parametrar. Den fullständiga listan finns i Rest-felkoder för Partnercenter.
Svarsexempel
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"
}
}