Получение списка устройств для существующего пакета для указанного клиента
Область применения: Центр партнеров
Отправка списка сведений об устройствах в существующий пакет для указанного клиента. Это связывает устройства с уже созданным пакетом устройств.
Необходимые компоненты
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочую область "Клиенты" , затем клиент из списка клиентов, а затем учетная запись. На странице "Учетная запись клиента" найдите идентификатор Майкрософт в разделе "Сведения о учетной записи клиента". Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).Идентификатор пакета устройства.
Список ресурсов устройств, которые предоставляют сведения об отдельных устройствах.
C#
Чтобы отправить список устройств в существующий пакет устройства, сначала создайте экземпляр нового экземпляра [List/dotnet/api/system.collections.generic.list-1) типа Device и заполните список устройства устройствами. Для идентификации каждого устройства требуются следующие сочетания заполненных свойств:
HardwareHash + ProductKey.
HardwareHash + SerialNumber.
HardwareHash + ProductKey + SerialNumber.
Затем вызовите метод IAggregatePartner.Customers.ById с идентификатором клиента, чтобы получить интерфейс для операций с указанным клиентом. Затем вызовите метод DeviceBatches.ById с идентификатором пакета устройства, чтобы получить интерфейс для операций для указанного пакета. Наконец, вызовите метод Devices.Create или CreateAsync со списком устройств, чтобы добавить устройства в пакет устройства.
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);
Пример: тестовое приложение консоли. Проект: класс примеров пакета SDK Центра партнеров: CreateDevices.cs
Запрос REST
Синтаксис запроса
Способ | URI запроса |
---|---|
POST | {baseURL}/v1/customers/{customer-id}/deviceBatches/{devicebatch-id}/devices HTTP/1.1 |
Параметр универсального кода ресурса
При создании запроса используйте следующие пути и параметры запроса.
Имя. | Type | Обязательно | Описание |
---|---|---|---|
customer-id | строка | Да | Строка в формате GUID, определяющая клиент. |
devicebatch-id | строка | Да | Строковый идентификатор, определяющий пакет устройства. |
Заголовки запросов
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
Текст запроса должен содержать массив объектов Device . Принимаются следующие сочетания полей для идентификации устройства:
- hardwareHash + productKey.
- hardwareHash + serialNumber.
- hardwareHash + productKey + serialNumber.
- только оборудованиеHash.
- только productKey.
- serialNumber + oemManufacturerName + modelName.
Пример запроса
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: aaaa0000-bb11-2222-33cc-444444dddddd
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"
}
}
]
Внимание
По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать выпуск пакета SDK из GitHub вместе с файлом чтения, содержащим полезные сведения.
Партнерам рекомендуется продолжать использовать REST API Центра партнеров.
Ответ REST
В случае успешного выполнения ответ содержит заголовок location, имеющий универсальный код ресурса (URI), который можно использовать для получения состояния отправки устройства. Сохраните этот универсальный код ресурса (URI) для использования с другими связанными REST API.
Коды успешного выполнения и ошибок в ответе
Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. Полный список ответов есть в статье Коды ошибок REST в Центре партнеров.
Пример ответа
HTTP/1.1 202 Accepted
Content-Length: 0
Location: /customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/batchJobStatus/16c00110-e79a-433d-aa28-f69dd60df671
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: e286d69b-7f5f-4098-8999-21d3b54e4e47
MS-CV: OBkGN9pSN0a5xvua.0
MS-ServerId: 101112012
Date: Thu, 28 Sep 2017 20:08:46 GMT