Remplacement d’une plage d’une courbe de correction

Ce web-service permet de remplacer des plages de points pivot d’une courbe de correction en PHyC.

Les points de la courbe de correction compris dans l’intervalle [dtdebut-dtfin] sont remplacés par les points de la courbe passée en paramètre.

Paramètres HTTP

Paramètre

Valeur

Route

courbecorrection/remplacementplage

Méthode

PUT

Contenu

courbe de correction au format json

Paramètres URL

L’url doit contenir les paramètres suivants:

Nom

Description

Type

O/F

dtdebut

date de début

datetime

O

dtfin

date de fin

datetime

O

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

La PHyC vérifie qu’après remplacement, la courbe possède encore au moins de 2 points pivot.

Lorsque l’on remplace les premiers points d’une courbe de correction, la PHyC vérifie que le nouveau premier point de la courbe de correction a son delta à 0.

L’appel du web-service échouera dans les cas suivants :

  • absence de courbe de correction ;

  • un des points à désactiver n’est pas actif ou n’existe pas ;

  • delta du premier point de la courbe de correction différent de 0;

  • la courbe de correction finale comporte moins de deux points.

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/gererCourbeCorrectionRemplacementPlage.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;

  • L’attribut PointsPivot non obligatoire de l’objet CourbeCorrH doit être une liste non vide d’objets PointPivot

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

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

Recalcul

L’appel du web-service 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 passée en paramètre.

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