> For the complete documentation index, see [llms.txt](https://docs.movesdk.com/move-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.movesdk.com/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/backend/generic-notifier.md).

# MOVE Generic Notifier API

MOVE Backend APIs

Every information that does not fit into the Timeline API is transmitted by the generic notifier. The SDK Backend sends a batch of notifications to a defined URL, which can be defined in the [MOVE Dashboard > Configuration > Notifier](/move-platform/~/changes/1lLi1pFRKkteajbXv0hC/sdk/getting-started/move-dashboard.md#notifier). The request body is a list of notification items.

The definition of a notification item is:

| **Name**  | **Type**             | **Example**                            |
| --------- | -------------------- | -------------------------------------- |
| id        | String UUID          | "cdfac1e3-39dd-4312-aa2b-9e4b6b5f1b49" |
| projectId | Number               | 1000                                   |
| userId    | String               | "C2021030510"                          |
| time      | String (Instant)     | "2021-04-16T09:33:41.409927Z"          |
| type      | String               | "CustomeType"                          |
| data      | Map (String, String) | "data": { "test" : "t123"}             |

## POI event notifications

Each MOVE project can define its ["Points of Interest" in the MOVE Dashboard](https://app.gitbook.com/o/-MZJuTkf7s0lbgSC01KG/s/-MXD5xlIFUYU8eK_kkLo/~/changes/UwiCL1LXhZdAMPU3BBsi/sdk-1/getting-started/move-dashboard#points-of-interest-get-notified-when-user-is-close-by). Whenever a user device sends a Point of Interest (POI), this event will be sent through the Generic Notifier. The data is defined as such:

* **distance** - distance of the user device to the POI, when the POI triggered
* **inTrip** - whether or not the device was in a trip, when the POI triggered
* **name** - the POI name you defined in the MOVE Dashboard
* **lat/lon** - the position of the user
* **tags** - any tags you may have entered in the MOVE Dashboard

Example JSON:

```typescript
    "id": "cdfac1e3-39dd-4312-aa2b-9e4b6b5f1b49",
    "projectId": 1000,
    "userId": "2021030510",
    "time": "2021-04-16T09:33:41.409927Z",
    "type": "POI",
    "data": {
      "distance" : "15",
      "inTrip" : "false", 
      "name" : "Office", 
      "lon" : "15.167910010896458", 
      "lat" : "48.16988434573538"   
    }
```

### Weather Event

This notification warns users of extreme weather events that could affect their parked cars.

Example JSON:

```
{
   "id": "cdfac1e3-39dd-4312-aa2b-9e4b6b5f1b49",
    "projectId": 1000,
    "userId": "2021030510",
    "time": "2021-04-16T09:33:41.409927Z",
    "type": "WEATHER_EVENT",
    "data": {
      "movementtype": "parked/LIO",
      "origin": "airflow-weather",
      "predictedtime": "1678078800",
      "weather": "Cold under 3 (1) between 06:00 and 09:00",
      "location": "3423 Sankt Andrä-Wördern (Tullner Straße 22)- Niederösterreich/Österreich" 
    }
}
```

This is a JSON object that contains data related to a weather event. The object has several key-value pairs that provide information about the event.

#### Key-Value Pairs

* **id**: A unique identifier for the event. It is a string value in the format of UUID.
* **projectId**: The project identifier associated with the event. It is an integer value.
* **userId**: The user identifier associated with the event. It is a string value.
* **time**: The time when the event occurred. It is a string value in the format of ISO 8601 with timezone.
* **type**: The type of the event. In this case, it is a weather event and the value is "WEATHER\_EVENT".
* **data**: A JSON object that contains additional data related to the event.
  * **movementtype**: The type of movement associated with the event. It is a string value.
  * **origin**: The source of the weather data. It is a string value.
  * **predictedtime**: The predicted time for the weather event. It is a string value in UNIX timestamp format.
  * **weather**: A description of the weather event. It is a string value.
  * **location**: The location where the weather event occurred. It is a string value that contains the address information in a specific format.
