La documentation Pulse évolue : partagez votre avis en bas de chaque page.

Conventions, erreurs et sécurité

Construire un client OpenMDM robuste face aux erreurs, limites et opérations asynchrones.

URL de base

L’API publique est disponible à l’adresse https://api.pulse-xr.com.

Conservez l’URL de base dans la configuration de l’application. Elle ne doit jamais être concaténée à partir d’une saisie utilisateur.

Authentification

Le JWT OpenMDM représente une organisation. Envoyez-le avec :

Authorization: Bearer <token>
  • stockez le token côté serveur ou dans un gestionnaire de secrets ;
  • ne l’incluez jamais dans une URL, un log ou un dépôt Git ;
  • prévoyez son remplacement sans redéployer l’application ;
  • ne supposez pas qu’un token d’une organisation peut lire les appareils d’une autre.

Statuts à traiter

StatutInterprétationComportement recommandé
400corps ou paramètre invalidecorriger la requête, ne pas réessayer à l’identique
401token absent ou invalideremplacer le token avant de réessayer
403opération interditevérifier l’organisation et les permissions
404ressource absentevérifier l’identifiant et l’environnement
409conflit d’étatrelire la ressource avant une nouvelle écriture
429trop de requêtesrespecter Retry-After s’il est fourni, puis appliquer un backoff
5xxerreur temporaire du serveurréessayer avec backoff et jitter, dans une limite définie
const delay = Math.min(30_000, 500 * 2 ** attempt) + Math.random() * 250;

Ne réessayez automatiquement une écriture que si votre traitement sait éviter les doublons. Pour une commande distante, relisez l’état de l’appareil avant de conclure à un échec.

Pagination

Les endpoints paginés utilisent principalement page et limit. Ne déduisez pas la fin uniquement à partir du nombre total : arrêtez-vous lorsque la page reçue contient moins d’éléments que la limite, ou utilisez les métadonnées renvoyées lorsqu’elles sont présentes.

Temps réel et SSE

Les flux GET /devices/{deviceId}/updates et GET /devices/{deviceId}/stream-status utilisent Server-Sent Events :

  1. ouvrez une seule connexion par appareil et par type de flux ;
  2. parsez chaque événement indépendamment ;
  3. fermez explicitement la connexion quand elle n’est plus utile ;
  4. reconnectez-vous avec backoff après une coupure involontaire ;
  5. relisez l’état courant après une reconnexion pour éviter un trou d’événements.

Compatibilité des clients

Un client robuste doit ignorer les champs JSON inconnus, traiter les champs optionnels comme absents et ne dépendre ni de l’ordre des propriétés ni d’un message d’erreur humain. Utilisez les codes HTTP et, lorsqu’il est présent, le champ d’erreur stable.

Pour le contrat exact d’une opération, consultez la référence API.

Cette page vous a-t-elle aidé ?

Dernière mise à jour le

Sur cette page