Udostępnij za pośrednictwem


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:

  1. 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 .

  2. Użyj właściwości IAggregatePartner.Customers, aby uzyskać interfejs dla operacji zbierania klientów.

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