Carregar uma lista de dispositivos em um lote existente para o cliente especificadoUpload a list of devices to an existing batch for the specified customer

Aplica-se aApplies To

  • Partner CenterPartner Center
  • Partner Center do Microsoft Cloud GermanyPartner Center for Microsoft Cloud Germany

Como carregar uma lista de informações sobre dispositivos em um lote existente para o cliente especificado.How to upload a list of information about devices to an existing batch for the specified customer. Isso associa os dispositivos a um lote de dispositivo já criado.This associates the devices with a device batch already created.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Esse cenário dá suporte à autenticação com aplicativos autônomos e aplicativos + credenciais de usuário.This scenario supports authentication with both standalone App and App+User credentials.

  • Uma ID do cliente (customer-tenant-id).A customer ID (customer-tenant-id). Se você não souber a ID do cliente, poderá procurar no painel do Partner Center.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecione CSP no menu do Partner Center e, em seguida, Clientes.Select CSP from the Partner Center menu, followed by Customers. Selecione o cliente na lista de clientes e selecione Conta.Select the customer from the customer list, then select Account. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • O identificador de lote do dispositivo.The device batch identifier.

  • A lista de recursos do dispositivo que fornecem as informações sobre os dispositivos individuais.The list of device resources that provide the information about the individual devices.

C#C#

Para carregar uma lista de dispositivos em um lote de dispositivos existente, primeiro crie uma instância de um novo [list/dotnet/API/System. Collections. Generic. list-1) do tipo dispositivo e preencha a lista com os dispositivos.To upload a list of devices to an existing device batch, first, instantiate a new [List/dotnet/api/system.collections.generic.list-1) of type Device and populate the list with the devices. As seguintes combinações de propriedades populadas são necessárias no mínimo para identificar cada dispositivo:The following combinations of populated properties are required at a minimum for identifying each device:

Em seguida, chame o método IAggregatePartner. Customers. ById com o identificador Customer para recuperar uma interface para operações no cliente especificado.Then, call the IAggregatePartner.Customers.ById method with the customer identifier to retrieve an interface to operations on the specified customer. Em seguida, chame o método DeviceBatches. ById com o identificador de lote do dispositivo para obter uma interface para as operações do lote especificado.Next, call the DeviceBatches.ById method with the device batch identifier to get an interface to operations for the specified batch. Finalmente, chame o método Devices. Create ou createasync com a lista de dispositivos para adicionar os dispositivos ao lote do dispositivo.Finally, call the Devices.Create or CreateAsync method with the list of devices to add the devices to the device batch.

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);

Exemplo: aplicativo de teste do console.Sample: Console test app. Projeto: classede exemplos do SDK do Partner Center: CreateDevices.csProject: Partner Center SDK Samples Class: CreateDevices.cs

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
POSTPOST {baseURL}/v1/Customers/{Customer-ID}/deviceBatches/{devicebatch-ID}/Devices http/1.1{baseURL}/v1/customers/{customer-id}/deviceBatches/{devicebatch-id}/devices HTTP/1.1

Parâmetro do URIURI parameter

Use o caminho e os parâmetros de consulta a seguir ao criar a solicitação.Use the following path and query parameters when creating the request.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
id do clientecustomer-id stringstring SimYes Uma cadeia com formato de GUID que identifica o cliente.A GUID-formatted string that identifies the customer.
devicebatch-IDdevicebatch-id stringstring SimYes Um identificador de cadeia de caracteres que identifica o lote do dispositivo.A string identifier that identifies the device batch.

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

O corpo da solicitação deve conter uma matriz de objetos de dispositivo .The request body must contain an array of Device objects. As seguintes combinações de campos para identificar um dispositivo são aceitas:The following combinations of fields for identifying a device are accepted:

  • hardwareHash + productKey.hardwareHash + productKey.
  • hardwareHash + serialNumber.hardwareHash + serialNumber.
  • hardwareHash + productKey + serialNumber.hardwareHash + productKey + serialNumber.
  • somente hardwareHash.hardwareHash only.
  • apenas productKey.productKey only.
  • serialNumber + oemManufacturerName + ModelName.serialNumber + oemManufacturerName + modelName.

Exemplo de solicitaçãoRequest example

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

Resposta RESTREST response

Se for bem-sucedida, a resposta conterá um cabeçalho de local que tem um URI que pode ser usado para recuperar o status de carregamento do dispositivo.If successful, the response contains a Location header that has a URI that can be used to retrieve device upload status. Salve esse URI para uso com outras APIs REST relacionadas.Save this URI for use with other related REST APIs.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, confira Códigos de erro REST do Partner Center.For the full list, see Partner Center REST error codes.

Exemplo de respostaResponse example

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