Ajout de simulations

Paramètres HTTP

Paramètre

Valeur

Route

simulation

Méthode

POST

Contenu

une liste d’objets Simulation au format json

Contenu de la requête HTTP

La requête contiendra des simulations à insérer au format json. Le code de simulation doit obligatoirement valoir 0.

Les propriétés suivantes sont obligatoires: DtProdSimul, CdSimul, CdSiteHydro ou CdStationHydro, GrdSimul et CdModelePrevision.

Schéma de validation

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://phyc.org/addsimulation.json",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "CdSiteHydro": {"type": "string"},
      "CdStationHydro": {"type": "string"},
      "DtProdSimul": {"format": "date-time"},
      "GrdSimul": {"type": "string", "enum": ["H", "Q"]},
      "CdSimul": {"type": "integer"},
      "IndiceQualSimul": {"type": "number", "minimum":  0, "maximum":  100},
      "DtFinValidSimul": {"format": "date-time"},
      "DtDebSimul": {"format": "date-time"},
      "DtFinSimul": {"format": "date-time"},
      "DtBaseSimul": {"format": "date-time"},
      "DtDerObsSimul": {"format": "date-time"},
      "ModeCalSimul": {"type": "integer", "minimum":  0, "maximum":  4},
      "StSimul": {"type": "integer", "enum":  [4, 16]},
      "TypPubliSimul": {"type": "integer", "enum":  [0,10,11,12,20,21,22,30,31,32]},
      "SysAltiSimul": {"type": "integer", "minimum":  0, "maximum":  31},
      "ContexteSimul": {"type": "string"},
      "ComSimul": {"type": "string"},
      "ComPrivSimul": {"type": "string"},
      "ModeSimul": {"type": "integer", "minimum":  0, "maximum":  5},
      "CdModelePrevision": {"type": "string"},
      "CdContact": {"type": "string"},
      "CdIntervenant": {"type": "string"},
      "schemeAgencyID": {
        "type": "string",
        "enum": ["SANDRE", "SIRET"]
      },
      "DtDebutRefAlti": {"format": "date-time"},
      "CdCourbeTarage": {"type": "integer"},
      "PrevsTendance": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "DtPrevTendance": {"format": "date-time"},
            "ResMoyPrevTendance": {"type": "number"},
            "ResMinPrevTendance": {"type": "number"},
            "ResMaxPrevTendance": {"type": "number"},
            "IncertDtPrevTendance": {"type": "integer", "minimum":  0}
          },
          "required": ["DtPrevTendance"],
          "additionalProperties": false
        },
        "minItems": 1
      },
      "PrevsDeterministe" : {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "DtPrevDeterministe": {"format": "date-time"},
            "ResPrevDeterministe": {"type": "number"},
            "IncertDtPrevDeterministe": {"type": "integer", "minimum":  0}
          },
          "required": ["DtPrevDeterministe", "ResPrevDeterministe"],
          "additionalProperties": false
        },
        "minItems": 1
      },
      "PrevsProb" : {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "DtPrevProb": {"format": "date-time"},
            "ProbsPrev": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "PProbPrev": {"type": "number", "minimum": 0, "maximum":  100},
                  "ResProbPrev": {"type" : "number"}
                },
                "required": ["PProbPrev", "ResProbPrev"]
              },
              "minItems": 1
            }
          },
          "required": ["DtPrevProb", "ProbsPrev"],
          "additionalProperties": false
        },
        "minItems": 1
      },
      "ScnSimul": {
        "type": "object",
        "properties": {
          "LbScnSimul" : {"type": "string"},
          "DescScnSimul" : {"type": "string"}
        },
        "required": ["LbScnSimul"],
        "additionalProperties": false
      },
      "PrevsEnsemble" : {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "DtPrevEnsembliste": {"format": "date-time"},
            "MembresPrevEnsemble": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "LbMembrePrevEnsemble": {"type": "string"},
                  "PoidMembrePrevEnsemble": {"type": "integer"},
                  "ResMembrePrevEnsemble": {"type": "number"}
                },
                "required": ["LbMembrePrevEnsemble", "ResMembrePrevEnsemble"],
                "additionalProperties": false
              },
              "minItems": 1
            }
          },
          "required": ["DtPrevEnsembliste", "MembresPrevEnsemble"],
          "additionalProperties": false
        },
        "minItems": 1
      },
      "PrevsEvol" : {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "TypPrevEvol": {"type": "integer", "minimum":  0, "maximum":  6},
            "DtDebPrevEvol": {"format": "date-time"},
            "IncertDtPrevEvol": {"type": "integer", "minimum":  0}
          },
          "required": ["TypPrevEvol", "DtDebPrevEvol"],
          "additionalProperties": false
        },
        "minItems": 1
      }
    },
    "required" : ["DtProdSimul", "GrdSimul", "CdSimul"],
    "oneOf": [
      {"required":  ["CdSiteHydro"]},
      {"required":  ["CdStationHydro"]}
    ],
    "additionalProperties": false
  },
  "minItems": 1
}

