Limites relatives aux utilisateurs et au débit

Device Access Les projets sont limités par le nombre d'utilisateurs, la structure et les limites de débit, en fonction de l'environnement et du type d'offre commerciale.

Nous souhaitons que les développeurs puissent créer des expériences utilisateur attrayantes, mais nous souhaitons également que le service et les appareils Nest soient toujours disponibles pour l'utilisateur. Les intégrations qui envoient un grand nombre de requêtes au cours d'une période donnée peuvent avoir une incidence sur la disponibilité des services et des appareils. L'API SDM applique donc des limites de débit. La limitation du débit limite le nombre d'appels d'API pour une période donnée et empêche la surutilisation des ressources.

Limites par environnement

Tous les projets commencent dans l'environnement   Sandbox  . Le bac à sable est destiné à l'évaluation de l'API SDM et de votre usage personnel. Les limites sont limitées en conséquence. Les environnements dotés de bases d'utilisateurs plus vastes, tels que le développement commercial   , présentent des limites différentes.

Limites d'utilisateurs dans le bac à sable

Un compte de développeur dans le bac à sable est limité à 25 utilisateurs répartis sur cinq structures par tous les projets. Le nombre de projets est limité à trois par compte.

Les structures sont limitées à cinq utilisateurs chacune. La limite d'utilisateurs n'est donc atteinte que lorsque les cinq structures sont limitées à cinq utilisateurs chacune. Le compte de développeur (propriétaire du projet) n'est pas comptabilisé dans la limite de cinq utilisateurs pour une structure.

À l'inverse, si un projet compte 15 utilisateurs répartis sur cinq structures, les utilisateurs supplémentaires ne peuvent être ajoutés qu'aux cinq structures existantes, car la limite des structures a déjà été atteinte.

Limites de débit en bac à sable

Le débit du bac à sable est limité à trois niveaux différents. Sauf indication contraire, les limites sont définies sur le nombre de requêtes par minute (RPM).

Niveau d'API

Les appels d'API sont limités par projet et par utilisateur. Pour en savoir plus sur les différentes méthodes, consultez la documentation de référence de l'API.

Méthode API Limite de débit
devices.executeCommand 10 RPM
devices.get 10 RPM
devices.list 5 RPM
structures.get 5 RPM
structures.list 5 RPM
structures.rooms.get 5 RPM
structures.rooms.list 5 RPM

Niveau Commande

Chaque commande de caractéristique (devices.executeCommand) est limitée à 5 RPM par projet, par utilisateur et par appareil.

Cela signifie que si un projet compte deux utilisateurs avec deux appareils chacun (quatre appareils au total), la même commande peut être appelée cinq fois par minute pour chacun de ces quatre appareils.

Toutefois, si un projet compte deux utilisateurs avec trois appareils chacun pour six appareils au total, la même commande ne peut pas être appelée cinq fois par minute pour chacun de ces six appareils. Cela donne 15 RPM pour chaque utilisateur, lorsque la limite de débit du niveau d'API devices.executeCommand pour l'utilisateur d'un projet est de 10 RPM.

Au niveau de l'instance de l'appareil

De plus, des limites au niveau de l'instance d'appareil sont appliquées dans tous les projets et commandes (devices.executeCommand) pour protéger la batterie de l'appareil. Ces limites sont appliquées au niveau du QPM et du nombre de requêtes par heure (QPH), et ne s'appliquent pas aux méthodes d'API get et list.

Par exemple, supposons que les projets A et B aient tous deux accès au même appareil, l'appareil A (l'utilisateur a peut-être autorisé deux intégrations commerciales différentes utilisant le même appareil). Si le projet A a envoyé quatre commandes à l'appareil A en une minute, le projet B ne peut envoyer qu'une seule commande à l'appareil A au cours de cette même minute, avant d'atteindre la limite de débit au niveau de l'instance d'appareil. À ce stade, les commandes des deux projets à l'appareil A sont limitées jusqu'à la fin de la minute qui a commencé par la première commande envoyée à l'appareil A.

Si un type d'appareil n'est pas répertorié ci-dessous, cela signifie qu'il n'est pas soumis à des limites de débit au niveau de l'instance d'appareil.

Type d'appareil Limite de débit des instances d'appareil
THERMOSTAT 5 RPM ou 100 QPH
APPAREIL PHOTO 30 RPM ou 100 QPH
SONNETTE 30 RPM ou 100 QPH

Erreurs

Le ou les codes d'erreur suivants peuvent être renvoyés en lien avec ce guide:

Message d'erreur RPC Dépannage
Débit limité. RESOURCE_EXHAUSTED Chaque développeur dispose d'un quota qui limite le nombre d'appels qu'il peut effectuer. Si vous dépassez votre quota d'appels, vous recevez le message "Débit limité". Pour résoudre ce problème, renvoyez l'appel une fois le quota expiré.

Consultez la documentation de référence sur les codes d'erreur de l'API pour obtenir la liste complète des codes d'erreur de l'API.