Chaque service possède un numéro de version dans le cadre de l'URI (Uniform Resource Identifier) pour accéder au service. La version possède un numéro majeur et un numéro mineur. Le numéro de version majeur est obligatoire dans les demandes, tandis que le numéro de version mineur est facultatif. Lorsque ce dernier n'est pas fourni, sa valeur par défaut est définie sur "0". Le numéro de version majeur doit correspondre au numéro majeur du service. Le numéro de version mineur doit être inférieur ou égal au numéro mineur du service.
Exemple : un client effectue des demandes pour un service dont le numéro de version est "2.1".
|
Aucune modification de version de l'API de service n'est requise pour les modifications de propriété suivantes. Utilisez le numéro de version et le modèle de l'appareil pour identifier les propriétés disponibles. Ces propriétés évoluent conformément à ce que reflètent la CLI et la BUI et constituent un indicateur des capacités de cette instance d'appareil.
Nouvelles propriétés de sortie (sans suppression des anciennes propriétés).
Nouvelles propriétés d'entrée ajoutées à une commande existante, dont les valeurs par défaut rendent le comportement de la commande similaire à ce qu'il était dans une version antérieure.
Etant donné qu'une nouvelle version de commande rétrocompatible peut renvoyer des propriétés supplémentaires, les clients doivent être codés pour ignorer les nouvelles propriétés. Le numéro mineur est incrémenté pour effectuer des modifications rétrocompatibles de l'API de service.
Ajout d'une commande à un service existant.
Ajout de paramètres de requête aux commandes de service.
Le numéro majeur est incrémenté pour appliquer des modifications incompatibles à l'API de service.
Suppression des paramètres de requête de commande.
Suppression d'une commande dans un service existant.
Les versions majeures du logiciel de l'appareil peuvent inclure des modifications de version incompatibles. Durant une mise à jour majeure, des versions antérieures d'un service donné peuvent exister. Chaque réponse de commande doit contenir un en-tête HTTP incluant la version actuelle de l'API de l'appareil pour un module donné :
X-Zfssa-Nas-Api: 1.1