Platform API

<back to all web services

InsertNotification

Inserts a new notification

Requires Authentication
The following routes are available for this service:
POST/api/notification/insert
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class NotificationRole:
    role_id: Optional[str] = None
    role_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Notification:
    notification_id: Optional[str] = None
    notification_group_id: Optional[str] = None
    notification_group_name: Optional[str] = None
    suite_id: Optional[str] = None
    suite_name: Optional[str] = None
    notification_value_id: Optional[str] = None
    roles: Optional[List[NotificationRole]] = None
    roles_to_display: Optional[str] = None
    name: Optional[str] = None
    description: Optional[str] = None
    is_mandatory: bool = False
    is_cardinality: bool = False
    is_system: bool = False
    is_audit: bool = False
    is_visible_to_recipients: bool = False
    is_single_use: bool = False
    email: bool = False
    email_default: bool = False
    email_template_id: Optional[str] = None
    email_template_body: Optional[str] = None
    email_subject: Optional[str] = None
    sms: bool = False
    sms_default: bool = False
    sms_template_id: Optional[str] = None
    sms_template_body: Optional[str] = None
    update_notification: bool = False
    update_notification_default: bool = False
    update_template_id: Optional[str] = None
    update_template_body: Optional[str] = None
    update_subject: Optional[str] = None
    push: bool = False
    push_default: bool = False
    phone: bool = False
    phone_default: bool = False
    contact_id_owner: Optional[str] = None
    record_status: Optional[str] = None
    email_template_definition_id: Optional[str] = None
    sms_template_definition_id: Optional[str] = None
    update_template_definition_id: Optional[str] = None
    index: int = 0


# @Api(Description="Inserts a new notification")
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InsertNotification:
    """
    Inserts a new notification
    """

    notification: Optional[Notification] = None

Python InsertNotification DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/notification/insert HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Notification: 
	{
		NotificationGroupName: String,
		SuiteName: String,
		Roles: 
		[
			{
				RoleName: String
			}
		],
		RolesToDisplay: String,
		Name: String,
		Description: String,
		IsMandatory: False,
		IsCardinality: False,
		IsSystem: False,
		IsAudit: False,
		IsVisibleToRecipients: False,
		IsSingleUse: False,
		Email: False,
		EmailDefault: False,
		EmailTemplateBody: String,
		EmailSubject: String,
		SMS: False,
		SMSDefault: False,
		SMSTemplateBody: String,
		UpdateNotification: False,
		UpdateNotificationDefault: False,
		UpdateTemplateBody: String,
		UpdateSubject: String,
		Push: False,
		PushDefault: False,
		Phone: False,
		PhoneDefault: False,
		RecordStatus: String,
		Index: 0
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ErrorCode: String,
	Message: String,
	StackTrace: String,
	Errors: 
	[
		{
			ErrorCode: String,
			FieldName: String,
			Message: String,
			Meta: 
			{
				String: String
			}
		}
	],
	Meta: 
	{
		String: String
	}
}