Exemple d’entrée

[
  {
    "CdSiteHydro": "A1234567",
    "DtProdSimul": "2015-01-01T06:05:00",
    "GrdSimul": "Q",
    "CdSimul": 0,
    "IndiceQualSimul": 100,
    "DtFinValidSimul": "2015-01-01T10:00:00",
    "DtDebSimul": "2015-01-01T07:00:00",
    "DtFinSimul": "2015-01-02T10:00:00",
    "DtBaseSimul": "2015-01-01T06:00:00",
    "DtDerObsSimul": "2015-01-02T10:00:00",
    "ModeCalSimul": 2,
    "StSimul": 4,
    "TypPubliSimul": 22,
    "SysAltiSimul": 31,
    "ContexteSimul": "contexte",
    "ComSimul": "cmnt",
    "ComPrivSimul": "privé",
    "ModeSimul": 5,
    "CdModelePrevision": "31",
    "CdContact": "0",
    "CdIntervenant": "1537",
    "schemeAgencyID": "SANDRE",
    "CdCourbeTarage": "1",
    "PrevsTendance": [{
      "DtPrevTendance": "2015-01-02T05:00:00",
      "ResMoyPrevTendance": 158,
      "ResMinPrevTendance": 155,
      "ResMaxPrevTendance": 167,
      "IncertDtPrevTendance": 3
    }],
    "PrevsDeterministe": [{
      "DtPrevDeterministe": "2015-01-02T06:00:00",
      "ResPrevDeterministe": 156,
      "IncertDtPrevDeterministe": 4
    }],
    "PrevsProb": [{
      "DtPrevProb": "2015-01-02T07:00:00",
      "ProbsPrev": [{
        "PProbPrev": 50,
        "ResProbPrev": 160
      }]
    }],
    "ScnSimul": {
      "LbScnSimul": "Lb scénario",
      "DescScnSimul": "Description"
    },
    "PrevsEnsemble": [{
      "DtPrevEnsembliste": "2015-01-02T08:00:00",
      "MembresPrevEnsemble": [{
        "LbMembrePrevEnsemble": "Lb membre",
        "PoidMembrePrevEnsemble": 19,
        "ResMembrePrevEnsemble": 165
      }]
    }],
    "PrevsEvol": [{
      "TypPrevEvol": 2,
      "DtDebPrevEvol": "2015-01-02T09:00:00",
      "IncertDtPrevEvol": 8
    }]
  }
]

Droit de gestion

L’utilisateur du web-service doit avoir les bons droits sur le site ou la station associé à la simulation.

Sortie du web-service

Le web-service renverra les simulations insérées.

En cas d’erreur pour une simulation, le web-service renverra comme code de simulation O et le message d’erreur dans le commentaire de la simulation.

Pour chaque simulation insérée, la PHyC renseignera le code de simulation.