| Requires any of the roles: | Admin, TenantAdmin, Receptionist |
| POST | /notification | Creates a notification |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Title | form | string | Yes | Notification title |
| RecipientType | form | RecipientType | Yes | Recipient type of the notificationAllowable Values
|
| NotificationType | form | NotificationType | Yes | The type of notificationAllowable Values
|
| Vibrate | form | boolean | No | Whether the notification should be accompanied by vibration |
| Description | form | string | No | Description for the notification |
| Roles | form | array | No | Roles of users to send notification to |
| MobileUserIds | form | array | No | Mobile users to send notification to |
| BusinessUserIds | form | array | No | Business users to send notification to |
| ThingIds | form | array | No | Things to send notification to |
| ThingTypeIds | form | array | No | Thing types to send notification to |
| AccessNotification | form | AccessNotificationDto | No | Data required to process access notifications. |
| OfferNotification | form | OfferNotificationDto | No | Data required to process offer notifications. |
| SmartSpaceNotification | form | SmartSpaceNotificationDto | No | Data required to process smartspace notifications. |
| SystemNotification | form | SystemNotificationDto | No | Data required to process system notifications. |
| TaskListNotification | form | TaskListNotificationDto | No | Data required to process task list notifications. |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Version | form | integer | No | Api version |
| Name | Value |
|---|---|
| Guest | 10 |
| AllGuests | 20 |
| StaffMember | 30 |
| AllStaff | 40 |
| Thing | 50 |
| ThingType | 60 |
| Role | 70 |
| User | 80 |
| Name | Value |
|---|---|
| Access | 10 |
| Offer | 20 |
| TaskList | 30 |
| System | 40 |
| SmartSpace | 50 |
| Alarm | 60 |
| Info | 70 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ReservationId | form | Guid | No | |
| AccessNotificationType | form | NotificationAccessType | No |
| Name | Value |
|---|---|
| New | 10 |
| ExpiringSoon | 20 |
| Revoked | 30 |
| Canceled | 40 |
| Denied | 50 |
| Unautorized | 60 |
| OpenDoor | 70 |
| ReservationDenied | 80 |
| ReservationConfirmed | 90 |
| ReservationCancelled | 100 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ServiceId | form | Guid | No | |
| OfferNotificationType | form | NotificationOfferType | No |
| Name | Value |
|---|---|
| Service | 10 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ThingId | form | Guid | No | |
| NotificationSmartSpaceType | form | NotificationSmartSpaceType | No |
| Name | Value |
|---|---|
| SensorThreshold | 10 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| NotificationSystemType | form | NotificationSystemType | No |
| Name | Value |
|---|---|
| NewFeature | 10 |
| BugFix | 20 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TaskListId | form | Guid | No | |
| TaskListStatus | form | Status | No | |
| Categories | form | Category[] | No | |
| AssignedToMe | form | bool | No | |
| UnassignedCanAccept | form | bool | No | |
| TaskListNotificationType | form | NotificationTaskListType | No |
| Name | Value |
|---|---|
| ToDo | 0 |
| InProgress | 10 |
| Incomplete | 30 |
| Done | 40 |
| Name | Value |
|---|---|
| Cleaning | 10 |
| Maintenance | 20 |
| Disinfection | 30 |
| Inspection | 40 |
| Security | 50 |
| Name | Value |
|---|---|
| New | 10 |
| Updated | 20 |
| ExpiresSoon | 30 |
| Overdue | 40 |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Data | form | NotificationView | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ResponseStatus | form | ResponseStatus | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | Guid | No | |
| Created | form | DateTime | No | |
| Title | form | string | No | |
| RecipientTypes | form | HashSet<RecipientType> | No | |
| NotificationType | form | NotificationType | No | |
| Vibrate | form | bool | No | |
| Description | form | string | No | |
| ServiceId | form | Guid? | No | |
| OrganizationId | form | Guid | No | |
| Deactivated | form | bool | No | |
| DeactivatedOn | form | DateTime? | No | |
| DeactivatedBy | form | int? | No | |
| Roles | form | HashSet<string> | No | |
| MobileUsers | form | HashSet<UserNotificationDto> | No | |
| BusinessUsers | form | HashSet<BusinessUserNotificationDto> | No | |
| Things | form | HashSet<ThingNotificationDto> | No | |
| ThingTypes | form | HashSet<ThingTypeNotificationDto> | No | |
| DomainData | form | IDomainNotification | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| UserId | form | int | No | |
| NotificationId | form | Guid | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| BusinessUserId | form | int | No | |
| NotificationId | form | Guid | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ThingId | form | Guid | No | |
| NotificationId | form | Guid | No | |
| ThingName | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ThingTypeId | form | Guid | No | |
| NotificationId | form | Guid | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /notification HTTP/1.1
Host: api.4spaces.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
title: String,
recipientType: 10,
notificationType: 10,
vibrate: False,
description: String,
roles:
[
String
],
mobileUserIds:
[
0
],
businessUserIds:
[
0
],
thingIds:
[
00000000000000000000000000000000
],
thingTypeIds:
[
00000000000000000000000000000000
],
accessNotification:
{
reservationId: 00000000000000000000000000000000,
accessNotificationType: 10
},
offerNotification:
{
serviceId: 00000000000000000000000000000000,
offerNotificationType: 10
},
smartSpaceNotification:
{
thingId: 00000000000000000000000000000000,
notificationSmartSpaceType: 10
},
systemNotification:
{
notificationSystemType: 10
},
taskListNotification:
{
taskListId: 00000000000000000000000000000000,
taskListStatus: 0,
categories:
[
10
],
assignedToMe: False,
unassignedCanAccept: False,
taskListNotificationType: 10
},
version: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
data:
{
id: 00000000000000000000000000000000,
created: -62135596800000,
title: String,
recipientTypes:
[
10
],
notificationType: 10,
vibrate: False,
description: String,
serviceId: 00000000000000000000000000000000,
organizationId: 00000000000000000000000000000000,
deactivated: False,
deactivatedOn: -62135596800000,
deactivatedBy: 0,
roles:
[
String
],
mobileUsers:
[
{
userId: 0,
notificationId: 00000000000000000000000000000000
}
],
businessUsers:
[
{
businessUserId: 0,
notificationId: 00000000000000000000000000000000
}
],
things:
[
{
thingId: 00000000000000000000000000000000,
notificationId: 00000000000000000000000000000000,
thingName: String
}
],
thingTypes:
[
{
thingTypeId: 00000000000000000000000000000000,
notificationId: 00000000000000000000000000000000
}
]
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}