Creación de un cliente para un revendedor indirecto mediante las API del Centro de partners
Se aplica a: Centro de partners
Un proveedor indirecto puede crear 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 solo con credenciales de aplicación y usuario.
Identificador de inquilino del revendedor indirecto.
El revendedor indirecto debe tener una asociación con el proveedor indirecto.
C#
Para agregar un nuevo cliente para un revendedor indirecto:
Cree una instancia de un nuevo objeto Customer y, a continuación, cree una instancia de BillingProfile y CompanyProfile. Asegúrese de asignar el identificador de revendedor indirecto a la propiedad AssociatedPartnerID.
Use la propiedad IAggregatePartner.Customers para obtener una interfaz para las operaciones de recopilación de clientes.
Llame al método Create o CreateAsync para crear el cliente.
Ejemplo de C#
// IAggregatePartner partnerOperations;
// var indirectResellerId;
var customerToCreate = new Customer()
{
CompanyProfile = new CustomerCompanyProfile()
{
Domain = string.Format(CultureInfo.InvariantCulture,
"WingtipToys{0}.{1}",
new Random().Next(),
this.Context.Configuration.Scenario.CustomerDomainSuffix)
},
BillingProfile = new CustomerBillingProfile()
{
Culture = "EN-US",
Email = "Gena@wingtiptoys.com",
Language = "En",
CompanyName = "Wingtip Toys",
DefaultAddress = new Address()
{
FirstName = "Gena",
LastName = "Soto",
AddressLine1 = "One Microsoft Way",
City = "Redmond",
State = "WA",
Country = "US",
PostalCode = "98052",
PhoneNumber = "4255550101"
}
},
AssociatedPartnerId = indirectResellerId
};
var newCustomer = partnerOperations.Customers.Create(customerToCreate);
Ejemplo: Aplicación de prueba de consola. Project: Clase de ejemplos del SDK del Centro de partners: CreateCustomerforIndirectReseller.cs
Solicitud REST
Sintaxis de la solicitud
Método | URI de solicitud |
---|---|
POST | {baseURL}/v1/customers HTTP/1.1 |
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.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
BillingProfile | objeto | Sí | Información del perfil de facturación del cliente. |
CompanyProfile | objeto | Sí | Información del perfil de la empresa del cliente. |
AssociatedPartnerId | string | Sí | Identificador de revendedor indirecto. El revendedor indirecto indicado por el identificador proporcionado aquí debe tener una asociación con el proveedor indirecto o se producirá un error en la solicitud. Tenga en cuenta también que si no se proporciona el valor AssociatedPartnerId, el cliente se crea como cliente directo del proveedor indirecto en lugar del revendedor indirecto. |
Dominio | Cadena | Sí | Nombre de dominio del cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Sí | 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), India, Brasil, Sudáfrica, Polonia, Emiratos Árabes Unidos, Arabia Saudita, Türkiye, Tailandia, Vietnam, Myanmar, Irak, Sudán del Sur y Venezuela. Para la empresa o organización del cliente ubicada en otros países o regiones, este es un campo opcional. |
Perfil de facturación
En esta tabla se describen los campos mínimos necesarios del recurso CustomerBillingProfile necesario para crear un nuevo cliente.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
Correo electrónico | string | Sí | La dirección de correo electrónico del cliente. |
culture | string | Sí | 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 | Sí | El idioma predeterminado. Se admiten dos códigos de idioma de caracteres (por ejemplo en o fr ). |
company_name | string | Sí | Nombre de la empresa o organización registrada. |
default_address | Dirección | Sí | 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 | Type | Obligatorio | Descripción |
---|---|---|---|
dominio | string | Sí | Nombre de dominio del cliente, como contoso.onmicrosoft.com. |
organizationRegistrationNumber | string | Depende de la condición | Número de registro de la organización del cliente (también denominado número de INN en determinados países o regiones). Completar este campo solo es necesario si la empresa o organización de un cliente se encuentra 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) -India -Brasil -Sudáfrica -Polonia - Emiratos Árabes Unidos -Arabia Saudí -Türkiye -Tailandia -Vietnam -Myanmar -Irak - Sudán del Sur -Venezuela - 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>
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Client: Partner Center .NET SDK
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 823
Expect: 100-continue
Connection: Keep-Alive
{
"enableGDAPByDefault": false,
"Id": null,
"CommerceId": null,
"CompanyProfile": {
"TenantId": null,
"Domain": "WingtipToys678152504.onmicrosoft.com",
"CompanyName": null,
"Attributes": {
"ObjectType": "CustomerCompanyProfile"
}
},
"BillingProfile": {
"Id": null,
"FirstName": null,
"LastName": null,
"Email": "Gena@wingtiptoys.com",
"Culture": "EN-US",
"Language": "En",
"CompanyName": "Wingtip Toys",
"DefaultAddress": {
"Country": "US",
"Region": null,
"City": "Redmond",
"State": "WA",
"AddressLine1": "One Microsoft Way",
"AddressLine2": null,
"PostalCode": "98052",
"FirstName": "Gena",
"LastName": "Soto",
"PhoneNumber": "4255550101"
},
"Attributes": {
"ObjectType": "CustomerBillingProfile"
}
},
"RelationshipToPartner": "none",
"AllowDelegatedAccess": null,
"UserCredentials": null,
"CustomDomains": null,
"AssociatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"Attributes": {
"ObjectType": "Customer"
}
}
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.
Respuesta REST
Si se ejecuta correctamente, la respuesta contiene un recurso Customer para el nuevo cliente.
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: 1085
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: d628adbe-b7ee-412e-ac55-58f22b4ba2f4
MS-CV: Yy/YaA0gYEmfQyR/.0
MS-ServerId: 030020525
Date: Tue, 06 Jun 2017 23:11:40 GMT
{
"enableGDAPByDefault": false,
"id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"commerceId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"companyProfile": {
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"domain": "WingtipToys678152504.onmicrosoft.com",
"companyName": "Wingtip Toys",
"links": {
"self": {
"uri": "/customers/aaaabbbb-0000-cccc-1111-dddd2222eeee/profiles/company",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "CustomerCompanyProfile"
}
},
"billingProfile": {
"id": "7079246e-7b62-56ef-7cbd-a819514b54b5",
"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": "4255550101"
},
"attributes": {
"etag": "-8799889149591823008",
"objectType": "CustomerBillingProfile"
}
},
"relationshipToPartner": "reseller",
"allowDelegatedAccess": true,
"userCredentials": {
"userName": "admin",
"password": "0Krha*Io"
},
"associatedPartnerId": "484e548c-f5f3-4528-93a9-c16c6373cb59",
"attributes": {
"objectType": "Customer"
}
}