Gestion d’une courbe de correction

Ce web-service permet d’ajouter ou de modifier des courbes de correction en PHyC.

Paramètres HTTP

Paramètre

Valeur

Route

courbecorrection

Méthode

POST ou PUT

Contenu

courbe de correction au format json

Droit de gestion

Il faut disposer du rôle ADM ou POLE2 sur la station hydro pour gérer une courbe de correction.

Règles techniques

On peut ajouter des courbes de correction uniquement aux stations de type STD, LIMNIMERE et HC.

Lorsque l’on modifie une courbe de correction, le web-service ajoute ou modifie des points pivot présents dans la courbe passé au web-service. Les points ne figurant pas dans la courbe passée ne sont pas modifiés.

Lorsque l’on ajoute une courbe de correction, elle doit posséder au moins deux points pivot.

Une courbe de correction en peut pas contenir deux points pivot avec les mêmes dates.

Le premier point d’une courbe de correction doit avoir un delta à 0.

Contenu de la requête HTTP

La requête HTTP doit contenir un json hydrométrie contenant une courbe de correction.

Json hydrométrie

Schéma de validation
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://phyc.org/ws/gererCourbeCorrection.json",
    "type": "object",
    "properties": {
        "Scenario": {
            "type": "object"
        },
        "Donnees": {
            "type": "object",
            "properties": {
                "CourbesCorrH": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "CdStationHydro": {"type": "string"},
                            "LbCourbeCorrH": {"type": ["string", "null"]},
                            "ComCourbeCorrH": {"type": ["string", "null"]},
                            "PointsPivot": {
                                "type": "array",
                                "items": {
                                    "type": "object",
                                    "properties": {
                                        "DtPointPivot": {"type": "string", "format": "date-time"},
                                        "DeltaHPointPivot": {"type": "number"}
                                    },
                                    "required": ["DtPointPivot", "DeltaHPointPivot"],
                                    "additionalProperties": false
                                },
                                "minItems": 1
                            }
                        },
                        "required": ["CdStationHydro"],
                        "additionalProperties": false
                    },
                    "minItems": 1
                }
            },
            "required": ["CourbesCorrH"],
            "additionalProperties": false
        }
    },
    "required": ["Scenario", "Donnees"],
    "additionalProperties": false
}
  • Les attributs Donnees (associé à l’objet Donnees) et Scenario sont obligatoires;

  • L’objet Donnees ne doit contenir qu’un seul attribut CourbesCorrH associé à une liste ne contenant qu’un seul objet CourbeCorrH;

  • L’attribut CdStationHydro de la courbe est obligatoire;

  • les attributs DtActivationPointPivot et DtDesactivationPointPivot des objets PointPivot ne doivent pas apparaître;

  • l’attribut DtMajCourbeCorrH de l’objet CourbeCorrH ne doit pas être présent.

Recalcul

L’ajout ou la modification d’une courbe de correction va générer des recalculs asynchrones sur une partie ou l’ensemble de la courbe de correction.

Réponse du web-service

En cas de succès, le web-service retournera un json hydrométrie contenant la courbe de correction.

Le web-service rajoutera l’attribut DtMajCourbeCorrH à la courbe de correction et les attributs DtActivationPointPivot aux points de la courbe de correction.