Modification d’un site météo

Ce web-service permet de modifier des sites météo en PHyC.

Paramètres HTTP

Paramètre

Valeur

Route

sitemeteo

Méthode

PUT

Contenu

un site météo au format json

Droit de gestion

L’utilisateur doit posséder le rôle ADM OU POLE3 sur le site météo pour pouvoir le modifier.

Règles techniques

Le site météo doit exister.

Contenu de la requête HTTP

La requête HTTP doit contenir un json hydrométrie contenant un site météo.

Format JSON

Schéma de validation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://phyc.org/ws/modifierSiteMeteo.json",
  "type": "object",
  "properties": {
    "Scenario": {
      "type": "object"
    },
    "RefHyd": {
      "type": "object",
      "properties": {
        "SitesMeteo": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "CdSiteMeteo": {"type": "string"},
              "LbSiteMeteo": {"type": "string"},
              "LbUsuelSiteMeteo": {"type": ["string", "null"]},
              "MnSiteMeteo": {"type": ["string", "null"]},
              "LieuDitSiteMeteo": {"type": ["string", "null"]},
              "CoordSiteMeteo":  {
                "type": "object",
                "properties": {
                  "CoordXSiteMeteo": {"type": "number"},
                  "CoordYSiteMeteo": {"type": "number"},
                  "ProjCoordSiteMeteo": {"type": "integer"}
                },
                "required": ["CoordXSiteMeteo", "CoordYSiteMeteo", "ProjCoordSiteMeteo"],
                "additionalProperties": false
              },
              "AltiSiteMeteo": {
                "type": "object",
                "properties": {
                  "AltitudeSiteMeteo": {"type": "number"},
                  "SysAltimetriqueSiteMeteo": {"type": "integer"}
                },
                "required": ["AltitudeSiteMeteo", "SysAltimetriqueSiteMeteo"],
                "additionalProperties": false
              },
              "FuseauHoraireSiteMeteo": {"type": "integer"},
              "DtOuvertureSiteMeteo": {"type": "string", "format": "date-time"},
              "DtFermSiteMeteo": {"type": ["string", "null"], "format": "date-time"},
              "DroitPublicationSiteMeteo": {"type": "boolean"},
              "EssaiSiteMeteo": {"type": "boolean"},
              "ComSiteMeteo": {"type": ["string", "null"]},
              "ImagesSiteMeteo": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "AdressedelImageSiteMeteo": {"type": "string"},
                    "TypIllSiteMeteo": {"type": "integer"},
                    "ComImgSiteMeteo": {"type": "string"}
                  },
                  "required": ["AdressedelImageSiteMeteo"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "ReseauxMesureSiteMeteo": {
                "type": ["array", "null"],
                "items": {
                  "type": "object",
                  "properties": {
                    "CodeSandreRdd": {"type": "string"}
                  },
                  "required": ["CodeSandreRdd"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "ZoneHydro": {
                "type": "object",
                "properties": {
                  "CdZoneHydro": {"type": "string"}
                }
              },
              "Commune": {
                "type": "object",
                "properties": {
                  "CdCommune": {"type": "string"}
                },
                "required": ["CdCommune"],
                "additionalProperties": false
              },
              "GrdsMeteo": {
                "type": "array",
                "items" : {
                  "type": "object",
                  "properties": {
                    "CdGrdMeteo": {"type": "string"},
                    "DtMiseServiceGrdMeteo": {"type": "string", "format": "date-time"},
                    "DtFermetureServiceGrdMeteo": {"type": ["string", "null"], "format": "date-time"},
                    "EssaiGrdMeteo": {"type": "boolean"},
                    "ASurveillerGrdMeteo": {"type": "boolean"},
                    "DelaiAbsGrdMeteo": {"type": ["integer", "null"]},
                    "PDTGrdMeteo": {"type": "integer"},
                    "ClassesQualiteGrd": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdqClasseQualiteGrd": {"type": "string"},
                          "DtVisiteSiteMeteo": {"type": "string", "format": "date-time"},
                          "DtDebutClasseQualiteGrd": {"type": "string", "format": "date-time"},
                          "DtFinClasseQualiteGrd": {"type": "string", "format": "date-time"}
                        },
                        "required": ["CdqClasseQualiteGrd"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    }
                  },
                  "required": ["CdGrdMeteo"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "VisitesSiteMeteo": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "DtVisiteSiteMeteo": {"type": "string", "format": "date-time"},
                    "CdContact": {"type": "string"},
                    "MethClassVisiteSiteMeteo": {"type": "string"},
                    "ModeOperatoireUtiliseVisiteSiteMeteo": {"type": "string"}
                  },
                  "required": ["DtVisiteSiteMeteo"],
                  "additionalProperties": false
                },
                "minItems": 1
              }
            },
            "required": ["CdSiteMeteo"],
            "additionalProperties": false
          },
          "minItems": 1
        }
      },
      "required": ["SitesMeteo"],
      "additionalProperties": false
    }
  },
  "required": ["Scenario", "RefHyd"],
  "additionalProperties": false
}
  • Les attributs RefHyd (associé à l’objet Refhyd) et Scenario sont obligatoires;

  • L’objet RefHyd ne doit contenir qu’un seul attribut SitesMeteo associé à une liste non vide d’objets SiteMeteo;

  • L’objet SiteMeteo doit contenir obligatoirement l’attribut CdSiteMeteo;

  • Les attributs DtMajSiteMeteo et RolsContactSiteMeteo de l’objet SiteMeteo ne doivent pas être présents;

  • L’attribut GrdsMeteo d’un site météo doit être une liste non vide d’objets GrdMeteo;

  • L’attribut CdGrdMeteo de l’objet GrdMeteo est obligatoire;

  • La propriété DtMajGrdMeteo de l’objet GrdMeteo ne doit pas être présent;

Réponse du service

Le web-service renverra le json hydrométrie contenant le site météo modifié.

Le web-service rajoutera les attributs suivants au site:

  • DtMajSiteMeteo : date de mise à jour du site météo;

  • DtMajGrdMeteo pour chaque objet GrdMeteo.