Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Como revendedor, puedes asociar metadatos, como un número de teléfono o una
número de orden de compra de cada dispositivo. Puedes asociar metadatos llamando
la API o subiendo un archivo CSV
en el portal de inscripción automática. En la tabla 1, se muestra quién puede asociar y ver los metadatos:
Tabla 1. Permisos de metadatos
Tarea
Revendedores
Clientes
Llama a la API para asociar metadatos
Sube un archivo CSV al portal de inscripción automática para asociar metadatos
Visualiza los metadatos del dispositivo en los resultados de las llamadas a la API
Ver metadatos de dispositivos en el portal de inscripción automática
Asignar metadatos
Para asociar metadatos con cada dispositivo, llama al
partners.devices.metadata. Puedes agregar
números de teléfono y de pedido para tus dispositivos Android utilizando las teclas de la tabla 2
a continuación:
Tabla 2. Claves de metadatos para dispositivos Android
Datos
Clave
Tipo de valor
Ejemplo
Número de teléfono
phonenumber
String
+1 (800) 555-0100
Número de pedido
ordernumber
String
GOOG#123/ABC-123456
Ambos valores de metadatos son cadenas de formato libre, por lo que puedes usar un formato que
para tu organización.
En los dispositivos ChromeOS, puedes usar las claves de la tabla 3 que se incluye a continuación:
Tabla 3. Claves de metadatos para dispositivos ChromeOS
Datos
Clave
Tipo de valor
Ejemplo
Número de pedido
ordernumber
String
GOOG#123/ABC-123456
Para asignar metadatos cuando crees dispositivos, inclúyelos cuando llames
claimAsync En el siguiente ejemplo, se muestra cómo configurar
número de teléfono y número de pedido del dispositivo existente 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()
Tus argumentos de metadatos reemplazan los valores de metadatos existentes para la misma clave.
Borrar metadatos
Puedes borrar tus metadatos de los dispositivos. Pasa cadenas vacías para metadatos
valores que quieres borrar. En el siguiente ejemplo, se muestra cómo borrar el teléfono
número:
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...
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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```"]]