Ajout d’un site météo

Ce web-service route permet d’ajouter des sites météo en PHyC.

Paramètres HTTP

Paramètre

Valeur

Route

sitemeteo

Méthode

POST

Contenu

un site météo au format json

Droit de gestion

Seul un administrateur national peut exécuter ce web-service.

Règles techniques

Le code du site météo est constitué de 8 ou 9 chiffres.

Contenu de la requête HTTP

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

Il est obligatoire d’associer un administrateur au site météo.

Format JSON

Schéma de validation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://phyc.org/ws/ajouterSiteMeteo.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"},
              "MnSiteMeteo": {"type": "string"},
              "LieuDitSiteMeteo": {"type": "string"},
              "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", "format": "date-time"},
              "DroitPublicationSiteMeteo": {"type": "boolean"},
              "EssaiSiteMeteo": {"type": "boolean"},
              "ComSiteMeteo": {"type": "string"},
              "ReseauxMesureSiteMeteo": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CodeSandreRdd": {"type": "string"}
                  },
                  "required": ["CodeSandreRdd"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "RolsContactSiteMeteo": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdContact": {"type":  "string"},
                    "RoleContactSiteMeteo": {"type":  "string"}
                  },
                  "required": ["CdContact", "RoleContactSiteMeteo"],
                  "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", "format": "date-time"},
                    "EssaiGrdMeteo": {"type": "boolean"},
                    "ASurveillerGrdMeteo": {"type": "boolean"},
                    "DelaiAbsGrdMeteo": {"type": "integer"},
                    "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", "LbSiteMeteo", "RolsContactSiteMeteo", "Commune"],
            "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 les attributs CdSiteMeteo, LbSiteMeteo, RolsContactSiteMeteo et Commune;

  • L’attribut RolsContactSiteMeteo doit être une liste contenant un unique objet RolContactSiteMeteo;

  • L’objet RolContactSiteMeteo doit contenir uniquement les propriétés CdContact et RoleContactSiteMeteo

  • L’attribut RoleContactSiteMeteo de l’objet RolContactSiteMeteo doit obligatoirement avoir la valeur “ADM”

  • L’attribut DtMajSiteMeteo de l’objet SiteMeteo ne doit pas être présent;

  • 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 ajouté.

Le web-service rajoutera les attributs suivants au site:

  • DtMajSiteMeteo : date de mise à jour du site;

  • DtDebutContactSiteMeteo et DtMajRoleContactSiteMeteo pour l’objet RolContactSiteMeteo;

  • DtMajGrdMeteo pour chaque objet GrdMeteo.