Aller au contenu

Déclarer un CHANGEMENT de matériel sur la sonde

PUT /modules/{moduleId}/irrigation/installation
  • Scope irrigation:write
  • Clé API x-api-key
  • URL de base https://api.hub.akuasense.com/v1

Crée une nouvelle VERSION du réglage. La version qui couvrait effectiveFrom est close à cette date ; celles qui commencent APRÈS ne sont jamais touchées — c’est ce qui permet de documenter le passé après coup. Les arrosages de la sonde (ou des sondes de la parcelle) restés sans dose sont ensuite complétés automatiquement ; une dose déjà inscrite n’est jamais réécrite. Pour corriger une faute de frappe sans allonger l’historique, utiliser PATCH /irrigation/installations/{versionId}.

Paramètres de chemin

  • moduleId integer obligatoire

En-têtes

  • Idempotency-Key string

    Rejoue la même réponse 2xx (24 h)

Corps de la requête

  • system string obligatoire

    Type de matériel. Détermine la valeur par défaut de la fraction de sol mouillée (FAO-56 table 20) : drip 0,35 · micro_sprinkler 0,60 · tous les autres 1,00.

    Valeurs : dripmicro_sprinklersprinklerpivotgravitymanualother
  • emitterFlowLph number

    Débit d’un goutteur, en L/h (imprimé sur le matériel).

  • emittersPerM2 number

    Goutteurs par m² = 1 ÷ (écartement goutteurs × écartement rampes, en m).

  • flowMmPerH number

    Débit surfacique en mm/h. IGNORÉ si emitterFlowLph ET emittersPerM2 sont fournis — la géométrie est la saisie la plus précise, et laisser les deux diverger produirait des mm dont personne ne saurait dire d’où ils sortent.

  • irrigatedAreaM2 number

    Surface irriguée en m². Nécessaire pour convertir un volume (m³) en mm.

  • fractionWetted number

    Fraction de sol mouillée (fw). À NE PAS renseigner en temps normal : le défaut du système (FAO-56 table 20) s’applique. Réservé aux installations atypiques.

  • notes string
  • effectiveFrom string date-time

    Date d’EFFET terrain. Absente = maintenant, SAUF pour le tout premier réglage applicable à la cible (aucune version ni pour elle ni, pour une sonde, pour sa parcelle) : il vaut alors depuis toujours (validFrom = 1970-01-01T00:00:00Z), pour que les arrosages déjà saisis reçoivent leur dose. Une date passée documente l’époque : la version couvrant cette date est close à cet instant, et les versions postérieures sont INTACTES. Le futur est refusé (EFFECTIVE_FROM_IN_FUTURE).

Réponse

200

