1. Support
  2. Base de connaissances
  3. API d'Uptrends
  4. Périodes de maintenance dans l'API

Périodes de maintenance dans l’API

Il existe un ensemble spécifique de méthodes API permettant de manipuler les périodes de maintenance d’un moniteur ou de tous les moniteurs d’un groupe de moniteurs.

Description de l’objet Période de Maintenance

L’objet suivant MaintenancePeriod est utilisé dans les méthodes API décrites ci-dessous :

Nom Description Type données
Id L’identifiant unique pour cette période de maintenance Integer
ScheduleMode OneTime, Daily, Weekly or Monthly Enum
StartDateTime Une date et une heure de début (applicable uniquement à une période planifiée ponctuelle) DateTime
EndDateTime La date et l’heure de fin d’une période de maintenance planifiée ponctuelle DateTime
StartTime L’heure de début (“HH:mm”, notation 24 heures) pour une période de maintenance récurrente (Daily, Weekly ou Monthly) String (“HH:mm”)
EndTime L’heure de fin (“HH:mm”, notation 24 heures) pour une période de maintenance récurrente (Daily, Weekly ou Monthly) String (“HH:mm”)
WeekDay Le jour de la semaine pour une période de maintenance hebdomadaire (Sunday/Monday/[…]/Saturday) Enum
MonthDay Le numéro du jour pour une période de maintenance mensuelle Int (1-31)
MaintenanceType DisableMonitoring (pour désactiver complètement le moniteur) ou DisableNotifications (la surveillance aura toujours lieu, mais les notifications ne seront pas envoyées) Enum

Quand une période de maintenance est retournée via l’API, toutes les propriétés seront présentes, mais en fonction de la ScheduleMode, certains champs liés aux dates ou heures de début et de fin ne seront pas utilisés.

Pour une période de maintenance ponctuelle, nous devons connaître les dates et heures de début et de fin, donc le StartDateTime et EndDateTime propriétés seront utilisées. Pour les périodes de maintenance récurrentes, les champs heure de début et de fin sont pertinents et, en fonction du type de la planification, les propriétésWeekDay ou MonthDay.

Par exemple, un planning quotidien ressemblerait à ceci :

{
"Id": 123, 
"ScheduleMode": "Daily", 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications"
}

Les propriétés qui ne sont pas pertinentes pour ce type de planification (DateTime, WeekDay et MonthDay) sont laissées de côté.

Un planning hebdomadaire ressemblerait à ceci :

{
"Id": 123, 
"ScheduleMode": "Weekly", 
"WeekDay": "Thursday", 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications"
}

Un planning mensuel ressemblerait à ceci :

{
"Id": 125, 
"ScheduleMode": "Monthly", 
"MonthDay": 24, 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications" 
}

Un planning ponctuel ressemblerait à ceci :

{
"Id": 124, 
"ScheduleMode": "OneTime", 
"StartDateTime": "2018-09-24T22:00",
"EndDateTime": "2018-09-24T22:00", 
"MaintenanceType": "DisableMonitoring" 
}

Les endpoints d’une période de maintenance

Les endpoints API suivants sont disponibles :

Type de requêteEndpointUtilisation
GETMonitor/{monitorGuid}/MaintenancePeriodTrouve toutes les périodes de maintenance pour un moniteur.
POSTMonitor/{monitorGuid}/MaintenancePeriodEnregistre la nouvelle période de maintenance fournie pour le moniteur spécifié
PUTMonitor/{monitorGuid}/MaintenancePeriod/
{maintenancePeriodId}
Met à jour le planning de maintenance spécifié pour le moniteur spécifié
DELETEMonitor/{monitorGuid}/MaintenancePeriod/
{maintenancePeriodId}
Supprime la période de maintenance spécifiée du moniteur spécifié
POSTMonitor/{monitorGuid}/MaintenancePeriod/
Cleanup/{beforeDate}
Efface toutes les périodes de maintenance ponctuelles du moniteur spécifié, antérieures à la date spécifiée.
POSTMonitorGroup/{monitorGroupGuid}/
MaintenancePeriod
Ajoute la période de maintenance fournie à tous les moniteurs du groupe spécifié

GET Monitor

GET Monitor/{monitorGuid}/MaintenancePeriod

Cette requête GET retournera une collection contenant toutes les périodes de maintenance planifiées pour le moniteur avec le GUID fourni.

Exemple de retour :

[
{
"Id": 125, 
"ScheduleMode": "Monthly", 
"MonthDay": 24, 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications"
}, 
{
"Id": 123, 
"ScheduleMode": "Weekly", 
"WeekDay": "Thursday", 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications"
}
]

POST Monitor

POST Monitor/{monitorGuid}/MaintenancePeriod

Cette méthode créera la période de maintenance fournie dans le corps de la requête et l’attribuera au moniteur dont le GUID est fourni.

Une requête POST attend une structure d’objet telle que fournie dans les exemples de la rubrique « Description de l’objet Période de Maintenance ». Comme indiqué, la structure dépend du type de la période de maintenance (OneTime, Daily, Weekly ou Monthly). De plus, le champ Id ne doit pas être fourni. Une nouvelle valeur d’identifiant sera générée automatiquement.

PUT Monitor

PUT Monitor/{monitorGuid}/MaintenancePeriod/{maintenancePeriodId}

Cette méthode met à jour la période de maintenance dont l’Id est fourni, avec les valeurs fournies dans le corps de la demande.

Valeurs attendues (exemple pour une période de maintenance mensuelle) :

{
"Id": 125, 
"ScheduleMode": "Monthly", 
"MonthDay": 24, 
"StartTime": "22:00", 
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications" 
}

Notez bien que l’identifiant de la période de maintenance doit être fourni dans le corps ainsi que dans le paramètre maintenancePeriodId. Si l’identifiant dans le paramètre ne correspond pas à l’identifiant de la période de maintenance dans le corps de la demande, une exception sera retournée.

DELETE Monitor

DELETE Monitor/{monitorGuid}/MaintenancePeriod/{maintenancePeriodId}

Cette méthode supprimera la période de maintenance, dont l’identifiant est spécifié dans maintenancePeriodId, du moniteur identifié par le monitorGuidfourni.

POST Monitor

POST Monitor/{monitorGuid}/MaintenancePeriod/Cleanup/{beforeDate}

Cette méthode supprimera toute planification ponctuelle, dont le StartDateTime est antérieur à la date indiquée dans beforeDate, du moniteur identifié par le monitorGuid fourni.

POST MonitorGroup

POST MonitorGroup/{monitorGroupGuid}/MaintenancePeriod

Cette méthode ajoute la période de maintenance fournie dans le corps de la demande à tous les moniteurs du groupe de moniteurs identifié par le Guid fourni.

Valeurs attendues (exemple pour une période de maintenance hebdomadaire :

{
"ScheduleMode": "Weekly", 
"WeekDay": "Thursday", 
"StartTime": "22:00",
"EndTime": "22:30", 
"MaintenanceType": "DisableNotifications"
}
En utilisant ce site, vous consentez à l’utilisation de cookies conformément à notre Politique de cookies.