Профили интеграции#

Документ фиксирует baseline профили интеграции для модулей melioration.

1. Профиль A: дождевальная машина#

  • adapter_profile_id: melioration-machine-controller-v1

  • module_id: melioration-irrigation-machine

  • source_type: machine_controller

  • transport: http ingest

  • endpoint: POST /api/v1/melioration-irrigation-machine/commands/ingest

  • required_fields: [field_id, machine_id, started_at, ended_at, volume_mm|volume_m3]

  • idempotency: id (или windowed-dedup по ключу события)

2. Профиль B: капельный/внутрипочвенный контроллер#

  • adapter_profile_id: melioration-drip-controller-v1

  • module_id: melioration-irrigation-drip

  • source_type: drip_controller

  • transport: http ingest

  • endpoint: POST /api/v1/melioration-irrigation-drip/commands/ingest

  • required_fields: [field_id, controller_id, started_at, ended_at, volume_mm|volume_m3]

  • idempotency: id (или windowed-dedup по ключу события)

3. Профиль C: станция влажности почвы#

  • adapter_profile_id: melioration-soil-station-v1

  • module_id: melioration-soil-moisture

  • source_type: soil_station

  • transport: http ingest

  • endpoint: POST /api/v1/melioration-soil-moisture/commands/ingest

  • required_fields: [field_id, depth_cm, moisture_percent, measured_at]

  • quality_rules: depth_cm > 0, moisture_percent 0..100

4. Профиль D: weather primary/fallback#

  • station_adapter_profile_id: melioration-weather-station-v1

  • service_adapter_profile_id: melioration-weather-service-v1

  • module_id: melioration-weather

  • source_type: station + external_weather_service

  • endpoints:

    • POST /api/v1/melioration-weather/commands/ingest

    • POST /api/v1/melioration-weather/commands/telemetry

  • policy: D-008 (station primary, service fallback, anomaly_control)

5. Наблюдаемость и политика качества#

  • все профили публикуются в scheme модулей через adapter_profile_id/ingest_sources;

  • все ingest-каналы защищены windowed-dedup (90s) по ключевым полям события;

  • weather fallback активируется через telemetry healthy=false, в выдаче фиксируется source_mode=service_fallback.