Delen via


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: a2a912ee-d595-47e2-97ae-1b0ae1efa13d
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: a2a912ee-d595-47e2-97ae-1b0ae1efa13d
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": "c5757d70-06f3-4f23-8367-5a9e55019f94",
            "companyProfile": {
                "tenantId": "c5757d70-06f3-4f23-8367-5a9e55019f94",
                "domain": "contoso190.onmicrosoft.com",
                "companyName": "Contoso190",
                "links": {
                    "self": {
                        "uri": "/customers/c5757d70-06f3-4f23-8367-5a9e55019f94/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/c5757d70-06f3-4f23-8367-5a9e55019f94",
                    "method": "GET",
                    "headers": []
                }
            },
            "attributes": {
                "objectType": "Customer"
            }
        }, {
            "id": "7b26b357-9ca3-48b8-a58e-4febe2662a5d",
            "companyProfile": {
                "tenantId": "7b26b357-9ca3-48b8-a58e-4febe2662a5d",
                "domain": "ContosoCorpCo.onmicrosoft.com",
                "companyName": "Contoso",
                "links": {
                    "self": {
                        "uri": "/customers/7b26b357-9ca3-48b8-a58e-4febe2662a5d/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/7b26b357-9ca3-48b8-a58e-4febe2662a5d",
                    "method": "GET",
                    "headers": []
                }
            },
            "attributes": {
                "objectType": "Customer"
            }
        }, {
            "id": "bfbd6ef0-311f-47ec-bbd7-0fcb7846661b",
            "companyProfile": {
                "tenantId": "bfbd6ef0-311f-47ec-bbd7-0fcb7846661b",
                "domain": "contosocorpdemo.onmicrosoft.com",
                "companyName": "Contoso",
                "links": {
                    "self": {
                        "uri": "/customers/bfbd6ef0-311f-47ec-bbd7-0fcb7846661b/profiles/company",
                        "method": "GET",
                        "headers": []
                    }
                },
                "attributes": {
                    "objectType": "CustomerCompanyProfile"
                }
            },
            "relationshipToPartner": "reseller",
            "links": {
                "self": {
                    "uri": "/customers/bfbd6ef0-311f-47ec-bbd7-0fcb7846661b",
                    "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"
    }
}