Compartir a través de


Confirmar 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 socios operado por 21Vianet | Centro de socios para Microsoft Cloud para el gobierno de EE.UU.

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

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

Prerrequisitos

  • Si usa 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 la 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 admite la autenticación de App+User.

  • 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, posteriormente el cliente de la lista de clientes y, finalmente, Cuenta. En la página Cuenta del cliente, busque el Id. de Microsoft en la sección Información de la cuenta de cliente. El ID de Microsoft es el mismo que el ID de cliente (customer-tenant-id).

  • La fecha (dateAgreed) cuando 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
    • Apellidos
    • Dirección de correo electrónico
    • Número de teléfono (opcional)
  • Si los siguientes valores cambian para un cliente, Partner Center permitirá que se cree otro contrato para ese cliente: Nombre, Apellidos, Dirección de correo electrónico, Número de teléfono. De lo contrario, los partners recibirán el siguiente código de error por intentar crear 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 del cliente del Contrato de cliente de Microsoft:

  1. Recupere los metadatos del acuerdo para el Acuerdo de Cliente de Microsoft. Debe obtener el templateId del Contrato de cliente de Microsoft. Para obtener más información, consulte Obtener metadatos de contrato para el Contrato de cliente de Microsoft.

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

  3. Use la colección IAgreggatePartner.Customers y llame al métodoById con el customer-tenant-id especificado.

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

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

Solicitud REST

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

  1. Recupera los metadatos del Contrato de cliente de Microsoft. Debe 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. Use la siguiente sintaxis de solicitud REST .

Sintaxis de solicitud

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

Parámetro de URI

Utilice el siguiente parámetro de consulta para especificar el cliente que está confirmando.

Nombre Tipo Obligatorio Descripción
customer-tenant-id GUID El valor es un identificador con formato GUID customer-tenant-id, que es un identificador que 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 en el cuerpo de la solicitud REST.

Nombre Tipo Descripción
Acuerdo objeto Detalles proporcionados por el asociado para confirmar la aceptación del cliente del Contrato de cliente de Microsoft.

Acuerdo

En esta tabla se describen los campos mínimos necesarios para crear un recurso de acuerdo .

Propiedad Tipo Descripción
contacto principal contacto Información sobre el usuario de la organización del cliente que aceptó el Contrato de cliente de Microsoft, incluye: nombre, apellido, correo electrónicoy número de teléfono (opcional)
fechaAcordada cadena en formato de fecha y hora UTC Fecha en que el cliente aceptó el contrato.
ID de plantilla cuerda / cadena Identificador único del tipo de contrato aceptado por el cliente. Puede obtener el templateId para el Contrato de cliente de Microsoft recuperando los metadatos del contrato para el Contrato de cliente de Microsoft. Para obtener información, consulta Obtención de los metadatos del Contrato de cliente de Microsoft.
tipo cuerda / cadena Tipo de contrato aceptado por el cliente. Use "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: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}

Respuesta REST

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

Códigos de éxito y de error de respuesta

Cada respuesta incluye un código de estado HTTP que indica el éxito o error y la información adicional de depuración.

Use una herramienta de seguimiento de red para leer este código, tipo de error y 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: aaaa0000-bb11-2222-33cc-444444dddddd
{
    "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "primaryContact": {
        "firstName": "Tania",
        "lastName": "Carr",
        "email": "someone@example.com",
        "phoneNumber": "1234567890"
    },
    "templateId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
    "dateAgreed": "2018-06-14T00:00:00.000Z",
    "type": "MicrosoftCustomerAgreement"
}