Condividi tramite


Ottenere un elenco dei clienti filtrato in base a un campo di ricerca

Si applica a: Centro per i partner | Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud per il governo degli Stati Uniti

Ottiene una raccolta di risorse customer che corrispondono a un filtro. Facoltativamente, è possibile impostare una dimensione della pagina. È possibile filtrare in base al nome della società, al dominio, al rivenditore indiretto o al provider di soluzioni cloud indiretto (CSP).

Prerequisiti

C#

Per ottenere una raccolta di clienti che corrispondono a un filtro, creare prima un'istanza di un oggetto SimpleFieldFilter per creare il filtro. Sarà necessario passare una stringa contenente CustomerSearchField e indicare il tipo di operazione di filtro come FieldFilterOperation.StartsWith. Questa è l'unica operazione di filtro dei campi supportata dal punto finale dei clienti. È anche necessario specificare la stringa in base alla quale filtrare.

Creare quindi un'istanza di un oggetto iQuery per passare alla query chiamando il metodo BuildSimpleQuery e passandolo. BuildSimplyQuery è solo uno dei tipi di query supportati dalla classe QueryFactory .

Infine, per eseguire il filtro e ottenere il risultato, usare prima IAggregatePartner.Customers per ottenere un'interfaccia per le operazioni dei clienti del partner. Chiamare quindi il metodo Query o 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);

Esempio: App di test della console. Project: Partner Center SDK Samples Class: FilterCustomers.cs

Richiesta REST

Sintassi della richiesta

metodo URI della richiesta
GET {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1

Parametri URI

Usare i parametri di query seguenti.

Nome Digita Obbligatorio Descrizione
size int No Numero di risultati da visualizzare contemporaneamente. Il parametro è facoltativo.
filter filter Filtro da applicare ai clienti. Deve essere una stringa codificata.

Sintassi del filtro

È necessario comporre il parametro di filtro come una serie di coppie chiave-valore separate da virgole. È necessario racchiudere singolarmente tra virgolette ogni chiave e ogni valore e separarli con i due punti. L'intero filtro deve essere codificato.

Un esempio non codificato è simile al seguente:

?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}

Nella tabella seguente vengono descritte le coppie chiave-valore necessarie:

Chiave valore
Campo Campo da filtrare. I valori validi sono disponibili in CustomerSearchField.
Valore Valore in base a cui filtrare. La distinzione tra maiuscole e minuscole del valore viene ignorata.
Operatore Operatore da applicare. L'unico valore supportato per questo scenario del cliente è "starts_with".

Intestazioni delle richieste

Per altre informazioni, vedi Intestazioni REST del Centro per i partner.

Corpo della richiesta

Nessuno.

Esempio di richiesta

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

Risposta REST

In caso di esito positivo, questo metodo restituisce una raccolta di risorse Customer corrispondenti nel corpo della risposta.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore REST del Centro per i partner.

Risposta di esempio

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