L'architecture de l'API Nest

À propos du service Nest

Les applications Nest permettent aux utilisateurs de se connecter à leur maison où qu'ils se trouvent. Tous les appareils (thermostats, détecteurs Nest Protect et caméras) et les applications (iOS, Android et applications Web) Nest sont tous connectés au service Nest.

Exemple cloud-to-cloud

Le service Nest fournit un modèle de données pour la maison. Les appareils et les applications qui lisent ce modèle de données prennent les mesures appropriées. Ils mettent à jour le modèle de données afin de refléter les modifications apportées au système.

Par exemple, un thermostat lit sa température de consigne à partir du modèle de données. Il règle la température ambiante sur sa mesure actuelle et envoie les données des capteurs à la fonction Chez moi/Absent, qui ajuste le mode de structure en conséquence.

Les appareils Nest fonctionnent dans des environnements restreints. L'alimentation est limitée et la connectivité du réseau domestique n'est pas fiable. Vos produits et services peuvent exploiter nos algorithmes d'appareils pour offrir aux utilisateurs une expérience simple et intuitive.

Le modèle de données

L'API Nest est représentée par un document JSON avec des attributs de niveau supérieur metadata, devices et structures. Vos produits Works with Nest utilisent ce document JSON pour interagir avec les appareils Nest et réagir aux changements d'état associés.

Les structures Nest représentent des structures physiques dans le monde réel. Ils servent de point d'organisation pour devices et stockent les données de l'ensemble du bâtiment. En règle générale, un structure est la maison de l'utilisateur.

Les devices Nest représentent les appareils physiques (thermostats, détecteurs Nest Protect) dans une structure.

Chaque élément de données du document JSON est adressable par URL (également appelée "emplacement des données"). Les produits Works with Nest peuvent lire et écrire dans les sections de ce document, et s'abonner aux modifications. Cette fonctionnalité d'abonnement permet aux produits Works with Nest de réagir en temps réel aux modifications apportées au système, par exemple en éteignant les lumières lorsqu'un utilisateur définit la structure sur "Absent".

Les objets fonctionnent également sous des contraintes réelles. Le modèle de données protège les appareils et la maison de l'utilisateur en empêchant les actions surprenantes et dangereuses. Par exemple, le thermostat n'est pas en mesure de chauffer la climatisation si le chauffage d'urgence est activé.

Explorez le modèle de données avec cette documentation de référence interactive sur les API.

État souhaité

Le service Nest stocke l'état faisant autorité du système, et les produits Works with Nest s'abonnent aux modifications. La modification de cet état (par exemple, pour modifier la température de consigne d'un thermostat) oblige le service à envoyer une notification de modification à tous les abonnés.

Étant donné que cette propagation présente un certain retard et que les réseaux peuvent ne pas être fiables, l'état observé par un produit peut ne pas être l'état actuellement observé par d'autres produits ou par le service. L'état est synchronisé à mesure que les messages sont transmis entre différents produits.

Ce modèle de publication/abonnement orienté document fournit des interactions réactives avec les applications.

Utiliser le service Nest

Pour accéder aux points de terminaison REST du service Nest, utilisez le protocole HTTPS dans votre produit. De nombreuses bibliothèques clientes tierces peuvent être utilisées à cette fin.

Autorisations et autorisations

Nous souhaitons permettre aux développeurs de créer des produits et des services qui améliorent l'habitat, sans compromettre la confidentialité et la sécurité des utilisateurs. Toutes nos communications sont sécurisées et l'autorisation d'accès aux données est toujours explicitement accordée par l'utilisateur. Pour en savoir plus, consultez la page Présentation des autorisations.

L'autorisation est gérée par le protocole OAuth 2.0. Lorsqu'un utilisateur accepte de fournir un accès au niveau d'autorisation demandé, Nest authentifie la requête et un jeton d'accès est accordé au demandeur. Ce jeton d'accès peut être utilisé pour accéder à l'API Nest, et pour interagir avec les structures et les appareils de l'utilisateur.

L'octroi d'un jeton d'accès établit une relation de confiance entre un utilisateur, un produit Works with Nest et Nest. Les utilisateurs peuvent révoquer l'accès à tout moment.

Pour savoir comment autoriser une connexion à l'API Nest, consultez la page Présentation des autorisations.