Notifications and Interactions

The notifications are sent to you via the configured endpoint, see Configure Notification Settings. Nevertheless you might want to render a list of delivered notifications at a later time.

Use following MOOST API to achieve that

Set an Interaction on a delivered Notification

When the push notification is sent to a end-customer (typically to a mobile app), then this person shall have the possibility to interact to the notification. The app shall then send the interaction type with following API call:

Save an interaction on a delivered push notification

post
Authorizations
Path parameters
pushNotificationIdstringRequired

Select specified notification.

Pattern: ^[a-zA-Z0-9]{24}$
Body
actionQualifierstringOptional
userIdstringOptionalPattern: ^[a-zA-Z0-9:._@-]{1,100}$
Responses
200
OK
post
POST /pushnotifications/{pushNotificationId}/interactions/v1 HTTP/1.1
Host: api.moost.io
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "actionQualifier": "text",
  "userId": "text"
}
200

OK

No content

Example with CURL

# make sure ACCESS_TOKEN is set and valid (see "Request Access Token")
curl -X POST "https://api.moost.io/pushnotifications/668b8e708f308b0123074cb7/interactions/v1" \
     -H  "Authorization: Bearer $ACCESS_TOKEN" \
     -H  "Content-Type: application/json" -d "{\"actionQualifier\":\"OPENWEB\"}"

Load Notifications of a Building

The app shall have the possibility to display the generated notifications. Following API can be used to fulfill this need.

Get push notifications of a building

get
Authorizations
Path parameters
customerBuildingIdstringRequired

Select notifications of specified building.

Pattern: ^[a-zA-Z0-9:._-]{1,100}$
Query parameters
deliveryStatusstring · enumOptional

If specified, then filter for notifications with specified status.

Possible values:
Responses
200
OK
application/json
get
GET /pushnotifications/buildings/{customerBuildingId}/v1 HTTP/1.1
Host: api.moost.io
Authorization: Bearer JWT
Accept: */*
200

OK

[
  {
    "id": "text",
    "customerId": "text",
    "customerBuildingId": "text",
    "ruleId": "text",
    "priority": "high",
    "createdAtTimeMillis": 1,
    "interaction": {
      "actionQualifier": "DISMISS",
      "userId": "text"
    },
    "ingestionTimestamp": 1,
    "notification": {
      "actionQualifier": {
        "ANY_ADDITIONAL_PROPERTY": "DISMISS"
      },
      "texts": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "message": "text",
          "actions": {
            "ANY_ADDITIONAL_PROPERTY": {
              "text": "text",
              "parameter": "text"
            }
          }
        }
      },
      "command": "text"
    },
    "delivery_status": {
      "status": "DELIVERED",
      "reason": "text"
    },
    "userIds": [
      "text"
    ]
  }
]

Example with CURL

curl -X GET "https://api.moost.io/pushnotifications/buildings/99900000ECA31C6E/v1?deliveryStatus=DELIVERED" \
     -H  "Authorization: Bearer $ACCESS_TOKEN"

Last updated