Ajout d’un site hydro

Ce web-service permet d’ajouter des sites hydro en PHyC.

Paramètres HTTP

Paramètre

Valeur

Route

sitehydro

Méthode

POST

Contenu

un site hydro au format json

Droit de gestion

Pour ajouter un site de type ponctuel, l’utilisateur authentifié doit posséder un profil la zone hydro (profil GEST ou JAU).

Pour ajouter un site autre que de type ponctuel, l’utilisateur doit être gestionnaire de la zone hydro (droit GEST).

Règles techniques

Le libellé et le code du site hydro sont générés par le web-service.

Format du libellé: « article+cours d’eau [précision du cours d’eau] article+commune(s) [complément du nom] »

L’attribut facultatif CdBNBV ne peut être renseigné qu par les utilisateurs ayant le profil institutionnel.

Il est obligatoire de défini un administrateur au site hydro à créer.

Pour un site à débit naturel reconstitué (type: RECONSTITUE), le site associé doit être obligatoirement renseigné.

La valeur de la pondération (PonderationPluieDeBassin) doit être un flottant compris entre 0 et 100.

Contenu de la requête HTTP

La requête HTTP doit contenir un json hydrométrie contenant un site hydro.

Format JSON

Schéma de validation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://phyc.org/ws/ajouterSeuilHydro.json",
  "type": "object",
  "properties": {
    "Scenario": {
      "type": "object"
    },
    "RefHyd": {
      "type": "object",
      "properties": {
        "SitesHydro": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "CdSiteHydro": {"type": "string", "const": "00000000"},
              "LbUsuelSiteHydro": {"type": "string"},
              "TypSiteHydro": {"type": "string"},
              "PrecisionTypSiteHydro": {"type": "integer"},
              "MnSiteHydro": {"type": "string"},
              "ComplementLbSiteHydro": {"type": "string"},
              "CoordSiteHydro": {
                "type": "object",
                "properties": {
                  "CoordXSiteHydro": {"type": "number"},
                  "CoordYSiteHydro": {"type": "number"},
                  "ProjCoordSiteHydro": {"type": "integer"}
                },
                "required": ["CoordXSiteHydro", "CoordYSiteHydro", "ProjCoordSiteHydro"],
                "additionalProperties": false
              },
              "PkAmontSiteHydro": {"type": "number"},
              "PkAvalSiteHydro": {"type": "number"},
              "AltiSiteHydro": {
                "type": "object",
                "properties":  {
                  "AltitudeSiteHydro": {"type": "number"},
                  "SysAltimetriqueSiteHydro": {"type": "integer"}
                },
                "required": ["AltitudeSiteHydro", "SysAltimetriqueSiteHydro"],
                "additionalProperties": false
              },
              "BassinVersantSiteHydro": {"type": "number"},
              "BassinVersantHydroSiteHydro": {"type": "number"},
              "FuseauHoraireSiteHydro": {"type": "integer"},
              "StSiteHydro": {"type": "integer"},
              "DtPremDonSiteHydro": {"type": "string", "format": "date-time"},
              "PremMoisEtiageSiteHydro": {"type": "integer"},
              "PremMoisAnHydSiteHydro": {"type": "integer"},
              "DureeCarCruSiteHydro": {"type": "integer"},
              "DroitPublicationSiteHydro": {"type": "integer"},
              "EssaiSiteHydro": {"type": "boolean"},
              "InfluGeneSiteHydro": {"type": "integer"},
              "ComInfluGeneSiteHydro": {"type": "string"},
              "ComSiteHydro": {"type": "string"},
              "SiteHydroAssocie": {
                "type": "object",
                "properties": {
                  "CdSiteHydro": {
                    "type": "string"
                  }
                },
                "required": ["CdSiteHydro"],
                "additionalProperties": false
              },
              "PeriodesActiviteSiteHydroVirtuel": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "DtDebPeriodeActiviteSiteHydroVirtuel": {"type": "string", "format": "date-time"},
                    "DtFinPeriodeActiviteSiteHydroVirtuel": {"type": "string", "format": "date-time"},
                    "SitesHydroAttaches": {
                      "type": "array",
                      "items":{
                        "type": "object",
                        "properties": {
                          "SiteHydro": {
                            "type": "object",
                            "properties": {
                              "CdSiteHydro": {"type": "string"}
                            },
                            "required": ["CdSiteHydro"],
                            "additionalProperties": false
                          },
                          "PonderationSiteHydroAttache": {"type": "number"},
                          "DecalSiteHydroAttache": {"type": "integer"}
                        },
                        "required": ["SiteHydro", "PonderationSiteHydroAttache"],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": ["SitesHydroAttaches"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "CdEuMasseDEau": {"type": "string"},
              "EntiteHydrographique": {
                "type": "object",
                "properties": {
                  "CdEntiteHydrographique": {"type": "string"}
                },
                "required": ["CdEntiteHydrographique"],
                "additionalProperties": false
              },
              "LoisStatContexteSiteHydro": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "TypContexteLoiStat": {"type": "integer"},
                    "TypLoiSiteHydro": {"type": "integer"}
                  },
                  "required": ["TypContexteLoiStat", "TypLoiSiteHydro"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "RolsContactSiteHydro": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdContact": {"type": "string"},
                    "RoleContactSiteHydro": {"type": "string", "const":  "ADM"}
                  },
                  "required": ["CdContact", "RoleContactSiteHydro"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "CdTronconHydrographique": {"type": "string"},
              "EntsVigiCru": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdEntVigiCru": {"type": "string"}
                  },
                  "required": ["CdEntVigiCru"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "Communes":{
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdCommune": {"type": "string"}
                  },
                  "required": ["CdCommune"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "CdSiteHydroAncienRef": {"type": "string"},
              "PluiesDeBassin": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdSiteMeteo": {"type": "string"},
                    "PonderationPluieDeBassin": {"type": "number"}
                  },
                  "required": ["CdSiteMeteo", "PonderationPluieDeBassin"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "ZoneHydro": {
                "type":  "object",
                "properties": {"CdZoneHydro": {"type": "string"}},
                "required": ["CdZoneHydro"],
                "additionalProperties": false
              },
              "PrecisionCoursDEauSiteHydro": {"type": "string"},
              "SitesHydroAmont": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {"CdSiteHydro": {"type": "string"}},
                  "required": ["CdSiteHydro"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "SitesHydroAval": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {"CdSiteHydro": {"type": "string"}},
                  "required": ["CdSiteHydro"],
                  "additionalProperties": false
                },
                "minItems": 1
              },
              "BNBV": {
                "type": "object",
                "properties": {"CdBNBV": {"type": "string"}},
                "required": ["CdBNBV"],
                "additionalProperties": false
              }
            },
            "required": ["CdSiteHydro", "RolsContactSiteHydro", "Communes", "ZoneHydro"],
            "additionalProperties": false
          },
          "minItems": 1
        }
      },
      "required": ["SitesHydro"],
      "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 SitesHydro associé à une liste ne contenant qu’un seul objet SiteHydro;

  • L’objet SiteHydro doit contenir obligatoirement les attributs CdSiteHydro, RolsContactSiteHydro, Communes et ZoneHydro;

  • Les attributs LbSiteHydro, DtMajSiteHydro et StationsHydro ne doivent pas être présents;

  • L’attribut CdSiteHydro de l’objet SiteHydro doit OBLIGATOIREMENT avoir comme valeur « 00000000 »;

  • L’attribut RolsContactSiteHydro doit être une liste contenant un objet RolContactSiteHydro;

  • L’objet RolContactSiteHydro doit contenir uniquement les deux attributs CdContact et RoleContactSiteHydro;

  • L’attribut RoleContactSiteHydro de l’objet RolContactSiteHydro doit obligatoirement avoir la valeur “ADM”.

Réponse du service

Le web-service renverra le json hydrométrie contenant le site hydro ajouté.

La PHyC attribuera un code au site hydro (attribut CdSiteHydro).

Le web-service rajoutera les attributs suivants au site:

  • LbSiteHydro:

  • DtMajSiteHydro : date de mise à jour du site;

  • DtDebutContactSiteHydro et DtMajRoleContactSiteHydro pour l’objet RolContactSiteHydro;