Identifiants

Un DeviceIdentifier encapsule les ID matériels pour identifier un appareil fabriqué. Ce document explique comment utiliser les identifiants dans l'API d'enregistrement sans contact.

Un DeviceIdentifier combine les métadonnées matérielles ou les ID requis pour identifier de manière unique un appareil.

Votre entreprise inclut les valeurs d'identifiant d'appareil lors de l'importation des données de l'appareil via le portail ou de l'appel de l'API. Les instances DeviceIdentifier étant immuables, vous ne pouvez pas utiliser l'API pour modifier les valeurs des champs.

Champs obligatoires

Appareils Android

L'enregistrement sans contact identifie généralement les appareils à l'aide de leur identifiant IMEI (ou MEID). Toutefois, pour prendre en charge les appareils sans modem cellulaire, tels que les tablettes, vous pouvez également identifier les appareils à l'aide d'un ensemble de champs différent. Le tableau suivant présente les champs obligatoires pour chaque type d'appareil:

Identifiant Connexion cellulaire Wi‐Fi uniquement Remarques
hardware_id Ce champ doit contenir un code IMEI ou MEID. L'enregistrement sans contact valide le format des valeurs IMEI lorsque vous les transmettez dans les arguments de l'API. Pour les appareils équipés de plusieurs modems mobiles, consultez l'article Appareils avec double carte SIM.
serialNumber Numéro de série du fabricant de l'appareil. Le numéro de série est sensible à la casse et correspond à la valeur renvoyée par Build.getSerial().
model La valeur du modèle de l'appareil doit correspondre à la valeur intégrée de l'appareil renvoyée par Build.MODEL. Consultez la documentation de référence sur les noms de modèles pour connaître les valeurs autorisées pour chaque fabricant.
manufacturer Pour que l'enregistrement sans contact fonctionne pour un appareil ne disposant que du Wi-Fi, la valeur du champ manufacturer doit correspondre à la valeur intégrée de l'appareil renvoyée par Build.MANUFACTURER. Pour les appareils mobiles, le champ manufacturer est facultatif, mais recommandé, car il permet aux clients d'identifier plus facilement leurs appareils. Pour en savoir plus, consultez la documentation de référence sur les noms des fabricants.

Si l'appareil n'inclut pas de modem cellulaire, par exemple un scanner d'inventaire de tablette ou d'entrepôt, utilisez les champs Wi-Fi uniquement. Pour tous les autres appareils, utilisez les champs cellulaires.

Appareils avec double carte SIM

Un appareil avec double carte SIM dispose de deux modems distincts et possède deux codes IMEI. Utilisez le code IMEI le plus bas, car l'enregistrement sans contact est plus fiable avec le code IMEI le plus bas.

Appareils ChromeOS

Pour les appareils ChromeOS, l'ensemble des identifiants requis est le même pour les appareils mobiles et Wi-Fi uniquement:

Identifiant Remarques
serialNumber Numéro de série du fabricant de l'appareil.
model La valeur du modèle d'appareil doit correspondre à la valeur intégrée de l'appareil. Consultez la liste des valeurs des modèles ChromeOS pour référence.
chromeOsAttestedDeviceId ID de l'appareil certifié. Consultez la liste des appareils ChromeOS compatibles pour en savoir plus.

Se référer à un appareil

Utilisez un DeviceIdentifier lorsque vous recherchez ou revendiquez des appareils. Vous devez inclure les champs obligatoires spécifiés pour le type d'appareil.

L'extrait de code suivant présente un code IMEI permettant de rechercher un appareil spécifique en appelant partners.devices.findByIdentifier:

Java

// Create a DeviceIdentifier.
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
deviceIdentifier.setImei("123456789012347");

// Perform the search using the zero-touch enrollment API.
FindDevicesByDeviceIdentifierRequest body = new FindDevicesByDeviceIdentifierRequest();
body.setLimit(1L);
body.setDeviceIdentifier(deviceIdentifier);

FindDevicesByDeviceIdentifierResponse response = service
    .partners()
    .devices()
    .findByIdentifier(PARTNER_ID, body)
    .execute();

.NET

// Create a DeviceIdentifier.
var deviceIdentifier = new DeviceIdentifier
{
    Imei = "123456789012347"
};

// Perform the search using the zero-touch enrollment API.
var body = new FindDevicesByDeviceIdentifierRequest
{
    Limit = 1,
    DeviceIdentifier = deviceIdentifier
};
var response = service.Partners.Devices.FindByIdentifier(body, PartnerId).Execute();

Python

# Create a DeviceIdentifier.
device_identifier = {'imei':'123456789012347'}

# Perform the search using the zero-touch enrollment API.
response = service.partners().devices().findByIdentifier(
    partnerId=PARTNER_ID, body={'deviceIdentifier':device_identifier, \
    'limit':1}).execute()

L'extrait de code suivant montre comment créer un identifiant d'appareil Wi‐Fi uniquement:

Java

// Create a device identifier to find a Wi-Fi-only device.
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
deviceIdentifier.setManufacturer("Honeywell");
deviceIdentifier.setModel("VM1A");
deviceIdentifier.setSerialNumber("ABcd1235678");

.NET

// Create a device identifier to find a Wi-Fi-only device.
var deviceIdentifier = new DeviceIdentifier
{
    Manufacturer = "Honeywell",
    Model = "VM1A",
    SerialNumber = "ABcd1235678"
};

Python

# Create a device identifier to find a Wi-Fi-only device.
device_identifier = {'manufacturer':'Honeywell', \
    'model':'VM1A', 'serialNumber':'ABcd1235678'}

En savoir plus