Skip to main content

Geo-trigger webhook

Register Geo-trigger Webhooks to receive real-time Entry/Exit notifications from your customers.

Configure a Geo-trigger Webhook

From the Canvas Integration section, add a new Webhook and select Geo-trigger as the type in the dropdown.

Additional Header and Body fields

You can have additional information in either the headers or the body of the webhook’s request by adding extra fields.

You can also configure a Geo-trigger Webhook through Config API (Information on using the Config API for registering a Webhook can be found here.)

If you’d like to Create a Destination using Config API, you’ll use the following endpoints:

Add Geo-trigger Webhooks to a Project

When creating or editing a Project you can add Geo-trigger Webhooks within the webhooks property. Set the type to trigger in the request.

Endpoint: https://config.bluedot.io/prod1/projects

Example of adding a Geo-trigger Webhook:

"webhooks": [{
"type": "trigger",
"url": "<webhook URL goes here>"
}]

Webhook request JSON structure

Entry JSON request

{
    "type": "checkIn",
    "checkInId":"73cbdf0c-5523-46ec-bc15-c9ad362b2a85",
    "installRef":"c92f4a32dc35282d4471b42993f809fa",
    "checkInTime": "02-09-2018 00:08:16",
    "checkInTimeISO": "2018-09-02T00:08:16.000Z",
    "longitude":144.98173087835312,
    "latitude":-37.819805462370944,
    "fenceName":"Melbourne Cricket Ground Gate 1",
    "deviceSpeed":10,
    "fenceId":"80fc36ad-ee72-4450-ad96-b3fadfc26cb4",
    "zoneName":"Melbourne Cricket Ground",
    "zoneId":"ffece0a9-fd21-4148-892e-0a61d01a6bd4",
    "deviceType":"iPhone 9,3",
    "sdkVersion": "1.13.0",
    "os": "iOS",
    "osVersion": "12.1.2",
    "appBuildVersion": "2.8.0.639",
    "receivedAt": "2018-09-02T00:22:43.816Z"
}

Entry JSON request with customEventMetaData and customData

{
  "type": "checkIn",
  "checkInId":"73cbdf0c-5523-46ec-bc15-c9ad362b2a85",
  "installRef":"c92f4a32dc35282d4471b42993f809fa",
  "checkInTime": "02-09-2018 00:08:16",
  "checkInTimeISO": "2018-09-02T00:08:16.000Z",
  "longitude":144.98173087835312,
  "latitude":-37.819805462370944,
  "fenceName":"Melbourne Cricket Ground Gate 1",
  "deviceSpeed":10,
  "fenceId":"80fc36ad-ee72-4450-ad96-b3fadfc26cb4",
  "zoneName":"Melbourne Cricket Ground",
  "zoneId":"ffece0a9-fd21-4148-892e-0a61d01a6bd4",
  "deviceType":"iPhone 9,3",
  "sdkVersion": "1.13.0",
  "appBuildVersion": "2.8.0.639",
  "os": "iOS",
  "osVersion": "12.1.2",
  "receivedAt": "2018-09-02T00:22:43.816Z",
  "zoneCustomData": {
      "key1": "value1",
      "key2": "value2"
  },
  "eventMetaData": {
      "eKey1": "eValue1"
  }
}

Exit JSON request

{
    "type": "checkOut",
    "checkInId":"73cbdf0c-5523-46ec-bc15-c9ad362b2a85",
    "installRef":"c92f4a32dc35282d4471b42993f809fa",
    "checkInTime": "02-09-2016 00:08:16",
    "checkInTimeISO": "2016-09-02T00:08:16.000Z",
    "checkOutTime": "02-09-2016 02:25:47",
    "checkOutTimeISO": "2016-09-02T02:25:47.000Z",
    "dwellTime": 138, 
    "fenceName":"Melbourne Cricket Ground Gate 1",
    "fenceId":"80fc36ad-ee72-4450-ad96-b3fadfc26cb4",
    "zoneName":"Melbourne Cricket Ground",
    "zoneId":"ffece0a9-fd21-4148-892e-0a61d01a6bd4",
    "deviceType":"iPhone",
    "sdkVersion": "1.8.0",
    "appBuildVersion": "2.8.0.639",
    "receivedAt": "2016-09-02T02:25:47.816Z"
}

