Cargar una lista de dispositivos a un nuevo lote para el cliente especificado

Se aplica a: Centro de partners

Cómo cargar una lista de información sobre los dispositivos en un lote existente para el cliente especificado. Esto asocia los dispositivos a un lote de dispositivo ya creado.

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.

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

  • Identificador de lote del dispositivo.

  • Lista de recursos de dispositivo que proporcionan la información sobre los dispositivos individuales.

C#

Para cargar una lista de dispositivos en un lote de dispositivos existente, primero cree una instancia de un nuevo [List/dotnet/api/system.collections.generic.list-1) de tipo Device y rellene la lista con los dispositivos. Las siguientes combinaciones de propiedades rellenadas son necesarias como mínimo para identificar cada dispositivo:

A continuación, llame al método IAggregatePartner.Customers.ById con el identificador de cliente para recuperar una interfaz a las operaciones del cliente especificado. A continuación, llame al método DeviceBatches.ById con el identificador de lote del dispositivo para obtener una interfaz a las operaciones del lote especificado. Por último, llame al método Devices.Create o CreateAsync con la lista de dispositivos para agregar los dispositivos al lote de dispositivos.

IAggregatePartner partnerOperations;
string selectedCustomerId;
string selectedDeviceBatchId;

List<Device> devicesToBeUploaded = new List<Device>
{
    new Device
    {
        HardwareHash = "DummyHash1234",
        ProductKey = "00329-00000-0003-AA606",
        SerialNumber = "2R9-ZNP67"
    },

    new Device
    {
        HardwareHash = "DummyHash12345",
        ProductKey = "00329-00000-0003-AA606",
        SerialNumber = "2R9-ZNP67"
    }
};

var trackingLocation =
    partnerOperations.Customers.ById(selectedCustomerId).DeviceBatches.ById(selectedDeviceBatchId).Devices.Create(devicesToBeUploaded);

Ejemplo: Aplicación de prueba de consola. Project: Partner Center SDK Samples Class: CreateDevices.cs

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
POST {baseURL}/v1/customers/{customer-id}/deviceBatches/{devicebatch-id}/devices HTTP/1.1

Parámetro de URI

Use la siguiente ruta de acceso y parámetros de consulta al crear la solicitud.

Nombre Type Obligatorio Descripción
customer-id string Cadena con formato de GUID que identifica al cliente.
devicebatch-id string Identificador de cadena que identifica el lote del dispositivo.

Encabezados de solicitud

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

Cuerpo de la solicitud

El cuerpo de la solicitud debe contener una matriz de objetos Device . Se aceptan las siguientes combinaciones de campos para identificar un dispositivo:

  • hardwareHash + productKey.
  • hardwareHash + serialNumber.
  • hardwareHash + productKey + serialNumber.
  • hardwareHash solo.
  • productKey solo.
  • serialNumber + oemManufacturerName + modelName.

Ejemplo de solicitud

POST https://api.partnercenter.microsoft.com/v1/customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/deviceBatches/Test/devices HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: e286d69b-7f5f-4098-8999-21d3b54e4e47
MS-CorrelationId: 772871a9-399b-4f3b-b8c7-38f550e4f22a
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 482
Expect: 100-continue

[{
        "Id": null,
        "SerialNumber": "2R9-ZNP67",
        "ProductKey": "00329-00000-0003-AA606",
        "HardwareHash": "DummyHash1234",
        "Policies": null,
        "CreatedBy": null,
        "UploadedDate": "0001-01-01T00:00:00",
        "AllowedOperations": null,
        "Attributes": {
            "ObjectType": "Device"
        }
    }, {
        "Id": null,
        "SerialNumber": "2R9-ZNP67",
        "ProductKey": "00329-00000-0003-AA606",
        "HardwareHash": "DummyHash12345",
        "Policies": null,
        "CreatedBy": null,
        "UploadedDate": "0001-01-01T00:00:00",
        "AllowedOperations": null,
        "Attributes": {
            "ObjectType": "Device"
        }
    }
]

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 encabezado Location que tiene un URI que se puede usar para recuperar el estado de carga del dispositivo. Guarde este URI para usarlo con otras API REST relacionadas.

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 202 Accepted
Content-Length: 0
Location: /customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/batchJobStatus/16c00110-e79a-433d-aa28-f69dd60df671
MS-CorrelationId: 772871a9-399b-4f3b-b8c7-38f550e4f22a
MS-RequestId: e286d69b-7f5f-4098-8999-21d3b54e4e47
MS-CV: OBkGN9pSN0a5xvua.0
MS-ServerId: 101112012
Date: Thu, 28 Sep 2017 20:08:46 GMT