Como revendedor, você pode associar metadados, como um número de telefone ou de pedido de compra, a cada dispositivo. É possível associar metadados chamando a API ou fazendo o upload de um arquivo CSV no portal sem toque. A tabela 1 mostra quem pode associar e visualizar metadados:
Tabela 1. Permissões de metadados
| Tarefa | Revendedores | Clientes |
|---|---|---|
| Associar metadados chamando a API | ||
| Associar metadados fazendo o upload de um arquivo CSV para o portal sem toque | ||
| Visualizar metadados do dispositivo nos resultados das chamadas de API | ||
| Visualizar metadados do dispositivo no portal sem toque |
Atribuir metadados
Para associar metadados a cada dispositivo, chame o
partners.devices.metadata método. Você pode adicionar números de telefone e de pedido aos seus dispositivos Android usando as chaves da tabela 2 abaixo:
Tabela 2. Chaves de metadados para dispositivos Android
| Dados | Chave | Tipo de valor | Exemplo |
|---|---|---|---|
| Número de telefone | phonenumber |
String | +1 (800) 555-0100 |
| Número do pedido | ordernumber |
String | GOOG#123/ABC-123456 |
Os dois valores de metadados são strings de formato livre. Portanto, você pode usar um formato que faça sentido para sua organização.
Para dispositivos ChromeOS, use as chaves da tabela 3 abaixo:
Tabela 3. Chaves de metadados para dispositivos ChromeOS
| Dados | Chave | Tipo de valor | Exemplo |
|---|---|---|---|
| Número do pedido | ordernumber |
String | GOOG#123/ABC-123456 |
| Código do recurso | annotatedassetid |
String | CORP-001234 |
| Local | annotatedlocation |
String | Nova York |
| Usuário atribuído | annotateduser |
String | John Doe |
Para atribuir metadados ao criar dispositivos, inclua os metadados ao chamar
claimAsync. O exemplo abaixo mostra como definir um número de telefone e um número de pedido para o dispositivo TARGET_DEVICE_ID:
Java
// Allowed metadata dictionary keys. private static String METADATA_KEY_PHONE_NUMBER = "phonenumber"; private static String METADATA_KEY_ORDER_NUMBER = "ordernumber"; // ... // Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata(); Map<String,String> entries = new HashMap<String, String>(); entries.put(METADATA_KEY_ORDER_NUMBER, "GOOG123/ABC-#123456"); entries.put(METADATA_KEY_PHONE_NUMBER, "+1 (800) 555-0100"); metadata.setEntries(entries); // Set the metadata values on the target device. UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest(); body.setDeviceMetadata(metadata); DeviceMetadata response = service .partners() .devices() .metadata(PARTNER_ID, targetDeviceId, body) .execute();
.NET
// Allowed metadata dictionary keys. private static string MetadataKeyPhoneNumber = "phonenumber"; private static string MetadataKeyOrderNumber = "ordernumber"; // ... // Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata { Entries = new Dictionary<string, string> { {MetadataKeyOrderNumber, "GOOG123/ABC-#123456"}, {MetadataKeyPhoneNumber, "+1 (800) 555-0100"} } }; // Set the metadata values on the target device. UpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest { DeviceMetadata = metadata }; var request = service.Partners.Devices.Metadata(body, PartnerId, targetDeviceId); var results = request.Execute();
Python
# Allowed metadata dictionary keys. METADATA_KEY_ENTRIES = "entries"; METADATA_KEY_PHONE_NUMBER = "phonenumber"; METADATA_KEY_ORDER_NUMBER = "ordernumber"; # ... # Create the record with values. new_metadata = {METADATA_KEY_ENTRIES:{ \ METADATA_KEY_PHONE_NUMBER:'+1 (800) 555-0100', \ METADATA_KEY_ORDER_NUMBER:'GOOG123/ABC-#123456'}} # Set the metadata values on the target device. response = service.partners().devices().metadata( metadataOwnerId=PARTNER_ID, deviceId=target_device_id, body={'deviceMetadata':new_metadata}).execute()
Os argumentos de metadados substituem os valores de metadados atuais da mesma chave.
Excluir metadados
Você pode excluir os metadados dos dispositivos. Transmita strings vazias para os valores de metadados que você quer excluir. O exemplo abaixo mostra como excluir o número de telefone:
Java
// Create the metadata record with the values. DeviceMetadata metadata = new DeviceMetadata(); Map<String,String> entries = new HashMap<String, String>(); entries.put(METADATA_KEY_PHONE_NUMBER, ""); metadata.setEntries(entries); // Call partners().devices().metadata() to remove the phone metadata from the device...
.NET
// Create the metadata record with empty values. DeviceMetadata metadata = new DeviceMetadata { Entries = new Dictionary<string, string> { {MetadataKeyPhoneNumber, ""} } }; // Call Partners.Devices.Metadata to remove the phone metadata from the device...
Python
# Create the metadata record with empty values. metadata_to_remove = {METADATA_KEY_ENTRIES: {METADATA_KEY_PHONE_NUMBER:''}} # Call partners().devices().metadata() to remove the phone number # metadata from the device...