Confirmer que le client a accepté le Contrat client Microsoft en utilisant les API de l’Espace partenaires

S’applique à : Espace partenaires

Ne s’applique pas à : Espace partenaires géré par 21Vianet | Espace partenaires Microsoft Cloud for US Government

L’Espace partenaires prend actuellement en charge la confirmation de l’acceptation du Contrat client Microsoft par les clients uniquement dans le cloud public Microsoft.

Cet article explique comment confirmer ou reconfirmer l’acceptation du Contrat client Microsoft par les clients.

Prérequis

  • Si vous utilisez le SDK .NET de l’Espace partenaires, la version 1.14 ou une version ultérieure est nécessaire.

Important

Depuis juin 2023, la dernière version du Kit de développement logiciel (SDK) .NET de l’Espace partenaires version 3.4.0 est désormais archivée. Vous pouvez télécharger la version du SDK à partir de GitHub, ainsi qu’un fichier lisezmoi contenant des informations utiles.

Les partenaires sont encouragés à continuer à utiliser les API REST de l’Espace partenaires.

  • Informations d’identification, comme décrit dans Authentification auprès de l’Espace partenaires. Ce scénario ne prend en charge que l’authentification de l’application et de l’utilisateur.

  • ID du client (customer-tenant-id). Si vous ne connaissez pas l’ID du client, vous pouvez le rechercher dans l’Espace de partenaires en sélectionnant l’espace de travail Clients, puis le client dans la liste des clients, puis compte. Dans la page Compte du client, recherchez l’ID Microsoft dans la section Informations sur le compte client. L’ID Microsoft est le même que l’ID de client (customer-tenant-id).

  • Date (dateAgreed) à laquelle le client a accepté le Contrat client Microsoft.

  • Informations sur l’utilisateur issues de l’organisation du client qui a accepté le Contrat client Microsoft. Cela comprend :

    • Prénom
    • Nom
    • Adresse de messagerie
    • Numéro de téléphone (facultatif)
  • Si les valeurs suivantes changent pour un client, l’Espace partenaires autorise la création d’un autre contrat pour ce client : Prénom Nom Adresse e-mail Numéro de téléphone Sinon, les partenaires reçoivent le code d’erreur suivant, en raison de la création d’un client en double

{
"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

Pour confirmer ou reconfirmer l’acceptation du Contrat client Microsoft par les clients :

  1. Récupérez les métadonnées du Contrat client Microsoft. Vous devez obtenir la valeur templateId du Contrat client Microsoft. Pour plus d’informations, consultez Obtenir les métadonnées du Contrat client Microsoft.

    // IAggregatePartner partnerOperations;
    
    string agreementType = "MicrosoftCustomerAgreement";
    
    var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
    
  2. Créez un objet Agreement contenant les détails de la confirmation.

  3. Utilisez la collection IAgreggatePartner.Customers et appelez la méthode ById avec la valeur customer-tenant-id spécifiée.

  4. Utilisez la propriété Agreements, puis appelez Create ou 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);
    

Vous trouverez un exemple complet dans la classe CreateCustomerAgreement à partir du projet d’application de test de console.

Demande REST

Pour confirmer ou reconfirmer l’acceptation du Contrat client Microsoft par les clients :

  1. Récupérez les métadonnées du Contrat client Microsoft. Vous devez obtenir la valeur templateId du Contrat client Microsoft. Pour plus d’informations, consultez Obtenir les métadonnées du Contrat client Microsoft.

  2. Créez une ressource Agreement pour confirmer qu’un client a accepté le Contrat client Microsoft. Utilisez la syntaxe de requête REST suivante.

Syntaxe de la requête

Méthode URI de demande
POST {baseURL}/v1/customers/{customer-tenant-id}/agreements HTTP/1.1

Paramètre d’URI

Utilisez le paramètre de requête suivant pour spécifier le client que vous confirmez.

Nom Type Obligatoire Description
customer-tenant-id GUID Oui La valeur est un paramètre customer-tenant-id au format GUID, à savoir un identificateur qui vous permet de spécifier un client.

En-têtes de requête

Pour plus d’informations, consultez En-têtes REST de l’Espace Partenaires.

Corps de la demande

Ce tableau décrit les propriétés nécessaires dans le corps de la requête REST.

Nom Type Description
Contrat object Détails fournis par le partenaire pour confirmer l’acceptation du Contrat client Microsoft par les clients.

Contrat

Ce tableau décrit les champs obligatoires pour créer une ressource Agreement.

Propriété Type Description
primaryContact Contact Informations sur l’utilisateur de l’organisation du client qui a accepté le Contrat client Microsoft, notamment : firstName, lastName, email et phoneNumber (facultatif)
dateAgreed Chaîne au format date/heure UTC Date à laquelle le client a accepté le contrat.
templateId string Identificateur unique du type de contrat accepté par le client. Vous pouvez obtenir la valeur de templateId du Contrat client Microsoft en récupérant les métadonnées du Contrat client Microsoft. Consultez Obtenir les métadonnées du Contrat client Microsoft pour plus d’informations.
type string Type de contrat accepté par le client. Utilisez « MicrosoftCustomerAgreement » si le client a accepté le Contrat client Microsoft.

Exemple de requête

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

Réponse REST

En cas de réussite, cette méthode retourne une ressource Agreement.

Codes d’erreur et de réussite de la réponse

Chaque réponse est accompagnée d’un code d’état HTTP qui indique la réussite ou l’échec ainsi que des informations de débogage supplémentaires.

Utilisez un outil de trace réseau pour lire ce code, le type d’erreur et des paramètres supplémentaires. Pour obtenir la liste complète, consultez Codes d’erreur REST de l’Espace partenaires.

Exemple de réponse

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