Atualizar uma lista de dispositivos com uma política

Aplica-se a: Partner Center

Como atualizar uma lista de dispositivos com uma política de configuração para o cliente especificado.

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 política.

  • Os identificadores de dispositivo dos dispositivos a serem atualizados.

C#

Para atualizar uma lista de dispositivos com a política de configuração especificada, primeiro, instancie uma [List/dotnet/api/system.collections.generic.list-1) do tipo [KeyValuePair/dotnet/api/system.collections.generic.keyvaluepair-2)(PolicyCategory,string) e adicione a política a ser aplicada, conforme mostrado no exemplo de código a seguir. Você precisará do identificador de política da política.

Em seguida, crie uma lista de objetos Device a serem atualizados com a política, especificando o identificador de dispositivo e a lista que contém a política a ser aplicada, para cada dispositivo. Em seguida, instancie um objeto DevicePolicyUpdateRequest e defina a propriedade Devices como a lista de objetos de dispositivo.

Para processar a solicitação de atualização de política de dispositivo, chame o método IAggregatePartner.Customers.ById com o identificador de cliente para recuperar uma interface para operações no cliente especificado. Em seguida, recupere a propriedade DevicePolicy para obter uma interface para operações de coleta de dispositivos do cliente. Finalmente, chame o método Update com o objeto DevicePolicyUpdateRequest para atualizar os dispositivos com a política.

IAggregatePartner partnerOperations;
string selectedCustomerId;
string selectedConfigurationPolicyId;
string selectedDeviceId;

// Indicate the policy to apply to the list of devices.
List<KeyValuePair<PolicyCategory, string>>
    policyToBeAdded = new List<KeyValuePair<PolicyCategory, string>>
{
    new KeyValuePair<PolicyCategory, string>
        (PolicyCategory.OOBE, selectedConfigurationPolicyId)
};

// Create a list of devices to be updated with a policy.
List<Device> devices = new List<Device>
{
    new Device
    {
        Id = selectedDeviceId,
        Policies=policyToBeAdded
    }
};

// Instantiate a DevicePolicyUpdateRequest object.
DevicePolicyUpdateRequest
    devicePolicyUpdateRequest = new DevicePolicyUpdateRequest
{
    Devices = devices
};

// Process the DevicePolicyUpdateRequest.
var trackingLocation =
    partnerOperations.Customers.ById(selectedCustomerId).DevicePolicy.Update(devicePolicyUpdateRequest);

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

Solicitação REST

Sintaxe da solicitação

Método URI da solicitação
PATCH {baseURL}/v1/customers/{customer-id}/DevicePolicyUpdates HTTP/1.1

Parâmetro do URI

Use os seguintes parâmetros de caminho 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.

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 um recurso DevicePolicyUpdateRequest .

Exemplo de solicitação

PATCH https://api.partnercenter.microsoft.com/v1/customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/DevicePolicyUpdates HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1b658428-5afa-46d4-af86-c9c6af5634e2
MS-CorrelationId: 49b1e7b2-82e7-4403-b63b-8765269b448d
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 363
Expect: 100-continue
Connection: Keep-Alive

{
    "Devices": [{
            "Id": "9993-8627-3608-6844-6369-4361-72",
            "SerialNumber": null,
            "ProductKey": null,
            "HardwareHash": null,
            "Policies": [{
                    "Key": "o_o_b_e",
                    "Value": "15a04610-9229-4e80-94e0-0e826a09c9e2"
                }
            ],
            "CreatedBy": null,
            "UploadedDate": "0001-01-01T00:00:00",
            "AllowedOperations": null,
            "Attributes": {
                "ObjectType": "Device"
            }
        }
    ],
    "Attributes": {
        "ObjectType": "DevicePolicyUpdateRequest"
    }
}

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 bem-sucedida, a resposta conterá um cabeçalho Location que tem um URI que pode ser usado para recuperar o status desse processo em lote. 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/a15f3996-620a-4404-9f1f-4c2de78de0de
MS-CorrelationId: 49b1e7b2-82e7-4403-b63b-8765269b448d
MS-RequestId: 1b658428-5afa-46d4-af86-c9c6af5634e2
MS-CV: rCXyd8Z/lUSxUd0P.0
MS-ServerId: 020021921
Date: Thu, 28 Sep 2017 21:33:05 GMT