Exit JSON request with customEventMetaData and customData

{
    "type": "checkOut",
    "checkInId":"73cbdf0c-5523-46ec-bc15-c9ad362b2a85",
    "installRef":"c92f4a32dc35282d4471b42993f809fa",
    "checkInTime": "02-09-2016 00:08:16",
    "checkInTimeISO": "2016-09-02T00:08:16.000Z",
    "checkOutTime": "02-09-2016 02:25:47",
    "checkOutTimeISO": "2016-09-02T02:25:47.000Z",
    "dwellTime": 138, 
    "fenceName":"Melbourne Cricket Ground Gate 1",
    "fenceId":"80fc36ad-ee72-4450-ad96-b3fadfc26cb4",
    "zoneName":"Melbourne Cricket Ground",
    "zoneId":"ffece0a9-fd21-4148-892e-0a61d01a6bd4",
    "deviceType":"iPhone",
    "sdkVersion": "1.8.0",
    "appBuildVersion": "2.8.0.639",
    "receivedAt": "2016-09-02T02:25:47.816Z",
    "zoneCustomData": {
        "key1": "value1",
         "key2": "value2"
     },
     "eventMetaData": {
          "eKey1": "eValue1"
      }
}

Geo-trigger Webhook field description

Fields returned in Entry event JSON request

FieldTypeDescriptionExample
appBuildVersionStringThe app build version of the application using the Point SDK, which triggered the check-in. (Available only for check-ins of SDK version 1.8 and above.)"1.11.2"
checkInIdStringThe unique identifier of the Check-in record."73cbdf0c-5523-46ec-bc15-c9ad362b2a85"
checkInTimeStringUTC date and time of the Check-in in DD-MM-YYYY hh:mm:ss format."02-09-2018 00:08:16"
checkInTimeISOStringUTC date and time of the Check-in in ISO format."2016-09-02T00:08:16.000Z"
deviceSpeedNumberThe travel speed of the device at the time of Check-in reported as meters per second.10
eventMetaDataJSON ObjectKey/Value pairs passed from the application to Bluedot Point SDK. This will not be returned as part of the request if no data set on the Mobile SDK.{ “eKey1”: “eValue1” }
fenceIdStringThe unique identifier of the fence that triggered the Check-in."73cbdf0c-5523-46ec-bc15-c9ad362b2a85"
fenceNameStringThe name of the geofence that triggered the Check-in."Fence Number 1"
installRefStringThe unique app install reference on the device."73cbdf0c-5523-46ec-bc15-c9ad362b2a85"
latitudeNumberLatitude component of the coordinate at which the Entry event occurred.144.981730
longitudeNumberLongitude component of the coordinate at which the Entry event occurred.-37.819805
osStringThe OS of the device that triggered the Check-in event.android iOS
osVersionStringThe OS Version of the device that triggered the Check-in event.15.4.3
receivedAtStringUTC date and time of the Check-in was received in our database in ISO format."2016-09-02T00:08:16.000Z"
sdkVersionStringThe Point SDK version number is being used in the application which has triggered the Entry event. (Available only for check-ins of SDK version 1.6 and above.)"15.2.0"
typeStringThis field denotes the type of event being relayed from our servers to yours. For check-ins, the type will be “checkIn”."checkIn"
zoneCustomDataJSON ObjectKey/Value pair of Location specific data added to the custom action of the Zone. This will not be returned as part of the request if no data set for the Zone’s custom Action.{ “eKey1”: “eValue1” }
zoneIdStringThe unique identifier of the zone that triggered the Entry event."73cbdf0c-5523-46ec-bc15-c9ad362b2a85"
zoneNameStringThe name of the zone that triggered the Entry event."Zone Restaurant"

Fields returned in Exit event JSON request

FieldTypeDescriptionExample
checkOutTimeStringUTC date and time of the Check-out in DD-MM-YYYY hh:mm:ss format."02-09-2018 00:08:16"
checkOutTimeISOStringUTC date and time of the Check-out in ISO format."2016-09-02T00:08:16.000Z"
dwellTimeNumberThe dwell time is the number of minutes a device was within a fence.138
typeStringThis field denotes the type of event being relayed from our servers to yours. For Exit events, the type will be “checkOut”."checkOut"