Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
In qualità di rivenditore puoi associare metadati, come un numero di telefono o un
di acquisto, con ciascun dispositivo. Puoi associare i metadati chiamando
l'API o caricando un file CSV
nel portale della registrazione zero-touch. La tabella 1 mostra chi può associare e visualizzare i metadati:
Tabella 1. Autorizzazioni dei metadati
Attività
Rivenditori
Clienti
Associa i metadati chiamando l'API
Associa i metadati caricando un file CSV nel portale della registrazione zero-touch
Visualizzare i metadati del dispositivo nei risultati delle chiamate API
Visualizza i metadati del dispositivo nel portale zero-touch
Assegna metadati
Per associare i metadati a ogni dispositivo, chiama il metodo
partners.devices.metadata. Puoi aggiungere
i numeri di telefono e d'ordine dei dispositivi Android usando i tasti della tabella 2
sotto:
Tabella 2. Chiavi dei metadati per dispositivi Android
Dati
Chiave
Tipo di valore
Esempio
Numero di telefono
phonenumber
Stringa
+39 06 076 7180
Numero ordine
ordernumber
Stringa
GOOG#123/ABC-123456
Entrambi i valori dei metadati sono stringhe in formato libero, quindi puoi utilizzare un formato che rende
per la tua organizzazione.
Per i dispositivi ChromeOS, puoi utilizzare i tasti della tabella 3 riportata di seguito:
Tabella 3. Chiavi dei metadati per i dispositivi ChromeOS
Dati
Chiave
Tipo di valore
Esempio
Numero ordine
ordernumber
Stringa
GOOG#123/ABC-123456
Per assegnare metadati durante la creazione dei dispositivi, includi i metadati durante le chiamate
claimAsync L'esempio seguente mostra l'impostazione di un
numero di telefono e numero d'ordine del dispositivo esistente TARGET_DEVICE_ID:
Java
// Allowed metadata dictionary keys.privatestaticStringMETADATA_KEY_PHONE_NUMBER="phonenumber";privatestaticStringMETADATA_KEY_ORDER_NUMBER="ordernumber";// ...// Create the metadata record with the values.DeviceMetadatametadata=newDeviceMetadata();Map<String,String>entries=newHashMap<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.UpdateDeviceMetadataRequestbody=newUpdateDeviceMetadataRequest();body.setDeviceMetadata(metadata);DeviceMetadataresponse=service.partners().devices().metadata(PARTNER_ID,targetDeviceId,body).execute();
.NET
// Allowed metadata dictionary keys.privatestaticstringMetadataKeyPhoneNumber="phonenumber";privatestaticstringMetadataKeyOrderNumber="ordernumber";// ...// Create the metadata record with the values.DeviceMetadatametadata=newDeviceMetadata{Entries=newDictionary<string,string>{{MetadataKeyOrderNumber,"GOOG123/ABC-#123456"},{MetadataKeyPhoneNumber,"+1 (800) 555-0100"}}};// Set the metadata values on the target device.UpdateDeviceMetadataRequestbody=newUpdateDeviceMetadataRequest{DeviceMetadata=metadata};varrequest=service.Partners.Devices.Metadata(body,PartnerId,targetDeviceId);varresults=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()
Gli argomenti dei metadati sostituiscono i valori dei metadati esistenti per la stessa chiave.
Elimina metadati
Puoi eliminare i metadati dai dispositivi. Trasmetti stringhe vuote per i metadati
i valori da eliminare. L'esempio seguente mostra come eliminare il telefono
numero:
Java
// Create the metadata record with the values.DeviceMetadatametadata=newDeviceMetadata();Map<String,String>entries=newHashMap<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.DeviceMetadatametadata=newDeviceMetadata{Entries=newDictionary<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...
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-25 UTC."],[[["\u003cp\u003eResellers can associate metadata, such as telephone and order numbers, with each device through the API or by uploading a CSV file in the zero-touch portal.\u003c/p\u003e\n"],["\u003cp\u003eMetadata can be assigned to Android devices using \u003ccode\u003ephonenumber\u003c/code\u003e and \u003ccode\u003eordernumber\u003c/code\u003e keys, while ChromeOS devices only use the \u003ccode\u003eordernumber\u003c/code\u003e key.\u003c/p\u003e\n"],["\u003cp\u003eBoth resellers and customers can view device metadata, but only resellers can associate metadata.\u003c/p\u003e\n"],["\u003cp\u003eYou can assign metadata to devices by using the \u003ccode\u003epartners.devices.metadata\u003c/code\u003e method or when creating devices with \u003ccode\u003eclaimAsync\u003c/code\u003e, including the metadata in the request.\u003c/p\u003e\n"],["\u003cp\u003eMetadata values for a specific key can be updated by providing new values, or deleted by providing an empty string for that metadata key.\u003c/p\u003e\n"]]],["Resellers can associate metadata, like telephone or order numbers, with devices via API calls or CSV uploads. This metadata can be viewed by resellers and customers. For Android, keys `phonenumber` and `ordernumber` are used; for ChromeOS, only `ordernumber` is available. Metadata is assigned using the `partners.devices.metadata` method, including it in `claimAsync`, or setting values via an API call. To delete metadata, empty string values should be passed for the target keys.\n"],null,["# Device metadata\n\nAs a reseller you can associate metadata, such as a telephone number or a\npurchase order number, with each device. You can associate metadata by calling\nthe API or by [uploading a CSV file](/zero-touch/guides/portal#devices-import)\nin the zero-touch portal. Table 1 shows who can associate and view metadata:\n\n**Table 1**. Metadata permissions\n\n| Task | Resellers | Customers |\n|---------------------------------------------------------------------|-----------|-----------|\n| Associate metadata by calling the API | | |\n| Associate metadata by uploading a CSV file to the zero-touch portal | | |\n| View device metadata in the results of API calls | | |\n| View device metadata in the zero-touch portal | | |\n\nAssign metadata\n---------------\n\nTo associate metadata with each device, call the\n[`partners.devices.metadata`](/zero-touch/reference/reseller/rest/v1/partners.devices/metadata) method. You can add\ntelephone and order numbers for your Android devices using keys from the table 2\nbelow:\n\n**Table 2**. Metadata keys for Android devices\n\n| Data | Key | Value type | Example |\n|------------------|---------------|------------|-----------------------|\n| Telephone number | `phonenumber` | String | *+1 (800) 555-0100* |\n| Order number | `ordernumber` | String | *GOOG#123/ABC-123456* |\n\nBoth metadata values are free-form strings, so you can use a format that makes\nsense for your organization.\n\nFor ChromeOS devices, you can use the keys from table 3 below:\n\n**Table 3**. Metadata keys for ChromeOS devices\n\n| Data | Key | Value type | Example |\n|--------------|---------------|------------|-----------------------|\n| Order number | `ordernumber` | String | *GOOG#123/ABC-123456* |\n\nTo assign metadata as you create devices, include the metadata when calling\n[`claimAsync`](/zero-touch/reference/reseller/rest/v1/partners.devices/claimAsync). The example below shows setting a\ntelephone number and order number for the existing device `TARGET_DEVICE_ID`: \n\n### Java\n\n```java\n// Allowed metadata dictionary keys.\nprivate static String METADATA_KEY_PHONE_NUMBER = \"phonenumber\";\nprivate static String METADATA_KEY_ORDER_NUMBER = \"ordernumber\";\n\n// ...\n// Create the metadata record with the values.\nDeviceMetadata metadata = new DeviceMetadata();\nMap\u003cString,String\u003e entries = new HashMap\u003cString, String\u003e();\nentries.put(METADATA_KEY_ORDER_NUMBER, \"GOOG123/ABC-#123456\");\nentries.put(METADATA_KEY_PHONE_NUMBER, \"+1 (800) 555-0100\");\nmetadata.setEntries(entries);\n\n// Set the metadata values on the target device.\nUpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest();\nbody.setDeviceMetadata(metadata);\n\nDeviceMetadata response = service\n .partners()\n .devices()\n .metadata(PARTNER_ID, targetDeviceId, body)\n .execute();\n```\n\n### .NET\n\n```c#\n// Allowed metadata dictionary keys.\nprivate static string MetadataKeyPhoneNumber = \"phonenumber\";\nprivate static string MetadataKeyOrderNumber = \"ordernumber\";\n\n// ...\n// Create the metadata record with the values.\nDeviceMetadata metadata = new DeviceMetadata\n{\n Entries = new Dictionary\u003cstring, string\u003e {\n {MetadataKeyOrderNumber, \"GOOG123/ABC-#123456\"},\n {MetadataKeyPhoneNumber, \"+1 (800) 555-0100\"}\n }\n};\n\n// Set the metadata values on the target device.\nUpdateDeviceMetadataRequest body = new UpdateDeviceMetadataRequest\n{\n DeviceMetadata = metadata\n};\nvar request = service.Partners.Devices.Metadata(body, PartnerId, targetDeviceId);\nvar results = request.Execute();\n```\n\n### Python\n\n```python\n# Allowed metadata dictionary keys.\nMETADATA_KEY_ENTRIES = \"entries\";\nMETADATA_KEY_PHONE_NUMBER = \"phonenumber\";\nMETADATA_KEY_ORDER_NUMBER = \"ordernumber\";\n\n# ...\n# Create the record with values.\nnew_metadata = {METADATA_KEY_ENTRIES:{ \\\n METADATA_KEY_PHONE_NUMBER:'+1 (800) 555-0100', \\\n METADATA_KEY_ORDER_NUMBER:'GOOG123/ABC-#123456'}}\n\n# Set the metadata values on the target device.\nresponse = service.partners().devices().metadata(\n metadataOwnerId=PARTNER_ID,\n deviceId=target_device_id,\n body={'deviceMetadata':new_metadata}).execute()\n```\n\nYour metadata arguments replace existing metadata values for the same key.\n\nDelete metadata\n---------------\n\nYou can delete your metadata from devices. Pass empty strings for metadata\nvalues you want to delete. The example below shows how to delete the telephone\nnumber: \n\n### Java\n\n```java\n// Create the metadata record with the values.\nDeviceMetadata metadata = new DeviceMetadata();\nMap\u003cString,String\u003e entries = new HashMap\u003cString, String\u003e();\nentries.put(METADATA_KEY_PHONE_NUMBER, \"\");\nmetadata.setEntries(entries);\n\n// Call partners().devices().metadata() to remove the phone metadata from the device...\n```\n\n### .NET\n\n```c#\n// Create the metadata record with empty values.\nDeviceMetadata metadata = new DeviceMetadata\n{\n Entries = new Dictionary\u003cstring, string\u003e {\n {MetadataKeyPhoneNumber, \"\"}\n }\n};\n\n// Call Partners.Devices.Metadata to remove the phone metadata from the device...\n```\n\n### Python\n\n```python\n# Create the metadata record with empty values.\nmetadata_to_remove = {METADATA_KEY_ENTRIES: {METADATA_KEY_PHONE_NUMBER:''}}\n\n# Call partners().devices().metadata() to remove the phone number\n# metadata from the device...\n```"]]