Condividi tramite


Creare un cliente per un rivenditore indiretto usando le API del Centro per i partner

Si applica a: Centro per i partner

Un provider indiretto può creare un cliente per un rivenditore indiretto.

Prerequisiti

  • Credenziali descritte in Autenticazione del Centro per i partner. Questo scenario supporta l'autenticazione solo con le credenziali app + utente.

  • Identificatore del tenant del rivenditore indiretto.

  • Il rivenditore indiretto deve avere una partnership con il provider indiretto.

C#

Per aggiungere un nuovo cliente per un rivenditore indiretto:

  1. Creare un'istanza di un nuovo oggetto Customer e quindi creare un'istanza e popolare BillingProfile e CompanyProfile. Assicurarsi di assegnare l'ID rivenditore indiretto alla proprietà AssociatedPartnerID.

  2. Utilizzare la proprietà IAggregatePartner.Customers per ottenere un'interfaccia per le operazioni di raccolta dei clienti.

  3. Chiamare il metodo Create o CreateAsync per creare il cliente.

Esempio in 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);

Esempio: App di test della console. Project: Partner Center SDK Samples Class: CreateCustomerforIndirectReseller.cs

Richiesta REST

Sintassi della richiesta

metodo URI della richiesta
POST {baseURL}/v1/customers HTTP/1.1

Intestazioni delle richieste

Per altre informazioni, vedi Intestazioni REST del Centro per i partner.

Testo della richiesta

Questa tabella descrive le proprietà necessarie nel corpo della richiesta.

Nome Digita Obbligatorio Descrizione
BillingProfile oggetto Informazioni sul profilo di fatturazione del cliente.
CompanyProfile oggetto Informazioni sul profilo della società del cliente.
AssociatedPartnerId string ID rivenditore indiretto. Il rivenditore indiretto come indicato dall'ID fornito qui deve avere una relazione con il provider indiretto o la richiesta avrà esito negativo. Si noti anche che se il valore AssociatedPartnerId non viene fornito, il cliente viene creato come cliente diretto del provider indiretto anziché come rivenditore indiretto.
Domain Stringa Nome di dominio del cliente, ad esempio contoso.onmicrosoft.com.
organizationRegistrationNumber string Numero di registrazione dell'organizzazione del cliente (detto anche numero INN in determinati paesi/aree geografiche). Obbligatorio solo per la società o l'organizzazione del cliente che si trova nei paesi/aree seguenti: Armenia(AM), Azerbaigian(AZ), Bielorussia(BY), Ungheria(HU), Kazakistan(KZ), Kirghizistan(KG), Moldova(MD), Russia(RU), Tagikistan(TJ), Uzbekistan(UZ), Ucraina(UA), India, Brasile, Sudafrica, Polonia, Emirati Arabi Uniti, Arabia Saudita, Türkiye, Thailandia, Vietnam, Myanmar, Iraq, Sud Sudan e Venezuela. Per la società o l'organizzazione del cliente che si trova in altri paesi/aree geografiche, si tratta di un campo facoltativo.

Profilo di fatturazione

Questa tabella descrive i campi minimi obbligatori della risorsa CustomerBillingProfile necessaria per creare un nuovo cliente.

Nome Digita Obbligatorio Descrizione
posta elettronica string Indirizzo e-mail del cliente.
Impostazioni cultura string Le impostazioni cultura preferite per la comunicazione e la valuta, ad esempio en-US. Vedere Lingue e impostazioni locali supportate dal Centro per i partner per le impostazioni cultura supportate.
lingua string Lingua predefinita. Sono supportati due codici di lingua dei caratteri ( ad esempio en o fr).
company_name string Nome della società o dell'organizzazione registrato.
default_address Indirizzo Indirizzo registrato dell'azienda o dell'organizzazione del cliente. Per informazioni sulle limitazioni di lunghezza, vedere la risorsa Indirizzo .

Profilo di società

Questa tabella descrive i campi minimi obbligatori della risorsa CustomerCompanyProfile necessaria per creare un nuovo cliente.

Nome Digita Obbligatorio Descrizione
dominio string Nome di dominio del cliente, ad esempio contoso.onmicrosoft.com.
organizationRegistrationNumber string Dipende dalla condizione Numero di registrazione dell'organizzazione del cliente (detto anche numero INN in determinati paesi/aree geografiche).

Il completamento di questo campo è obbligatorio solo se la società o l'organizzazione di un cliente si trova nei paesi/aree geografiche seguenti:

- Armenia (AM)
- Azerbaigian (AZ)
- Bielorussia (BY)
- Ungheria (HU)
- Kazakistan (KZ)
- Kirghizistan (KG)
- Moldova (MD)
- Russia (UR)
- Tagikistan (TJ)
- Uzbekistan (UZ)
- Ucraina (UA)
-India
-Brasile
-Sud Africa
-Polonia
- Emirati Arabi Uniti
-Arabia Saudita
-Türkiye
-Thailandia
-Vietnam
-Myanmar
-Iraq
- Sudan meridionale
-Venezuela
- Cina

Per la società o l'organizzazione del cliente che si trova in altri paesi/aree geografiche, si tratta di un campo facoltativo.

GDAP per impostazione predefinita

Nome Tipo Descrizione
enableGDAPByDefault bool Valore booleano per indicare se si vuole abilitare GDAP per impostazione predefinita. Se true creeremo GDAP per impostazione predefinita. Se false, non creeremo GDAP. Si noti che questo è rispettato solo nei cloud che supportano GDAP. Se non è supportato, per impostazione predefinita verrà creato DAP.

Esempio di richiesta

POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: 0dd197a8-992c-44ca-aeae-21cd83494dce
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"
    }
}

Importante

A partire da giugno 2023, la versione più recente di .NET SDK del Centro per i partner 3.4.0 è ora archiviata. È possibile scaricare la versione dell'SDK da GitHub, insieme a un file leggimi che contiene informazioni utili.

I partner sono invitati a continuare a usare le API REST del Centro per i partner.

Risposta REST

In caso di esito positivo, la risposta contiene una risorsa Customer per il nuovo cliente.

Codici di errore e di esito della risposta

Le risposte vengono fornite con un codice di stato HTTP che indica l'esito positivo o negativo e informazioni di debug aggiuntive. Usa uno strumento di traccia di rete per leggere il codice, il tipo di errore e parametri aggiuntivi. Per l'elenco completo, vedi Codici di errore REST del Centro per i partner.

Risposta di esempio

HTTP/1.1 201 Created
Content-Length: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 0dd197a8-992c-44ca-aeae-21cd83494dce
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": "626099fe-17af-4756-9fd0-6a73b7127859",
    "commerceId": "626099fe-17af-4756-9fd0-6a73b7127859",
    "companyProfile": {
        "tenantId": "626099fe-17af-4756-9fd0-6a73b7127859",
        "domain": "WingtipToys678152504.onmicrosoft.com",
        "companyName": "Wingtip Toys",
        "links": {
            "self": {
                "uri": "/customers/626099fe-17af-4756-9fd0-6a73b7127859/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"
    }
}