Ajout d’un épisode¶
Paramètres HTTP¶
Paramètre |
Valeur |
|---|---|
Route |
episode |
Méthode |
POST |
Contenu |
épisode au format json |
Contenu de la requête HTTP¶
La requête doit contenir un épisode au format json.
La propriété CdEpisode ne doit pas être présente dans puisque c’est la BDPREV qui génère ce code.
Les propriétés LbEpisode, DtDebut et DtFin sont obligatoires.
L’épisode doit être conforme au schéma suivant:
Schéma de validation¶
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://bdprev.org/addepisode.json",
"type": "object",
"properties": {
"LbEpisode": {
"type": "string"
},
"DtDebut": {
"type": "string",
"format": "date-time"
},
"DtFin": {
"type": "string",
"format": "date-time"
},
"Description": {
"type": "string"
},
"SitesHydro": {
"type": "array",
"items": {
"type": "object",
"properties": {
"CdSiteHydro": {"type": "string"}
},
"required": ["CdSiteHydro"],
"additionalProperties": false
},
"minItems": 1
},
"ModelesPrevision": {
"type": "array",
"items": {
"type": "object",
"properties": {
"CdModelePrevision": {"type": "string"}
},
"required": ["CdModelePrevision"],
"additionalProperties": false
},
"minItems": 1
}
},
"required": [
"LbEpisode",
"DtDebut",
"DtFin",
"Description"
],
"additionalProperties": false
}
Exemple d’entrée¶
{
"LbEpisode": "Episode pluvieux de novembre 2018",
"DtDebut": "2018-11-01T00:00:00",
"DtFin": "2018-11-07T00:00:00",
"Description": "Episode pluvieux",
"SitesHydro": [
{
"CdSiteHydro": "A1234567"
}
],
"ModelesPrevision": [
{
"CdModelePrevision": "012345678"
}
]
}
Droit de gestion¶
L’utilisateur du web-service doit être authentifié et disposer du profil gestionnaire de modèles.
Retour du web-service¶
Le web-service renvoie l’événement inséré au format json en ajoutant les propriétés suivantes:
pour chaque site hydro, ajout de la balise lbSiteHydro;
pour chaque site météo, ajout de la balise lbSiteMeteo.
Exemple de sortie¶
{
"CdEpisode": 1,
"LbEpisode": "Episode pluvieux de novembre 2018",
"DtDebut": "2018-11-01T00:00:00",
"DtFin": "2018-11-07T00:00:00",
"Description": "Episode pluvieux",
"SitesHydro": [
{
"CdSiteHydro": "A1234567",
"LbSiteHydro": "Libellé du Site"
}
],
"ModelesPrevision": [
{
"CdModelePrevision": "012345678",
"LbModelePrevision": "Libellé site météo"
}
]
}