Tworzenie klienta dla odsprzedawcy pośredniego przy użyciu interfejsów API Centrum partnerskiego
Dotyczy: Centrum partnerskie
Dostawca pośredni może utworzyć klienta dla odsprzedawcy pośredniego.
Wymagania wstępne
Poświadczenia zgodnie z opisem w temacie Uwierzytelnianie w Centrum partnerskim. Ten scenariusz obsługuje uwierzytelnianie tylko przy użyciu poświadczeń aplikacji i użytkownika.
Identyfikator dzierżawy odsprzedawcy pośredniego.
Odsprzedawca pośredni musi mieć partnerstwo z dostawcą pośrednim.
C#
Aby dodać nowego klienta dla odsprzedawcy pośredniego:
Utwórz wystąpienie nowego obiektu Customer, a następnie utwórz wystąpienie i wypełnij plik BillingProfile i CompanyProfile. Pamiętaj, aby przypisać identyfikator odsprzedawcy pośredniego do właściwości AssociatedPartnerID .
Użyj właściwości IAggregatePartner.Customers, aby uzyskać interfejs dla operacji zbierania klientów.
Wywołaj metodę Create lub CreateAsync, aby utworzyć klienta.
Przykład w języku C#
// IAggregatePartner partnerOperations;
// var indirectResellerId;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"WingtipToys{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix)
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "Gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys",
DefaultAddress = new Address()
{
FirstName = "Gena",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = "4255550101"
}
},
AssociatedPartnerId = indirectResellerId
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Przykład: aplikacja testowa konsoli. Projekt: Klasa przykładów zestawu SDK Centrum partnerskiego: CreateCustomerforIndirectReseller.cs
Żądanie REST
Składnia żądania
Method | Identyfikator URI żądania |
---|---|
POST | {baseURL}/v1/customers HTTP/1.1 |
Nagłówki żądań
Aby uzyskać więcej informacji, zobacz Nagłówki REST Centrum partnerskiego.
Treść żądania
W tej tabeli opisano wymagane właściwości w treści żądania.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
BillingProfile | obiekt | Tak | Informacje o profilu rozliczeniowym klienta. |
CompanyProfile | obiekt | Tak | Informacje o profilu firmy klienta. |
Identyfikator skojarzonego składnikaPartnerId | string | Tak | Identyfikator odsprzedawcy pośredniego. Odsprzedawca pośredni wskazany przez podany tutaj identyfikator musi mieć partnerstwo z dostawcą pośrednim lub żądanie zakończy się niepowodzeniem. Należy również pamiętać, że jeśli wartość AssociatedPartnerId nie jest podana, klient jest tworzony jako bezpośredni klient dostawcy pośredniego, a nie odsprzedawca pośredni. |
Domain | String | Tak | Nazwa domeny klienta, taka jak contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Tak | Numer rejestracji organizacji klienta (nazywany również numerem INN w niektórych krajach/regionach). Wymagane tylko dla firmy/organizacji klienta znajdującej się w następujących krajach/regionach: Armenia(AM), Azerbejdżan(AZ), Białoruś(BY), Węgry(HU), Kazachstan(KZ), Kirgistan(KG), Mołdawia(MD), Rosja(RU), Tadżykistan(TJ), Uzbekistan(UZ), Ukraina(UA), Indie, Brazylia, Republika Południowej Afryki, Polska, Zjednoczone Emiraty Arabskie, Arabia Saudyjska, Türkiye, Tajlandia, Wietnam, Mjanma, Irak, Sudan Południowy i Wenezuela. W przypadku firmy/organizacji klienta znajdującej się w innych krajach/regionach jest to pole opcjonalne. |
Profil rozliczeniowy
W tej tabeli opisano minimalne wymagane pola z zasobu CustomerBillingProfile potrzebnego do utworzenia nowego klienta.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
adres e-mail | string | Tak | Adres e-mail klienta. |
kultura | string | Tak | Preferowana kultura komunikacji i waluty, na przykład en-US . Zobacz Obsługiwane języki i ustawienia regionalne Centrum partnerskiego dla obsługiwanych kultur. |
język | string | Tak | Język domyślny. Obsługiwane są dwa kody języków znaków (na przykład en lub fr ). |
company_name | string | Tak | Zarejestrowana nazwa firmy/organizacji. |
default_address | Address | Tak | Zarejestrowany adres firmy/organizacji klienta. Aby uzyskać informacje na temat ograniczeń długości, zobacz zasób Adres. |
Profil firmy
W tej tabeli opisano minimalne wymagane pola z zasobu CustomerCompanyProfile potrzebnego do utworzenia nowego klienta.
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
domena | string | Tak | Nazwa domeny klienta, taka jak contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Zależy od warunku | Numer rejestracji organizacji klienta (nazywany również numerem INN w niektórych krajach/regionach). Ukończenie tego pola jest wymagane tylko wtedy, gdy firma/organizacja klienta znajduje się w następujących krajach/regionach: - Armenia (AM) - Azerbejdżan (AZ) - Białoruś (BY) - Węgry (HU) - Kazachstan (KZ) - Kirgistan (KG) - Mołdawia (MD) - Rosja (RU) - Tadżykistan (TJ) - Uzbekistan (UZ) - Ukraina (UA) -Indie -Brazylia -Republika Południowej Afryki -Polska - Zjednoczone Emiraty Arabskie -Arabia Saudyjska - Türkiye -Tajlandia -Wietnam -Myanmar -Irak - Sudan Południowy -Wenezuela - Chiny W przypadku firmy/organizacji klienta znajdującej się w innych krajach/regionach jest to pole opcjonalne. |
Domyślnie GDAP
Nazwisko | Pisz | Opis |
---|---|---|
enableGDAPByDefault | bool | Wartość logiczna wskazująca, czy chcesz włączyć GDAP domyślnie, czy nie. Jeśli wartość true, utworzymy domyślnie GDAP. Jeśli wartość false, nie utworzymy GDAP. Należy pamiętać, że jest to honorowane tylko w chmurach, które obsługują GDAP. Jeśli język DAP nie jest obsługiwany, zostanie utworzony domyślnie. |
Przykład żądania
POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 823
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"Id": null,
"CommerceId": null,
"CompanyProfile": {
"TenantId": null,
"Domain": "WingtipToys678152504.onmicrosoft.com",
"CompanyName": null,
"Attributes": {
"ObjectType": "CustomerCompanyProfile"
}
},
"BillingProfile": {
"Id": null,
"FirstName": null,
"LastName": null,
"Email": "Gena@wingtiptoys.com",
"Culture": "EN-US",
"Language": "En",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"Country": "US",
"Region": null,
"City": "Redmond",
"State": "WA",
"AddressLine1": "One Microsoft Way",
"AddressLine2": null,
"PostalCode": "98052",
"FirstName": "Gena",
"LastName": "Soto",
"PhoneNumber": "4255550101"
},
"Attributes": {
"ObjectType": "CustomerBillingProfile"
}
},
"RelationshipToPartner": "none",
"AllowDelegatedAccess": null,
"UserCredentials": null,
"CustomDomains": null,
"AssociatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"Attributes": {
"ObjectType": "Customer"
}
}
Ważne
Od czerwca 2023 r. najnowsza wersja zestawu .NET SDK Centrum partnerskiego 3.4.0 jest teraz archiwizowana. Możesz pobrać wersję zestawu SDK z usługi GitHub wraz z plikiem readme zawierającym przydatne informacje.
Zachęcamy partnerów do dalszego korzystania z interfejsów API REST Centrum partnerskiego.
Odpowiedź REST
W przypadku powodzenia odpowiedź zawiera zasób Klienta dla nowego klienta.
Kody powodzenia i błędów odpowiedzi
Odpowiedzi są dostarczane z kodem stanu HTTP, który wskazuje powodzenie lub niepowodzenie i dodatkowe informacje o debugowaniu. Użyj narzędzia do śledzenia sieci, aby odczytać ten kod, typ błędu i dodatkowe parametry. Aby uzyskać pełną listę, zobacz Kody błędów REST Centrum partnerskiego.
Przykład odpowiedzi
HTTP/1.1 201 Created
Content-Length: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CV: Yy/YaA0gYEmfQyR/.0
MS-ServerId: 030020525
Date: Tue, 06 Jun 2017 23:11:40 GMT
{
"enableGDAPByDefault": false,
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"domain": "WingtipToys678152504.onmicrosoft.com",
"companyName": "Wingtip Toys",
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "7079246e-7b62-56ef-7cbd-a819514b54b5",
"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": "4255550101"
},
"attributes": {
"etag": "-8799889149591823008",
"objectType": "CustomerBillingProfile"
}
},
"relationshipToPartner": "reseller",
"allowDelegatedAccess": true,
"userCredentials": {
"userName": "admin",
"password": "0Krha*Io"
},
"associatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"attributes": {
"objectType": "Customer"
}
}