Get a list of customers
Applies to: Partner Center | Partner Center operated by 21Vianet | Partner Center for Microsoft Cloud for US Government
This article describes how to get a collection of resources that represents all of a partner's customers.
Tip
You can also perform this operation in Partner Center. On the Home page, select the Customers workspace then view customers using the Customers list in the menu.
Prerequisites
- Credentials as described in Partner Center authentication. This scenario supports authentication with both standalone App and App+User credentials.
C#
To get a list of all customers:
Use the IAggregatePartner.Customers collection to create an IPartner object.
Retrieve the customer list using the Query() or QueryAsync() methods. (For instructions on creating a query, see the QueryFactory class.)
// IAggregatePartner partnerOperations;
// All the operations executed on this partner operation instance will share the same correlation Id but will differ in request Id
IPartner scopedPartnerOperations = partnerOperations.With(RequestContextFactory.Instance.Create(Guid.NewGuid()));
// read customers into chunks of 40s
var customersBatch = scopedPartnerOperations.Customers.Query(QueryFactory.Instance.BuildIndexedQuery(40));
var customersEnumerator = scopedPartnerOperations.Enumerators.Customers.Create(customersBatch);
For an example, see the following:
- Sample: Console test app
- Project: PartnerSDK.FeatureSamples
- Class: CustomerPaging.cs
Java
The Partner Center Java SDK can be used to manage Partner Center resources. It's an open-source project maintained by the partner community and not officially supported by Microsoft. You can get help from the community or open an issue on GitHub if you experience a problem.
To get a list of all customers:
Use the [IAggregatePartner.getCustomers] function to get a reference to the customer operations.
Retrieve the customer list using the query() function.
// Query the customers, get the first page if a page size was set, otherwise get all customers
SeekBasedResourceCollection<Customer> customersPage = partnerOperations.getCustomers().query(QueryFactory.getInstance().buildIndexedQuery(40));
// Create a customer enumerator which will aid us in traversing the customer pages
IResourceCollectionEnumerator<SeekBasedResourceCollection<Customer>> customersEnumerator =
partnerOperations.getEnumerators().getCustomers().create( customersPage );
int pageNumber = 1;
while (customersEnumerator.hasValue())
{
/*
* Use the customersEnumerator.getCurrent() function to
* access the current page of customers.
*/
// Get the next page of customers
customersEnumerator.next();
}
PowerShell
The Partner Center PowerShell module can be used to manage Partner Center resources. It's an open-source project maintained by the partner community and not officially supported by Microsoft. You can get help from the community or open an issue on GitHub if you experience a problem.
Execute the Get-PartnerCustomer command with no parameters to get a complete list of customers.
Get-PartnerCustomer
REST request
Request syntax
Method | Request URI |
---|---|
GET | {baseURL}/v1/customers?size={size} HTTP/1.1 |
URI parameter
Use the following query parameter to get a list of customers.
Name | Type | Required | Description |
---|---|---|---|
size | int | Y | The number of results to be displayed at one time. |
Request headers
For more information, see Partner Center REST headers.
Request body
None.
Request example
GET https://api.partnercenter.microsoft.com/v1/customers?size=40 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 3705fc6d-4127-4a87-bdba-9658f73fe019
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
REST response
If successful, this method returns a collection of Customer resources in the response body.
Response success and error codes
Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use a network trace tool to read this code, error type, and additional parameters. For a full list, see Error Codes.
Response example
HTTP/1.1 200 OK
Content-Length: 15650
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 3705fc6d-4127-4a87-bdba-9658f73fe019
Date: Fri, 20 Nov 2015 01:08:23 GMT
{
"totalCount": 2,
"items": [{
"id": "b44bb1fb-c595-45b0-9e09-d657365580bf",
"companyProfile": {
"tenantId": "<guid>",
"domain": "domain",
"companyName": "companyName",
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"relationshipToPartner": "reseller",
"attributes": {
"objectType": "Customer"
}
},
{
"id": "45c44870-ef77-4fdd-b6fe-3dacb075cff2",
"companyProfile": {
"tenantId": "<guid>",
"domain": "domain",
"companyName": "companyName",
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"relationshipToPartner": "reseller",
"attributes": {
"objectType": "Customer"
}
}],
"links": {
"self": {
"uri": "/v1/customers?size=40",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "Collection"
}
}