Métadonnées de l'appareil

En tant que revendeur, vous pouvez associer des métadonnées, telles qu'un numéro de téléphone ou un numéro de bon de commande, à chaque appareil. Vous pouvez associer des métadonnées en appelant l'API ou en important un fichier CSV sur le portail sans contact. Le tableau 1 indique qui peut associer et afficher des métadonnées :

Tableau 1. Autorisations de métadonnées

Tâche Revendeurs Clients
Associer des métadonnées en appelant l'API
Associer des métadonnées en important un fichier CSV sur le portail sans contact
Afficher les métadonnées de l'appareil dans les résultats des appels d'API
Afficher les métadonnées de l'appareil sur le portail sans contact

Attribuer des métadonnées

Pour associer des métadonnées à chaque appareil, appelez la partners.devices.metadata méthode. Vous pouvez ajouter des numéros de téléphone et de commande pour vos appareils Android à l'aide des clés du tableau 2 ci-dessous :

Tableau 2. Clés de métadonnées pour les appareils Android

Données Clé Type de valeur Exemple
Numéro de téléphone phonenumber Chaîne +1 (800) 555-0100
Numéro de commande ordernumber Chaîne GOOG#123/ABC-123456

Les deux valeurs de métadonnées sont des chaînes de format libre. Vous pouvez donc utiliser le format qui convient le mieux à votre organisation.

Pour les appareils ChromeOS, vous pouvez utiliser les clés du tableau 3 ci-dessous :

Tableau 3. Clés de métadonnées pour les appareils ChromeOS

Données Clé Type de valeur Exemple
Numéro de commande ordernumber Chaîne GOOG#123/ABC-123456
ID d'élément annotatedassetid Chaîne CORP-001234
Emplacement annotatedlocation Chaîne New York
Utilisateur responsable annotateduser Chaîne John Doe

Pour attribuer des métadonnées lorsque vous créez des appareils, incluez-les lorsque vous appelez claimAsync. L'exemple ci-dessous montre comment définir un numéro de téléphone et un numéro de commande pour l'appareil existant 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()

Vos arguments de métadonnées remplacent les valeurs de métadonnées existantes pour la même clé.

Supprimer des métadonnées

Vous pouvez supprimer vos métadonnées des appareils. Transmettez des chaînes vides pour les valeurs de métadonnées que vous souhaitez supprimer. L'exemple ci-dessous montre comment supprimer le numéro de téléphone :

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...