Crear un cliente

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

Como asociado de Proveedor de soluciones en la nube (CSP), al crear un cliente, puede realizar pedidos en nombre del cliente. Cuando crea un cliente, también crea:

  • Objeto de inquilino de Microsoft Entra para el cliente
  • Relación entre el revendedor y el cliente (se usa para privilegios de administrador delegados)
  • Un nombre de usuario y una contraseña para iniciar sesión como administrador para el cliente

Una vez creado el cliente, guarde el identificador de cliente y los detalles del id. de Microsoft Entra.

Importante

Si es un proveedor indirecto y desea crear un cliente para un revendedor indirecto, consulte Creación de un cliente para un revendedor indirecto.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

Importante

Para crear un inquilino de cliente, debe proporcionar una dirección física válida durante el proceso de creación. Una dirección se puede validar siguiendo los pasos descritos en el escenario Validar una dirección . Si crea un cliente con una dirección no válida en el entorno de espacio aislado, no podrá eliminar ese inquilino de cliente.

Importante

Si no se acepta pasar la contraseña userCredentials.

C#

Para agregar un cliente:

  1. Cree instancias de un nuevo objeto Cliente. Asegúrese de rellenar BillingProfile y CompanyProfile.

  2. Agregue el nuevo cliente a la colección IAggregatePartner.Customers llamando a Create o CreateAsync.

Ejemplo de C#

// IAggregatePartner partnerOperations;

var partnerOperations = this.Context.UserPartnerOperations;

var customerToCreate = new Customer()
{
    CompanyProfile = new CustomerCompanyProfile()
    {
        Domain = string.Format(CultureInfo.InvariantCulture,
            "SampleApplication{0}.{1}",
            new Random().Next(),
            this.Context.Configuration.Scenario.CustomerDomainSuffix),
        //// OrganizationRegistrationNumber = "123456" // Please add if in specific country/region that requires
    },
    BillingProfile = new CustomerBillingProfile()
    {
        Culture = "EN-US",
        Email = "gena@wingtiptoys.com",
        Language = "En",
        CompanyName = "Wingtip Toys"
        DefaultAddress = new Address()
        {
            FirstName = "Gena",
            MiddleName = "Coralie",
            LastName = "Soto",
            AddressLine1 = "One Microsoft Way",
            City = "Redmond",
            State = "WA",
            Country = "US",
            PostalCode = "98052",
            PhoneNumber = ""
        }
    }
};

var newCustomer = partnerOperations.Customers.Create(customerToCreate);

Aplicación de ejemplo de C#

REST

Sintaxis de la solicitud

Método URI de solicitud
POST {baseURL}/v1/customers HTTP/1.1

Encabezados de solicitud

  • Esta API es idempotente (no producirá un resultado diferente si lo llama varias veces).

  • Se requiere un identificador de solicitud y un identificador de correlación.

  • 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.

Nombre Escribir Descripción
BillingProfile objeto Información del perfil de facturación del cliente.
CompanyProfile objeto Información del perfil de la empresa del cliente.

Perfil de facturación

En esta tabla se describen los campos mínimos necesarios del recurso CustomerBillingProfile necesario para crear un nuevo cliente.

Nombre Escribir Descripción
Correo electrónico string La dirección de correo electrónico del cliente.
culture string Su referencia cultural preferida para la comunicación y moneda, como en-US. Consulte Idiomas y configuraciones regionales admitidos del Centro de partners para conocer las referencias culturales admitidas.
language string El idioma predeterminado. Se admiten dos códigos de idioma de caracteres (por ejemplo en o fr).
companyName string Nombre de la empresa o organización registrada.
defaultAddress Dirección Dirección registrada de la empresa o organización del cliente. Consulte el recurso Address para obtener información sobre las limitaciones de longitud.

Perfil de empresa

En esta tabla se describen los campos mínimos necesarios del recurso CustomerCompanyProfile necesario para crear un nuevo cliente.

Nombre Escribir Descripción
dominio string Nombre de dominio del cliente, como contoso.onmicrosoft.com.
organizationRegistrationNumber Cadena Número de registro de la organización del cliente (también denominado número de INN en determinados países o regiones). Solo es necesario para la empresa o organización del cliente ubicada en los siguientes países o regiones: Armenia(AM), Azerbaiyán(AZ), Bielorrusia(BY), Hungría(HU), Kazajstán(KZ), Kirguisa(KG), Moldova(MD), Rusia(RU), Tayikistán(TJ), Uzbekistán(UZ), Ucrania(UA), Brasil(BR), India, Sudáfrica, Polonia, Emiratos Árabes Unidos, Arabia Saudita, Türkiye, Tailandia, Vietnam, Myanmar, Irak, Sudán del Sur, Venezuela y China. Para la empresa o organización del cliente ubicada en otros países o regiones, se trata de un campo opcional.

GDAP de forma predeterminada

