Создайте клиента.
Область применения: Центр партнеров | Центр партнеров, управляемый 21Vianet | Центр партнеров для Microsoft Cloud for US Government
В качестве партнера поставщик облачных решений (CSP) при создании клиента можно размещать заказы от имени клиента. При создании клиента также создается:
- Объект клиента Microsoft Entra для клиента
- Связь между торговым посредником и клиентом (используется для делегированных прав администратора)
- Имя пользователя и пароль для входа в качестве администратора для клиента
После создания клиента сохраните идентификатор клиента и сведения об идентификаторе Microsoft Entra.
Внимание
Если вы непрямый поставщик и хотите создать клиента для косвенного торгового посредника, см. статью "Создание клиента для косвенного торгового посредника".
Необходимые компоненты
- Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.
Внимание
Чтобы создать клиент клиента, необходимо указать действительный физический адрес во время процесса создания. Адрес можно проверить, выполнив действия, описанные в сценарии проверки адреса . Если вы создаете клиента с помощью недопустимого адреса в среде песочницы, вы не сможете удалить этот клиент.
Внимание
Если пароль userCredentials не принимается.
C#
Чтобы добавить клиента, выполните приведенные действия.
Создайте объект Клиент. Обязательно заполните файл BillingProfile и CompanyProfile.
Добавьте нового клиента в коллекцию IAggregatePartner.Customers, вызвав create или CreateAsync.
Пример C#
// IAggregatePartner partnerOperations;
var partnerOperations = this.Context.UserPartnerOperations;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"SampleApplication{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix),
//// OrganizationRegistrationNumber = "123456" // Please add if in specific country/region that requires
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys"
DefaultAddress = new Address()
{
FirstName = "Gena",
MiddleName = "Coralie",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = ""
}
}
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Пример приложения C#
- Тестовое приложение консоли. Проект: Класс примеров пакета SDK Для Центра партнеров: CreateCustomer.cs
REST
Синтаксис запроса
Способ | URI запроса |
---|---|
POST | {baseURL}/v1/customers HTTP/1.1 |
Заголовки запросов
Этот API является идемпотентным (он не даст другой результат при вызове его несколько раз).
Требуется идентификатор запроса и идентификатор корреляции.
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
В этой таблице описываются необходимые свойства в тексте запроса.
Имя. | Тип | Описание |
---|---|---|
BillingProfile | объект | Сведения о профиле выставления счетов клиента. |
CompanyProfile | объект | Сведения о профиле компании клиента. |
Профиль выставления счетов
В этой таблице описаны минимальные обязательные поля из ресурса CustomerBillingProfile , необходимого для создания нового клиента.
Имя. | Тип | Описание |
---|---|---|
эл. почта | string | Адрес электронной почты клиента. |
Культура | строка | Их предпочтительный язык для общения и валюты, например en-US . Ознакомьтесь с поддерживаемыми языками и языковыми стандартами Центра партнеров для поддерживаемых языков и региональных параметров . |
язык | string | Язык по умолчанию. Поддерживаются два кода языка символов (например en , или fr ) . |
companyName | строка | Имя зарегистрированной компании или организации. |
defaultAddress | Адрес | Зарегистрированный адрес компании или организации клиента. Сведения о любых ограничениях длины см. в ресурсе Address . |
Профиль организации
В этой таблице описаны минимальные обязательные поля из ресурса CustomerCompanyProfile , необходимого для создания нового клиента.
Имя. | Тип | Описание |
---|---|---|
domain | строка | Имя домена клиента, например contoso.onmicrosoft.com. |
organizationRegistrationNumber | Строка | Номер регистрации организации клиента (также называется номером INN в определенных странах или регионах). Требуется только для компании или организации клиента, расположенной в следующих странах/регионах: Армения(AM), Азербайджан(AZ), Беларусь(BY), Венгрия(HU), Казахстан(ХУ), Кыргызстан(КГ), Молдова(MD), Россия(ЕЗ), Таджикистан(ТЖ), Узбекистан(UZ), Украина(UA), Бразилия(BR), Индия, Южная Африка, Польша, Объединенные Арабские Эмираты, Саудовская Аравия, Таиланд, Вьетнам, Мьянма, Ирак, Южная Судан, Венесуэла и Китай. Для компании или организации клиента, расположенной в других странах или регионах, это необязательное поле. |
GDAP по умолчанию
Имя. | Тип | Описание |
---|---|---|
enableGDAPByDefault | bool | Логическое значение, указывающее, нужно ли включить GDAP по умолчанию или нет. Если значение true, по умолчанию мы создадим GDAP. Если значение false, мы не создадим GDAP. Обратите внимание, что это учитывается только в облаках, поддерживающих GDAP. Если не поддерживается, DAP будет создан по умолчанию. |
Пример запроса
POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"CompanyProfile": {
"Domain": "xyz.onmicrosoft.com"
},
"BillingProfile": {
"Culture": "EN-US",
"Email": "gena@wingtiptoys.com",
"Language": "en",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"FirstName": "Gena",
"LastName": "Soto",
"AddressLine1": "One Microsoft Way",
"City": "Redmond",
"State": "WA",
"PostalCode": "98052",
"Country": "US"
}
}
}
Ответ REST
В случае успешного выполнения этот API возвращает ресурс клиента для нового клиента. Сохраните идентификатор клиента и сведения об идентификаторе Microsoft Entra для дальнейшего использования с пакетом SDK Центра партнеров. Вам потребуется использовать их для управления учетными записями, например.
Коды успешного выполнения и ошибок в ответе
Ответы содержат код состояния HTTP, указывающий на успешность или сбой и дополнительные сведения об отладке. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. Полный список ответов есть в статье Коды ошибок REST в Центре партнеров.
Пример ответа
HTTP/1.1 201 Created
Content-Length: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CV: ObwhuhD2tUKJoM+Z.0
MS-ServerId: 202010223
Date: Tue, 14 Feb 2017 20:06:02 GMT
{
"id": "dfd8cc0a-c592-468c-8461-869a38d24738",
"commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
"companyProfile": {
"tenantId": "dfd8cc0a-c592-468c-8461-869a38d24738",
"domain": "xyz.onmicrosoft.com",
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "d17c0275-da92-5c33-9032-782ef1d0b69b",
"email": "gena@wingtiptoys.com",
"culture": "en-US",
"language": "en",
"companyName": "Wingtip Toys",
"defaultAddress": {
"country": "US",
"city": "Redmond",
"state": "WA",
"addressLine1": "One Microsoft Way",
"postalCode": "98052",
"firstName": "Gena",
"lastName": "Soto",
"phoneNumber": ""
},
"attributes": {
"etag": "5920358838484612121",
"objectType": "CustomerBillingProfile"
}
},
"enableGDAPByDefault": false,
"relationshipToPartner": "none",
"userCredentials": {
"userName": "admin",
"password": "=;;n.=s9Z"
},
"attributes": {
"objectType": "Customer"
}
}
Java
Примечание.
Пакет SDK Центра партнеров для Java — это проект открытый код, поддерживаемый сообществом партнеров.
Чтобы создать нового клиента, выполните следующие действия.
- Создайте новый экземпляр объектов CustomerBillingProfile и CustomerCompanyProfile . Обязательно заполните обязательные поля.
- Создайте клиента, вызвав функцию IAggregatePartner.getCustomers().create .
Пример Java
// IAggregatePartner partnerOperations;
Address address = new Address();
address.setFirstName( "Gena" );
address.setLastName( "Soto" );
address.setAddressLine1( "One Microsoft Way" );
address.setCity( "Redmond" );
address.setState( "WA" );
address.setCountry( "US" );
address.setPostalCode( "98052" );
address.setPhoneNumber( "4255550101" );
CustomerBillingProfile billingProfile = new CustomerBillingProfile();
billingProfile.setCulture( "en-US" );
billingProfile.setEmail( "gena@wingtiptoys.com" );
billingProfile.setLanguage( "en" );
billingProfile.setCompanyName( "Wingtip Toys" );
billingProfile.setDefaultAddress( address );
CustomerCompanyProfile companyProfile = new CustomerCompanyProfile();
companyProfile.setDomain( "WingtipToys" + Math.abs( new Random().nextInt() ) + ".onmicrosoft.com" );
Customer customerToCreate = new Customer();
customerToCreate.setBillingProfile( billingProfile );
customerToCreate.setCompanyProfile( companyProfile );
Customer newCustomer = partnerOperations.getCustomers().create( customerToCreate );
PowerShell
Примечание.
Пакет SDK Центра партнеров для PowerShell — это проект открытый код, поддерживаемый сообществом партнеров.
Чтобы создать клиента, выполните команду New-PartnerCustomer , как показано в следующем примере.
New-PartnerCustomer -BillingAddressLine1 '1 Microsoft Way' -BillingAddressCity 'Redmond' -BillingAddressCountry 'US' -BillingAddressPostalCode '98052' -BillingAddressState 'WA' -ContactEmail 'gena@wingtiptoys.com' -ContactFirstName 'Gena' -ContactLastName 'Soto' -Culture 'en-US' -Domain 'newcustomer.onmicrosoft.com' -Language 'en' -Name 'New Customer'