Obter uma lista de clientes filtrados por um campo de pesquisa
Aplica-se a: Partner Center | Partner Center operado pela 21Vianet | Partner Center for Microsoft Cloud for US Government
Obtém uma coleção de recursos do Cliente que correspondem a um filtro. Opcionalmente, você pode definir um tamanho de página. Você pode filtrar por nome da empresa, domínio, revendedor indireto ou CSP (provedor de soluções de nuvem indireto).
Pré-requisitos
Credenciais conforme descrito na autenticação do Partner Center. Este cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.
Um filtro construído pelo utilizador.
C#
Para obter uma coleção de clientes que correspondam a um filtro, primeiro instancie um objeto SimpleFieldFilter para criar o filtro. Você precisará passar uma cadeia de caracteres que contenha o CustomerSearchField e indicar o tipo de operação de filtro como FieldFilterOperation.StartsWith. Essa é a única operação de filtro de campo suportada pelo ponto final do cliente. Você também precisará fornecer a cadeia de caracteres pela qual filtrar.
Em seguida, instancie um objeto iQuery para passar para a consulta chamando o método BuildSimpleQuery e passando-lhe o filtro. BuildSimplyQuery é apenas um dos tipos de consulta suportados pela classe QueryFactory .
Finalmente, para executar o filtro e obter o resultado, primeiro use IAggregatePartner.Customers para obter uma interface para as operações do cliente do parceiro. Em seguida, chame o método Query ou 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);
Exemplo: Aplicativo de teste de console. Projeto: Exemplo de SDK do Partner Center Classe: FilterCustomers.cs
Pedido REST
Sintaxe da solicitação
Método | URI do pedido |
---|---|
GET | {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1 |
Parâmetros de URI
Use os seguintes parâmetros de consulta.
Nome | Type | Obrigatório | Description |
---|---|---|---|
size | número inteiro | Não | O número de resultados a serem exibidos ao mesmo tempo. Este parâmetro é opcional. |
filtrar | filtrar | Sim | O filtro a ser aplicado aos clientes. Esta deve ser uma cadeia de caracteres codificada. |
Sintaxe do filtro
Você deve compor o parâmetro filter como uma série de pares chave-valor separados por vírgula. Cada chave e valor devem ser cotados individualmente e separados por dois pontos. Todo o filtro deve ser codificado.
Um exemplo não codificado tem esta aparência:
?filter{"Field":"CompanyName","Value":"cont","Operator":"starts_with"}
A tabela a seguir descreve os pares chave-valor necessários:
Key | valor |
---|---|
Campo | O campo a filtrar. Os valores válidos podem ser encontrados em CustomerSearchField. |
valor | O valor pelo qual filtrar. O caso do valor é ignorado. |
Operador | O operador a candidatar. O único valor suportado para este cenário de cliente é "starts_with". |
Cabeçalhos do pedido
Para obter mais informações, consulte Cabeçalhos REST do Partner Center.
Corpo do pedido
Nenhum.
Exemplo de solicitação
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
Resposta do REST
Se for bem-sucedido, esse método retornará uma coleção de recursos de Customer correspondentes no corpo da resposta.
Códigos de sucesso e erro de resposta
Cada resposta vem com um código de status HTTP que indica sucesso ou falha e informações adicionais de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e parâmetros adicionais. Para obter a lista completa, consulte Códigos de erro REST do Partner Center.
Exemplo de resposta
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"
}
}
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários