Confermare l'accettazione del Contratto del cliente Microsoft da parte di un cliente mediante le API del Centro per i partner

Si applica a: Centro per i partner

Non si applica a: Centro per i partner gestito da 21Vianet | Centro per i partner per Microsoft Cloud per il governo degli Stati Uniti

Il Centro per i partner attualmente supporta la conferma dell'accettazione del Contratto del cliente Microsoft da parte di un cliente solo nel cloud pubblico Microsoft.

Questo articolo descrive come confermare o riconfermare l'accettazione del Contratto del cliente Microsoft da parte del cliente.

Prerequisiti

  • Se usi l'SDK .NET del Centro per i partner, è necessaria la versione 1.14 o successiva.

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.

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

  • ID cliente (customer-tenant-id). Se non si conosce l'ID del cliente, è possibile cercarlo nel Centro per i partner selezionando l'area di lavoro Clienti , quindi il cliente dall'elenco dei clienti, quindi Account. Nella pagina Account del cliente cercare l'ID Microsoft nella sezione Informazioni sull'account del cliente. L'ID Microsoft corrisponde all'ID del cliente (customer-tenant-id).

  • La data (dateAgreed) in cui il cliente ha accettato il Contratto del cliente Microsoft.

  • Informazioni relative all'utente dell'organizzazione del cliente che ha accettato il Contratto del cliente Microsoft. Valuta gli ambiti seguenti:

    • Nome
    • Cognome
    • Indirizzo di posta elettronica
    • Numero di telefono (facoltativo)
  • Se i valori seguenti cambiano per un cliente, il Centro per i partner consentirà la creazione di un altro contratto per il cliente: nome cognome indirizzo di posta elettronica Telefono numero Altrimenti i partner riceveranno il codice di errore seguente, a causa della creazione di un cliente duplicato

{
"code": 600061,
"message": "A partner confirmed agreement already exists for the customer.",
"description": "A partner confirmed agreement already exists for the customer.",
"errorName": "PartnerConfirmedAgreementAlreadyExists",
"isRetryable": false,
"parameters": {},
"errorMessageExtended": "InternalErrorCode=600061"
}

.NET

Per confermare o riconfermare l'accettazione del Contratto del cliente Microsoft da parte del cliente:

  1. Recupera i metadati per il Contratto del cliente Microsoft. Devi ottenere il valore di templateId del Contratto del cliente Microsoft. Per altre informazioni, vedere Ottenere i metadati del contratto per Contratto del cliente Microsoft.

    // IAggregatePartner partnerOperations;
    
    string agreementType = "MicrosoftCustomerAgreement";
    
    var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
    
  2. Crea un nuovo oggetto Agreement contenente i dettagli della conferma.

  3. Usa la raccolta IAgreggatePartner.Customers e chiama il metodo ById con il valore specificato di customer-tenant-id.

  4. Usa la proprietà Agreements, seguita dalla chiamata a Create o CreateAsync.

    // string selectedCustomerId;
    
    var agreementToCreate = new Agreement
    {
        DateAgreed = DateTime.UtcNow,
        TemplateId = microsoftCustomerAgreementDetails.TemplateId,
        PrimaryContact = new Contact
        {
            FirstName = "Tania",
            LastName = "Carr",
            Email = "someone@example.com",
            PhoneNumber = "1234567890"
        }
    };
    
    Agreement agreement = partnerOperations.Customers.ById(selectedCustomerId).Agreements.Create(agreementToCreate);
    

Un esempio completo è disponibile nella classe CreateCustomerAgreement del progetto dell'app di test della console.

Richiesta REST

Per confermare o riconfermare l'accettazione del Contratto del cliente Microsoft da parte del cliente:

  1. Recupera i metadati per il Contratto del cliente Microsoft. Devi ottenere il valore di templateId del Contratto del cliente Microsoft. Per altre informazioni, vedere Ottenere i metadati del contratto per Contratto del cliente Microsoft.

  2. Crea una nuova risorsa Agreement per confermare che un cliente ha accettato il Contratto del cliente Microsoft. Usa la sintassi della richiesta REST seguente.

Sintassi della richiesta

Method URI della richiesta
POST {baseURL}/v1/customers/{customer-tenant-id}/agreements HTTP/1.1

Parametro URI

Usa il parametro di query seguente per specificare il cliente che stai confermando.

Nome Digita Richiesto Descrizione
customer-tenant-id GUID Il valore è customer-tenant-id con formato GUID, un identificatore che consente di specificare un cliente.

Intestazioni delle richieste

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

Corpo della richiesta

Questa tabella descrive le proprietà obbligatorie nel corpo della richiesta REST.

Nome Digita Descrizione
Contratto oggetto Dettagli forniti dal partner per confermare l'accettazione del Contratto del cliente Microsoft da parte di un cliente.

Contratto

Questa tabella descrive i campi minimi obbligatori per creare una risorsa Agreement.

Proprietà Digita Descrizione
primaryContact Contatto Informazioni sull'utente dell'organizzazione del cliente che ha accettato il Contratto del cliente Microsoft, tra cui: firstName, lastName, email e phoneNumber (facoltativo)
dateAgreed stringa in formato data e ora UTC Data di accettazione del contratto da parte del cliente.
templateId stringa Identificatore univoco del tipo di contratto accettato dal cliente. Puoi ottenere il valore di templateId per il Contratto del cliente Microsoft recuperando i metadati per tale contratto. Per informazioni dettagliate, vedi Ottenere i metadati per il Contratto del cliente Microsoft.
Tipo stringa Tipo di contratto accettato dal cliente. Usa "MicrosoftCustomerAgreement" se il cliente ha accettato il Contratto del cliente Microsoft.

Esempio di richiesta

POST https://api.partnercenter.microsoft.com/v1/customers/14876998-c0dc-46e6-9d0c-65a57a6c32ec/agreements HTTP/1.1
Authorization: Bearer <token>
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
{
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "117a77b0-9360-443b-8795-c6dedc750cf9",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}

Risposta REST

Se ha esito positivo, questo metodo restituisce una risorsa Agreement.

Codici di errore e di esito della risposta

Ogni risposta viene fornita con un codice di stato HTTP che ne indica l'esito e con 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: 261
Content-Type: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
{
    "userId": "3d6f2c09-eb40-48ca-a4b3-d24c9c007531",
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "117a77b0-9360-443b-8795-c6dedc750cf9",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}