Een lijst met klanten ophalen die zijn gefilterd op basis van een zoekveld
Van toepassing op: Partnercentrum | Partnercentrum beheerd door 21Vianet | Partnercentrum voor Microsoft Cloud voor de Amerikaanse overheid
Hiermee haalt u een verzameling klantbronnen op die overeenkomen met een filter. U kunt desgewenst een paginaformaat instellen. U kunt filteren op bedrijfsnaam, domein, indirecte reseller of indirecte cloudoplossingsprovider (CSP).
Vereisten
Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario ondersteunt verificatie met zowel zelfstandige app- als app+gebruikersreferenties.
Een door de gebruiker samengesteld filter.
C#
Als u een verzameling klanten wilt ophalen die overeenkomen met een filter, maakt u eerst een SimpleFieldFilter-object om het filter te maken. U moet een tekenreeks doorgeven die het CustomerSearchField bevat en het type filterbewerking aangeven als FieldFilterOperation.StartsWith. Dit is de enige veldfilterbewerking die wordt ondersteund door het eindpunt van klanten. U moet ook de tekenreeks opgeven waarop u wilt filteren.
Maak vervolgens een instantie van een iQuery-object om door te geven aan de query door de BuildSimpleQuery-methode aan te roepen en het filter door te geven. BuildSimplyQuery is slechts een van de querytypen die worden ondersteund door de klasse QueryFactory.
Als u ten slotte het filter wilt uitvoeren en het resultaat wilt ophalen, gebruikt u eerst IAggregatePartner.Customers om een interface te krijgen voor de klantbewerkingen van de partner. Roep vervolgens de methode Query of QueryAsync aan.
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);
Voorbeeld: consoletest-app. Project: Voorbeeldklasse Partner Center SDK: FilterCustomers.cs
REST-aanvraag
Aanvraagsyntaxis
Wijze | Aanvraag-URI |
---|---|
GET | {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1 |
URI-parameters
Gebruik de volgende queryparameters.
Name | Type | Vereist | Beschrijving |
---|---|---|---|
size | int | Nee | Het aantal resultaten dat tegelijk moet worden weergegeven. Deze parameter is optioneel. |
filter | filter | Ja | Het filter dat moet worden toegepast op klanten. Dit moet een gecodeerde tekenreeks zijn. |
Filtersyntaxis
U moet de filterparameter opstellen als een reeks door komma's gescheiden sleutel-waardeparen. Elke sleutel en waarde moeten afzonderlijk worden aanhalingeerd en gescheiden door een dubbele punt. Het hele filter moet worden gecodeerd.
Een niet-gecodeerd voorbeeld ziet er als volgt uit:
?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}
In de volgende tabel worden de vereiste sleutel-waardeparen beschreven:
Sleutel | Weergegeven als |
---|---|
Veld | Het veld dat moet worden gefilterd. De geldige waarden vindt u in CustomerSearchField. |
Weergegeven als | De waarde die moet worden gefilterd. Het geval van de waarde wordt genegeerd. |
Operator | De operator die moet worden toegepast. De enige ondersteunde waarde voor dit klantscenario is 'starts_with'. |
Aanvraagheaders
Zie Rest-headers in Partnercentrum voor meer informatie.
Aanvraagtekst
Geen.
Aanvraagvoorbeeld
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-antwoord
Als dit lukt, retourneert deze methode een verzameling overeenkomende klantbronnen in de hoofdtekst van het antwoord.
Geslaagde antwoorden en foutcodes
Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie rest-foutcodes in Partnercentrum voor de volledige lijst.
Responsvoorbeeld
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"
}
}