Configuration après écriture

  • moduleId integer
  • parcelId integer peut être null
  • installation IrrigationInstallation peut être null

    Réglage EFFECTIF aujourd’hui, après résolution de portée. null = aucun réglage.

    Afficher les 13 attributs Masquer les attributs
    • id integer
    • scope string

      Portée. Un réglage de sonde l’emporte EN BLOC sur celui de sa parcelle — jamais champ par champ.

      Valeurs : moduleparcel
    • parcelId integer peut être null
    • moduleId integer peut être null
    • system string

      Type de matériel. Détermine la valeur par défaut de la fraction de sol mouillée (FAO-56 table 20) : drip 0,35 · micro_sprinkler 0,60 · tous les autres 1,00.

      Valeurs : dripmicro_sprinklersprinklerpivotgravitymanualother
    • flowMmPerH number peut être null

      Débit surfacique en mm/h. Calculé quand la géométrie du goutte-à-goutte est fournie (emitterFlowLph × emittersPerM2), sinon saisi directement — c’est l’unité constructeur en aspersion et en pivot. null : une durée ne pourra pas être convertie en mm.

    • emitterFlowLph number peut être null

      Débit d’UN goutteur, en L/h. C’est ce qui est imprimé sur le matériel.

    • emittersPerM2 number peut être null

      Densité de goutteurs par m². Personne n’a ce chiffre en tête : il se déduit des écartements — 1 ÷ (écartement goutteurs × écartement rampes, en m), ou (goutteurs par arbre) ÷ (surface par arbre).

    • fractionWetted number

      Fraction de sol mouillée (fw, FAO-56 table 20), 0 < fw ≤ 1. Toujours renseignée : valeur saisie, sinon défaut du système. Ne se demande pas à un agriculteur.

    • fractionWettedIsDefault boolean

      true = issue du défaut du système, jamais saisie.

    • irrigatedAreaM2 number peut être null

      Surface irriguée en m². Requise pour convertir un volume en mm.

    • validFrom string date-time

      Date d’EFFET terrain de cette version.

    • validTo string date-time peut être null

      Borne haute EXCLUE. null = version courante.

  • defaultFractionWetted number peut être null

    Ce que vaudrait fw si elle n’était pas saisie.

  • placement IrrigationPlacement peut être null

    Implantation de la sonde par rapport au goutteur. ⚠️ N’entre dans AUCUN calcul et ne doit pas y entrer : c’est une variable d’observation, destinée à expliquer après coup pourquoi un capteur reste muet (sonde plantée hors du bulbe).

    Afficher les 3 attributs Masquer les attributs
    • emitterDistanceCm integer peut être null

      Distance au goutteur le plus proche, en cm. 0 est légitime.

    • notes string peut être null
    • setAt string date-time
  • canGeneralize boolean

    Le réglage de cette sonde peut-il être passé à la parcelle ?

  • hasParcelInstallation boolean

    Existe-t-il un réglage de parcelle vers lequel retomber ?

  • siblingOverrides integer

    Nombre d’AUTRES sondes de la parcelle portant leur propre réglage courant — ce que generalize avec dropSiblings écraserait.

  • versions tableau d’IrrigationInstallationVersion

    Historique complet applicable à cette sonde — ses versions ET celles de sa parcelle, chacune étiquetée par sa portée, du plus récent au plus ancien.

    Afficher les 15 attributs Masquer les attributs
    • id integer
    • scope string

      Portée. Un réglage de sonde l’emporte EN BLOC sur celui de sa parcelle — jamais champ par champ.

      Valeurs : moduleparcel
    • parcelId integer peut être null
    • moduleId integer peut être null
    • system string

      Type de matériel. Détermine la valeur par défaut de la fraction de sol mouillée (FAO-56 table 20) : drip 0,35 · micro_sprinkler 0,60 · tous les autres 1,00.

      Valeurs : dripmicro_sprinklersprinklerpivotgravitymanualother
    • flowMmPerH number peut être null

      Débit surfacique en mm/h. Calculé quand la géométrie du goutte-à-goutte est fournie (emitterFlowLph × emittersPerM2), sinon saisi directement — c’est l’unité constructeur en aspersion et en pivot. null : une durée ne pourra pas être convertie en mm.

    • emitterFlowLph number peut être null

      Débit d’UN goutteur, en L/h. C’est ce qui est imprimé sur le matériel.

    • emittersPerM2 number peut être null

      Densité de goutteurs par m². Personne n’a ce chiffre en tête : il se déduit des écartements — 1 ÷ (écartement goutteurs × écartement rampes, en m), ou (goutteurs par arbre) ÷ (surface par arbre).

    • fractionWetted number

      Fraction de sol mouillée (fw, FAO-56 table 20), 0 < fw ≤ 1. Toujours renseignée : valeur saisie, sinon défaut du système. Ne se demande pas à un agriculteur.

    • fractionWettedIsDefault boolean

      true = issue du défaut du système, jamais saisie.

    • irrigatedAreaM2 number peut être null

      Surface irriguée en m². Requise pour convertir un volume en mm.

    • validFrom string date-time

      Date d’EFFET terrain de cette version.

    • validTo string date-time peut être null

      Borne haute EXCLUE. null = version courante.

    • setAt string date-time

      Date de la SAISIE, distincte de validFrom qui est la date d’effet sur le terrain.

    • notes string peut être null
  • missingDoses object

    Arrosages enregistrés dont la dose n’a jamais pu être calculée.

    Afficher les 3 attributs Masquer les attributs
    • count integer
    • withoutInstallation integer

      Part d’entre eux qu’aucun recompute ne pourra compléter : aucune version de réglage ne couvre leur date. Le geste utile est alors de déclarer un réglage rétroactif.

    • oldestWithoutInstallation string date-time peut être null

Erreurs

  • 400

    Saisie refusée

    INVALID_SYSTEMINVALID_EMITTER_FLOWINVALID_EMITTER_DENSITYINVALID_FLOW_RATEINVALID_FRACTION_WETTEDINVALID_IRRIGATED_AREAINVALID_EFFECTIVE_FROMEFFECTIVE_FROM_IN_FUTUREINSTALLATION_VERSION_EXISTS_AT_DATEMODULE_NOT_OWNED
  • 401

    Non authentifié

  • 403

    Scope/rôle insuffisant ou hors société