# MOVE Generic Notifier

Every information that does not fit into the timeline API is transmitted by the generic notifier. The SDK Backend sends a batch of notification to a defined URL, which can be defined in the [MOVE Dashboard > Configuration > Notifier](https://docs.movesdk.com/move-platform/move-sdk-1.x/sdk/getting-started/move-dashboard#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" |
| productId  | Number               | 1000                                   |
| contractId | 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",
    "productId": 1000,
    "contractId": "2021030510",
    "time": "2021-04-16T09:33:41.409927Z",
    "type": "POI",
    "data": {
      "distance" : "15",
      "inTrip" : "false", 
      "name" : "Office", 
      "lon" : "15.167910010896458", 
      "lat" : "48.16988434573538"   
    }
```

#### Security <a href="#gettingstartedwiththedolphinmovetimelineservice-security" id="gettingstartedwiththedolphinmovetimelineservice-security"></a>

With every request, a signature is being sent in the "X-Dolphin-Signature" Header. The signature is calculated as an HMAC with SHA-256 of the request body, with the secret you gave us during the webhook setup. The format of the header is "sha256=\<base64-encoded-hash>".
