Modification d’un épisode

Paramètres HTTP

Paramètre

Valeur

Route

episode

Méthode

PUT

Contenu

épisode au format json

Contenu de la requête HTTP

La propriété CdEpisode est obligatoire. Les autres propriétés sont facultatives.

Schéma de validation

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bdprev.org/updateepisode.json",
  "type": "object",
  "properties": {
    "CdEpisode": {
      "type": "integer"
    },
    "LbEpisode": {
      "type": "string"
    },
    "DtDebut": {
      "type": "string",
       "format": "date-time"
    },
    "DtFin": {
      "type": "string",
      "format": "date-time"
    },
    "Description": {
      "type": ["string", "null"]
    },
    "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": [
    "CdEpisode"
  ],
  "additionalProperties": false
}

Exemple d’entrée

{
  "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"
    }
  ],
  "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’épisode inséré au format json en ajoutant les propriétés suivantes:

  • CdEpisode: code de l’épisode généré par la BDPREV;

  • 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": "31pPLA0001",
      "LbModelePrevision": "RL 4h Toulouse"
    }
  ]
}