Nombre Escribir Descripción
enableGDAPByDefault bool Boolean para indicar si queremos habilitar GDAP de forma predeterminada o no. Si es true, crearemos GDAP de forma predeterminada. Si es false, no crearemos GDAP. Tenga en cuenta que esto solo se respeta en nubes que admiten GDAP. Si no se admite, DAP se creará de forma predeterminada.

Ejemplo de solicitud

POST https://api.partnercenter.microsoft.com/v1/customers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 789
Expect: 100-continue
Connection: Keep-Alive

{
    "enableGDAPByDefault": false,
    "CompanyProfile": {
        "Domain": "xyz.onmicrosoft.com"
    },
    "BillingProfile": {
        "Culture": "EN-US",
        "Email": "gena@wingtiptoys.com",
        "Language": "en",
        "CompanyName": "Wingtip Toys",
        "DefaultAddress": {
            "FirstName": "Gena",
            "LastName": "Soto",
            "AddressLine1": "One Microsoft Way",
            "City": "Redmond",
            "State": "WA",
            "PostalCode": "98052",
            "Country": "US"
        }
    }
}

Respuesta REST

Si se ejecuta correctamente, esta API devuelve un recurso customer para el nuevo cliente. Guarde el identificador de cliente y los detalles del id. de Microsoft Entra para su uso futuro con el SDK del Centro de partners. Los necesitará para usarlos con la administración de cuentas, por ejemplo.

Códigos de error y de respuesta correctos

Las respuestas incluyen 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, 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: 834
Content-Type: application/json; charset=utf-8
MS-CorrelationId: ab993325-1605-4cf4-bac4-fb584142a31b
MS-RequestId: 94e4e214-6b06-4fb7-96d1-94d559f9b47f
MS-CV: ObwhuhD2tUKJoM+Z.0
MS-ServerId: 202010223
Date: Tue, 14 Feb 2017 20:06:02 GMT

{
    "id": "dfd8cc0a-c592-468c-8461-869a38d24738",
    "commerceId": "0a4ce58a-6f96-4273-8035-d9c7d31b9ba4",
    "companyProfile": {
        "tenantId": "dfd8cc0a-c592-468c-8461-869a38d24738",
        "domain": "xyz.onmicrosoft.com",
        "attributes": {
            "objectType": "CustomerCompanyProfile"
        }
    },
    "billingProfile": {
        "id": "d17c0275-da92-5c33-9032-782ef1d0b69b",
        "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": ""
        },
        "attributes": {
            "etag": "5920358838484612121",
            "objectType": "CustomerBillingProfile"
        }
    },
    "enableGDAPByDefault": false,
    "relationshipToPartner": "none",
    "userCredentials": {
        "userName": "admin",
        "password": "=;;n.=s9Z"
    },
    "attributes": {
        "objectType": "Customer"
    }
}

Java

Nota:

El SDK del Centro de partners para Java es un proyecto de código abierto mantenido por la comunidad de partners.

Siga estos pasos para crear un nuevo cliente.

  1. Cree una nueva instancia de los objetos CustomerBillingProfile y CustomerCompanyProfile . Asegúrese de rellenar los campos obligatorios.
  2. Cree el cliente llamando a la función IAggregatePartner.getCustomers().create .

Ejemplo de Java

// IAggregatePartner partnerOperations;

Address address = new Address();

address.setFirstName( "Gena" );
address.setLastName( "Soto" );
address.setAddressLine1( "One Microsoft Way" );
address.setCity( "Redmond" );
address.setState( "WA" );
address.setCountry( "US" );
address.setPostalCode( "98052" );
address.setPhoneNumber( "4255550101" );

CustomerBillingProfile billingProfile = new CustomerBillingProfile();

billingProfile.setCulture( "en-US" );
billingProfile.setEmail( "gena@wingtiptoys.com" );
billingProfile.setLanguage( "en" );
billingProfile.setCompanyName( "Wingtip Toys" );
billingProfile.setDefaultAddress( address );

CustomerCompanyProfile companyProfile = new CustomerCompanyProfile();

companyProfile.setDomain( "WingtipToys" + Math.abs( new Random().nextInt() ) + ".onmicrosoft.com" );

Customer customerToCreate = new Customer();

customerToCreate.setBillingProfile( billingProfile );
customerToCreate.setCompanyProfile( companyProfile );

Customer newCustomer = partnerOperations.getCustomers().create( customerToCreate );

PowerShell

Nota:

El SDK del Centro de partners para PowerShell es un proyecto de código abierto mantenido por la comunidad de partners.

Para crear un cliente, ejecute el comando New-PartnerCustomer como en el ejemplo siguiente.

New-PartnerCustomer -BillingAddressLine1 '1 Microsoft Way' -BillingAddressCity 'Redmond' -BillingAddressCountry 'US' -BillingAddressPostalCode '98052' -BillingAddressState 'WA' -ContactEmail 'gena@wingtiptoys.com' -ContactFirstName 'Gena' -ContactLastName 'Soto' -Culture 'en-US' -Domain 'newcustomer.onmicrosoft.com' -Language 'en' -Name 'New Customer'