다음을 통해 공유


검색 필드로 필터링된 고객 목록 가져오기

적용 대상: 파트너 센터 | 21Vianet에서 운영되는 파트너 센터 | Microsoft Cloud for US Government 파트너 센터

필터와 일치하는 고객 리소스의 컬렉션을 가져옵니다. 필요에 따라 페이지 크기를 설정할 수 있습니다. 회사 이름, do기본, 간접 재판매인 또는 간접 CSP(클라우드 솔루션 공급자)로 필터링할 수 있습니다.

필수 조건

  • 자격 증명(파트너 센터 인증에서 설명). 이 시나리오는 독립 실행형 앱 및 App+사용자 자격 증명을 모두 사용하여 인증을 지원합니다.

  • 사용자 생성 필터입니다.

C#

필터와 일치하는 고객 컬렉션을 얻으려면 먼저 SimpleFieldFilter 개체를 인스턴스화하여 필터를 만듭니다. CustomerSearchField가 포함된 문자열을 전달하고 필터 작업의 유형을 FieldFilterOperation.StartsWith표시해야 합니다. 이것이 고객 엔드포인트에서 지원하는 유일한 필드 필터 작업입니다. 필터링할 문자열도 제공해야 합니다.

그런 다음 BuildSimpleQuery 메서드를 호출하고 필터를 전달하여 쿼리에 전달할 iQuery 개체를 인스턴스화합니다. BuildSimplyQuery는 QueryFactory 클래스에서 지원하는 쿼리 형식 중 하나일 뿐입니다.

마지막으로 필터를 실행하고 결과를 얻으려면 먼저 IAggregatePartner.Customers를 사용하여 파트너의 고객 작업에 대한 인터페이스를 가져옵니다. 그런 다음 Query 또는 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);

샘플: 콘솔 테스트 앱. 프로젝트: 파트너 센터 SDK 샘플 클래스: FilterCustomers.cs

REST 요청

요청 구문

메서드 요청 URI
GET {baseURL}/v1/customers?size={size}&filter={filter} HTTP/1.1

URI 매개 변수

다음 쿼리 매개 변수를 사용합니다.

이름 Type 필수 설명
size int 아니요 한 번에 표시할 결과 수입니다. 이 매개 변수는 선택 사항입니다.
filter filter 고객에게 적용할 필터입니다. 인코딩된 문자열이어야 합니다.

필터 구문

필터 매개 변수를 일련의 쉼표로 구분된 키-값 쌍으로 구성해야 합니다. 각 키와 값은 개별적으로 따옴표로 묶고 콜론으로 구분해야 합니다. 전체 필터를 인코딩해야 합니다.

인코딩되지 않은 예제는 다음과 같습니다.

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

다음 표에서는 필요한 키-값 쌍에 대해 설명합니다.

필드 필터링할 필드입니다. 유효한 값은 CustomerSearchField에서 찾을 수 있습니다.
필터링 기준 값입니다. 값의 대/소문자를 무시합니다.
연산자 적용할 연산자입니다. 이 고객 시나리오에서 지원되는 유일한 값은 "starts_with"입니다.

요청 헤더

자세한 내용은 파트너 센터 REST 헤더를 참조하세요.

요청 본문

없음.

요청 예제

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 응답

성공하면 이 메서드는 응답 본문에 일치하는 고객 리소스 컬렉션을 반환합니다.

응답 성공 및 오류 코드

각 응답에는 성공 또는 실패와 추가 디버깅 정보를 나타내는 HTTP 상태 코드가 함께 제공됩니다. 네트워크 추적 도구를 사용하여 이 코드, 오류 유형 및 추가 매개 변수를 읽을 수 있습니다. 전체 목록은 파트너 센터 REST 오류 코드를 참조하세요.

응답 예제

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