Webhooks

    Overview

    Share911 can be configured to send data to a designated URL whenever certain events occur.  

    For help configuring Webhooks for your organization please contact support@share911.com.

     

    Configuring a Webhook

    Share911 supports the use of up to 3 webhooks per channel.

    Enable this webhook

    Each webhook may be configured prior to it being enabled.  This allows for staff to double-check values before going live.

    Label

    The name you would like to give this webhook.  Used to keep track of how the webhook is used.

    Username

    The username to use when authenticating via Basic authentication.

    Password

    The password to use when authenticating via Basic authentication.

    Integration Endpoint URL

    The destination URL that will receive the webhook POST requests.  This URL should support encryption (https) since Basic authentication is being used.

    Alert Types

    The alerts that this webhook should trigger on.  For example, if only Lockdown and All Clear are selected then broadcasting an Evacuate alert would _not_ cause the webhook to activate.

    Activate during drills

    Controls whether this webhook should activate during drills.

    CA Certificate

    An optional certificate to include when making the POST request.

    Allow insecure connections

    Controls whether the webhook request will permit connections using self-signed certificates.

    Extra Headers

    Optional headers that will be sent with the request.  Place each field/value pair on its own line in JSON format. 

    Example:

    MyCustomerHeader: "abc123"
    Expect: "100-continue"

    Extra Data

    Optional extra data that will be sent with each request.  Place each field/value pair on its own line in JSON format.

    Example:

    signalSource: "Share911"
    customerId: "xyz123"

     

    Broadcast Payload

    A JSON payload will be delivered directly as the body of the POST request using the application/json content type.

    Examples

    LOCKDOWN

    {
    "eventType": "alert",
    "eventId": "c95482d8-2adc-4434-b8dc-c5c5f049fa91",
    "transId": "038b1cbc-996b-4442-b26d-7ced6d12cbeb",
    "channelId": "bedford.k12.va.us/middle",
    "channelName": "Bedford Middle School",
    "eventName": "Lockdown",
    "eventCode": 1,
    "msg": "Test to demonstrate webhook integration",
    "drill": true,
    "addr": {
    "street1": "1 Main St",
    "street2": "",
    "city": "Bedford",
    "state": "VA",
    "lat": 37.3258781,
    "lng": -79.5034316,
    "county": "Bedford County",
    "zip": "24503"
    },
    "by": {
    "userId": "sdflksfdjlj",
    "firstname": "Adrian",
    "lastname": "Lanning",
    "title": "Share911 CTO",
    "email": "adrian@share911.com",
    "mobile": "+15555555555"
    },
    "timestamp": "2023-03-07T20:22:38.000Z",
    "voiceText": "",
    "myCustomData": "xyz123"
    }

     

    ALL CLEAR

    {
        "eventType": "alert",
        "eventId": "3e79a6a8-7766-4978-adb6-34c922c1814c",
        "transId": "7f64c089-f1ea-4cab-bfc3-22a5c941813a",
        "channelId": "bedford.k12.va.us/middle",
        "channelName": "Bedford Middle School",
        "eventName": "All Clear",
        "eventCode": 5,
        "msg": "This ends the event",
        "drill": true,
        "addr": {
            "street1": "1 Main St",
            "street2": "",
            "city": "Bedford",
            "state": "VA",
            "lat": 37.3258781,
            "lng": -79.5034316,
            "county": "Bedford County",
            "zip": "24503"
        },
        "by": {
          "userId": "sdflksfdjlj",
            "firstname": "Adrian",
            "lastname": "Lanning",
            "title": "Share911 CTO",
            "email": "adrian@share911.com",
          "mobile": "+15555555555"
        },
        "timestamp": "2023-03-07T20:27:57.000Z",
        "voiceText": "",
        "myCustomData": "xyz123"
    }

     

    Data Fields

    eventType

    The type of event: 'alert'

    eventId

    A UUID generated by Share911 for every event; can be safely ignored but may be useful when tracing a specific event's flow through the system.

    transId

    A UUID generated by Share911 for every alert; can be safely ignored but may be useful when tracing a specific alert's flow through the system.

    channelId

    Channel ID is the unique identifier of the communication channel on which the alert was broadcast. Typically each customer building will have its own channel in Share911.  The easiest way to find the Channel ID is on the Manage Channel => Channel Info page, under either Channel ID or Share ID.  You can also find the Channel ID by looking in the URL. For example, if I select the East Branch channel in Share911, the Channel ID is the "sharevilledemo/eastbranch" part of the URL:
    https://share911.com/sharevilledemo/eastbranch

    channelName

    Customer-defined name for the communication channel on which the alert was broadcast.

    eventName

    The name of the alert in English. For example, "Lockdown".

    eventCode

    A numeric ID which corresponds 1-to-1 with the "eventName". Can be used to avoid string comparison when identification of a specific alert type is required. Contact support@share911.com for a complete mapping of alert types to names.

    msg

    The optional message supplied when the broadcast was initiated.

    drill

    A boolean value indicating whether the event was during a drill or not.

    addr

    A JSON object representing the address of the target channel.

    Has the following fields: street1, street2, city, state, lat, lng, county, zip

    by

    A JSON object representing information about the initiating user.

    Has the following fields: userId, firstname, lastname, title, email, mobile

    timestamp

    The time the broadcast was initiated in ISO 8601 format.