Share via


Confirme la aceptación del cliente del Contrato de cliente de Microsoft mediante las API del Centro de partners.

Se aplica a: Centro de partners

No se aplica a: Centro de partners operado por 21Vianet | Centro de partners para Microsoft Cloud for US Government

Actualmente, el Centro de partners solo admite la confirmación de la aceptación por parte del cliente del Contrato de cliente de Microsoft en la nube pública de Microsoft.

En este artículo se describe cómo confirmar o volver a confirmar la aceptación por parte del cliente del Contrato de cliente de Microsoft.

Requisitos previos

  • Si usas el SDK de .NET del Centro de partners, se requiere la versión 1.14 o posterior.

Importante

A partir de junio de 2023, la versión 3.4.0 más reciente del SDK de .NET del Centro de partners ahora está archivada. Puede descargar esta versión del SDK de GitHub, junto con un archivo Léame que contiene información útil.

Se recomienda a los partners seguir usando las API REST del Centro de partners.

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario solo es compatible con la autenticación con el usuario y la aplicación.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • La fecha (dateAgreed) del momento en que el cliente aceptó el Contrato de cliente de Microsoft.

  • Información sobre el usuario de la organización del cliente que aceptó el Contrato de cliente de Microsoft. Esto incluye:

    • Nombre
    • Apellido
    • Dirección de correo electrónico
    • Número de teléfono (opcional)
  • Si los valores siguientes cambian para un cliente, el Centro de partners le permitirá crear otro contrato para ese cliente con los siguientes valores: nombre, apellidos, dirección de correo electrónico y número de teléfono. De lo contrario, los asociados recibirán el siguiente código de error, debido a que se ha creado un cliente duplicado.

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

Para confirmar o volver a confirmar la aceptación por parte del cliente del Contrato de cliente de Microsoft:

  1. Recupera los metadatos del Contrato de cliente de Microsoft. Debes obtener el valor de templateId del Contrato de cliente de Microsoft. Para obtener más información, consulte Obtención de los metadatos del Contrato de cliente de Microsoft.

    // IAggregatePartner partnerOperations;
    
    string agreementType = "MicrosoftCustomerAgreement";
    
    var microsoftCustomerAgreementDetails = partnerOperations.AgreementDetails.ByAgreementType(agreementType).Get().Items.Single();
    
  2. Crea un nuevo objeto Agreement que contenga los detalles de la confirmación.

  3. Usa la colección IAgreggatePartner.Customers y llama al método ById con el elemento customer-tenant-id especificado.

  4. Usa la propiedad Agreements, seguida de una llamada 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);
    

Se puede encontrar un ejemplo completo en la clase CreateCustomerAgreement del proyecto de la aplicación de prueba de la consola.

Solicitud REST

Para confirmar o volver a confirmar la aceptación por parte del cliente del Contrato de cliente de Microsoft:

  1. Recupera los metadatos del Contrato de cliente de Microsoft. Debes obtener el valor de templateId del Contrato de cliente de Microsoft. Para obtener más información, consulte Obtención de los metadatos del Contrato de cliente de Microsoft.

  2. Crea un nuevo recurso Agreement para confirmar que un cliente ha aceptado el Contrato de cliente de Microsoft. Usa la siguiente sintaxis de solicitud de REST.

Sintaxis de la solicitud

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

Parámetro de URI

Usa el siguiente parámetro de consulta para especificar al cliente tu confirmación.

Nombre Type Obligatorio Descripción
customer-tenant-id GUID El valor es un elemento customer-tenant-id con formato de GUID, que es un identificador que te permite especificar un cliente.

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

En esta tabla se describen las propiedades necesarias del cuerpo de la solicitud REST.

Nombre Tipo Descripción
Contrato object Detalles que proporciona el partner para confirmar la aceptación por parte del cliente del Contrato de cliente de Microsoft.

Contrato

En esta tabla se describen los campos obligatorios mínimos para crear un recurso Agreement.

Propiedad Type Descripción
primaryContact Contacto Información sobre el usuario de la organización del cliente que aceptó el Contrato de cliente de Microsoft, que incluye lo siguiente: firstName, lastName, email yphoneNumber (opcional).
dateAgreed cadena en formato de fecha y hora UTC Fecha en la que el cliente aceptó el contrato.
templateId cadena Identificador único del tipo de contrato aceptado por el cliente. Puedes obtener el valor de templateId para el Contrato de cliente de Microsoft mediante la recuperación de los metadatos del Contrato del cliente de Microsoft. Para obtener información, consulta Obtención de los metadatos del Contrato de cliente de Microsoft.
type cadena Tipo de contrato aceptado por el cliente. Usa "MicrosoftCustomerAgreement" si el cliente aceptó el Contrato de cliente de Microsoft.

Ejemplo de solicitud

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

Respuesta REST

Si se realiza correctamente, este método devuelve un recurso Agreement.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional.

Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.

Ejemplo de respuesta

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