Skip to main content

📅 Look-ahead awareness

The alarm evaluates daily forecast data for up to 14 days ahead, so you can prepare before adverse conditions arrive.

📍 Location-enriched

Every payload carries precise coordinates alongside city and district identifiers, making geo-routing effortless.

⚠️ Targeted violations

Only metrics that actually breach your configured thresholds appear in violations — no noise, no guesswork.
{
  "id": "a1b2c3d4-0000-4e5f-9876-000000000001",
  "registrationId": "f7587d9e-2481-4b4c-818d-c8d1946851b7",
  "recipientId": "customer-user-001",
  "notificationTime": "2025-09-14T04:00:15.123",
  "latitude": 39.9334,
  "longitude": 32.8597,
  "cityId": 6,
  "city": "Ankara",
  "districtId": 557,
  "district": "Çankaya",
  "distance": 1243.58,
  "violations": [
    {
      "metric": "PRECIPITATION",
      "unit": "mm",
      "forecasts": [
        { "time": "2025-09-14T00:00:00Z", "value": 12.4 },
        { "time": "2025-09-15T00:00:00Z", "value": 18.1 }
      ]
    },
    {
      "metric": "SNOWFALL",
      "unit": "cm",
      "forecasts": [
        { "time": "2025-09-14T00:00:00Z", "value": 8.5 }
      ]
    },
    {
      "metric": "WIND_GUSTS_MAX",
      "unit": "km/h",
      "forecasts": [
        { "time": "2025-09-14T00:00:00Z", "value": 75.2 },
        { "time": "2025-09-15T00:00:00Z", "value": 82.0 }
      ]
    },
    {
      "metric": "TEMPERATURE_MIN",
      "unit": "°C",
      "forecasts": [
        { "time": "2025-09-14T00:00:00Z", "value": -3.5 },
        { "time": "2025-09-15T00:00:00Z", "value": -5.1 }
      ]
    },
    {
      "metric": "TEMPERATURE_MAX",
      "unit": "°C",
      "forecasts": [
        { "time": "2025-09-14T00:00:00Z", "value": 38.5 },
        { "time": "2025-09-15T00:00:00Z", "value": 40.1 }
      ]
    }
  ]
}
1

Identify the monitoring point 🔍

Use registrationId or recipientId to look up which of your assets or customers this alarm concerns — pair it with city / district for a quick human-readable summary.
2

Triage violations ⚠️

Iterate over violations and map each metric to your internal risk policies. A single alarm can bundle multiple metrics (e.g. simultaneous heavy rain and strong gusts), so evaluate each entry independently.
3

Trigger downstream automation 🤖

Use forecasts[].time to schedule time-boxed actions — for example, send a heads-up notification at T-3h before the first threshold breach, and escalate if value keeps climbing across consecutive slots.