Carregar uma lista de dispositivos em um lote existente para o cliente especificado

Aplica-se a: Partner Center

Como carregar uma lista de informações sobre dispositivos em um lote existente para o cliente especificado. Isso associa os dispositivos a um lote de dispositivos já criado.

Pré-requisitos

  • Credenciais, conforme descrito em Autenticação do Partner Center. Esse cenário oferece suporte à autenticação com credenciais autônomas de Aplicativo e Aplicativo+Usuário.

  • Uma ID do cliente (customer-tenant-id). Se você não souber a ID do cliente, poderá procurá-la no Partner Center selecionando o espaço de trabalho Clientes, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).

  • O identificador de lote do dispositivo.

  • A lista de recursos de dispositivo que fornecem as informações sobre os dispositivos individuais.

C#

Para carregar uma lista de dispositivos em um lote de dispositivos existente, primeiro instancie um novo [List/dotnet/api/system.collections.generic.list-1) do tipo Device e preencha a lista com os dispositivos. As seguintes combinações de propriedades preenchidas são necessárias, no mínimo, para identificar cada dispositivo:

Em seguida, chame o método IAggregatePartner.Customers.ById com o identificador do cliente para recuperar uma interface para operações no cliente especificado. Em seguida, chame o método DeviceBatches.ById com o identificador de lote do dispositivo para obter uma interface para operações para o lote especificado. Finalmente, chame o método Devices.Create ou CreateAsync com a lista de dispositivos para adicionar os dispositivos ao 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);

Exemplo: Aplicativo de teste de console. Projeto: Exemplos de SDK do Partner Center Classe: CreateDevices.cs

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
POST {baseURL}/v1/customers/{customer-id}/deviceBatches/{devicebatch-id}/devices HTTP/1.1

Parâmetro do URI

Use o seguinte caminho e parâmetros de consulta ao criar a solicitação.

Nome Digitar Obrigatória Descrição
id do cliente string Sim Uma cadeia com formato de GUID que identifica o cliente.
devicebatch-id string Sim Um identificador de cadeia de caracteres que identifica o lote do dispositivo.

Cabeçalhos da solicitação

Para obter mais informações, confira Cabeçalhos REST do Partner Center.

Corpo da solicitação

O corpo da solicitação deve conter uma matriz de objetos Device. As seguintes combinações de campos para identificar um dispositivo são aceitas:

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

Exemplo de solicitação

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 junho de 2023, a versão 3.4.0 mais recente do SDK do Partner Center .NET foi arquivada. Você pode baixar a versão do SDK no GitHub, juntamente com um arquivo leiame que contém informações úteis.

Os parceiros são incentivados a continuar a usar as APIs REST do Partner Center.

Resposta REST

Se for bem-sucedida, a resposta conterá um cabeçalho Location que tem um URI que pode ser usado para recuperar o status de carregamento do dispositivo. Salve esse URI para uso com outras APIs REST relacionadas.

Códigos de êxito e de erro de resposta

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais. Para obter a lista completa, confira Códigos de erro REST do Partner Center.

Exemplo de resposta

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