| PUT | /api/automation/notification/{AutomationId} | ||
|---|---|---|---|
| POST | /api/automation/notification |
export class AutomationModel
{
/** @description The unique automation Id */
// @ApiMember(Description="The unique automation Id", ParameterType="query")
public AutomationId: string;
/** @description The automation type Id */
// @ApiMember(Description="The automation type Id", ParameterType="query")
public AutomationTypeId: string;
/** @description The automation type */
// @ApiMember(Description="The automation type", ParameterType="query")
public AutomationType: string;
/** @description The object this automation applies to */
// @ApiMember(Description="The object this automation applies to", ParameterType="query")
public ObjectId: string;
/** @description The object name this automation applies to */
// @ApiMember(Description="The object name this automation applies to", ParameterType="query")
public ObjectName: string;
/** @description The Id of the object type that this automation applies to. */
// @ApiMember(Description="The Id of the object type that this automation applies to. ", ParameterType="query")
public RmsTableCtxIdObject: string;
/** @description The name of the object type that this automation applies to. */
// @ApiMember(Description="The name of the object type that this automation applies to.", ParameterType="query")
public RmsTableCtxName: string;
/** @description A guid list containing the selected system action Id's that trigger this automation. */
// @ApiMember(Description="A guid list containing the selected system action Id's that trigger this automation.", ParameterType="query")
public ActionList: string[];
/** @description A comma separated string of the selected system action names that trigger this automation. */
// @ApiMember(Description="A comma separated string of the selected system action names that trigger this automation.", ParameterType="query")
public Actions: string;
/** @description Name of the automation. */
// @ApiMember(Description="Name of the automation.", ParameterType="query")
public Name: string;
/** @description Description of the automation */
// @ApiMember(Description="Description of the automation", ParameterType="query")
public Description: string;
/** @description Owner Contact Id */
// @ApiMember(Description="Owner Contact Id", ParameterType="query")
public OwnerContactId: string;
/** @description Record Status of the automation. */
// @ApiMember(Description="Record Status of the automation.", ParameterType="query")
public RecordStatus: string;
public constructor(init?: Partial<AutomationModel>) { (Object as any).assign(this, init); }
}
export class AutoNotificationModel extends AutomationModel
{
/** @description Contact Id of the licensee this notification has been created for. */
// @ApiMember(Description="Contact Id of the licensee this notification has been created for.", ParameterType="query")
public ContactIdLicensee: string;
/** @description Contact Role Group Id. If the notification is setup for people in a specified contact role group. */
// @ApiMember(Description="Contact Role Group Id. If the notification is setup for people in a specified contact role group.", ParameterType="query")
public ContactRoleGroupId: string;
/** @description Contact Role Id. If the notification is setup for people in a specified role. */
// @ApiMember(Description="Contact Role Id. If the notification is setup for people in a specified role.", ParameterType="query")
public ContactRoleId: string;
/** @description Contact Role Name. If the notification is setup for people in a specified role. */
// @ApiMember(Description="Contact Role Name. If the notification is setup for people in a specified role.", ParameterType="query")
public ContactRoleName: string;
/** @description Contact Id. If the notification is setup for a specific person. */
// @ApiMember(Description="Contact Id. If the notification is setup for a specific person.", ParameterType="query")
public ContactId: string;
/** @description If true, then only contacts who are connected to the relevant object are notified. */
// @ApiMember(Description="If true, then only contacts who are connected to the relevant object are notified.", ParameterType="query")
public ObjectContactConnectionRequired: boolean;
/** @description Document Notification: If true, then the notification will include a link to download the document. */
// @ApiMember(Description="Document Notification: If true, then the notification will include a link to download the document.", ParameterType="query")
public AllowDirectAccess: boolean;
/** @description If true, the notification is sent as soon as it can be processed */
// @ApiMember(Description="If true, the notification is sent as soon as it can be processed", ParameterType="query")
public SendImmediately: boolean;
/** @description If true, the notification is flagged and sent out when subscription/batch emails are next sent. */
// @ApiMember(Description="If true, the notification is flagged and sent out when subscription/batch emails are next sent.", ParameterType="query")
public Batched: boolean;
/** @description Document Notification: If true, the notification is sent when a document has a status of draft. */
// @ApiMember(Description="Document Notification: If true, the notification is sent when a document has a status of draft.", ParameterType="query")
public DraftStatus: boolean;
/** @description Document Notification: If true, the notification is sent when a document has a status of final. */
// @ApiMember(Description="Document Notification: If true, the notification is sent when a document has a status of final.", ParameterType="query")
public FinalStatus: boolean;
/** @description True if we want to include a report on an email notification. */
// @ApiMember(Description="True if we want to include a report on an email notification. ", ParameterType="query")
public IncludeReport: boolean;
/** @description True if this notification is based on a template. */
// @ApiMember(Description="True if this notification is based on a template.", ParameterType="query")
public IsTemplateNotification: boolean;
/** @description When Inserting a new notification we can have 1+ roles. They should be passed to this field when inserting. */
// @ApiMember(Description="When Inserting a new notification we can have 1+ roles. They should be passed to this field when inserting.", ParameterType="query")
public Roles: string[];
/** @description Communication Type Id. */
// @ApiMember(Description="Communication Type Id.", ParameterType="query")
public CommunicationTypeId: string;
/** @description Communication Type. */
// @ApiMember(Description="Communication Type.", ParameterType="query")
public CommunicationType: string;
/** @description If communication type is email, this is the subject of the email to be sent. */
// @ApiMember(Description="If communication type is email, this is the subject of the email to be sent.", ParameterType="query")
public Subject: string;
/** @description This is the notification details to be sent. */
// @ApiMember(Description="This is the notification details to be sent.", ParameterType="query")
public Body: string;
/** @description If true, we will include the relevant project URL in the notification. */
// @ApiMember(Description="If true, we will include the relevant project URL in the notification.", ParameterType="query")
public IncludeURL: boolean;
/** @description The notification Id of a notification setup in Workflow Notification Management to use for the notification. */
// @ApiMember(Description="The notification Id of a notification setup in Workflow Notification Management to use for the notification.", ParameterType="query")
public NotificationId: string;
/** @description The notification nameof a notification setup in Workflow Notification Management to use for the notification. */
// @ApiMember(Description="The notification nameof a notification setup in Workflow Notification Management to use for the notification.", ParameterType="query")
public NotificationName: string;
/** @description The suite id the notification is setup for */
// @ApiMember(Description="The suite id the notification is setup for", ParameterType="query")
public SuiteId: string;
/** @description The suite name the notification is setup for */
// @ApiMember(Description="The suite name the notification is setup for", ParameterType="query")
public SuiteName: string;
public constructor(init?: Partial<AutoNotificationModel>) { super(init); (Object as any).assign(this, init); }
}
// @ApiResponse(Description="List of (automation) notifications that are setup for an object.")
export class GetAutomationNotificationsForObjectResponse
{
/** @description List of (automation) notifications. */
// @ApiMember(Description="List of (automation) notifications.")
public Notifications: AutoNotificationModel[];
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<GetAutomationNotificationsForObjectResponse>) { (Object as any).assign(this, init); }
}
/** @description Add or update an (automation) notification for an object */
// @Api(Description="Add or update an (automation) notification for an object")
export class SaveAutoNotification
{
/** @description Details of the (automation) notification to be added or updated. */
// @ApiMember(Description="Details of the (automation) notification to be added or updated.", ParameterType="query")
public Notification: AutoNotificationModel;
/** @description Id of the automation. */
// @ApiMember(Description="Id of the automation.", ParameterType="path")
public AutomationId: string;
public constructor(init?: Partial<SaveAutoNotification>) { (Object as any).assign(this, init); }
}
TypeScript SaveAutoNotification DTOs
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 /api/automation/notification HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Notification:
{
ContactRoleName: String,
ObjectContactConnectionRequired: False,
AllowDirectAccess: False,
SendImmediately: False,
Batched: False,
DraftStatus: False,
FinalStatus: False,
IncludeReport: False,
IsTemplateNotification: False,
Roles:
[
00000000-0000-0000-0000-000000000000
],
CommunicationType: String,
Subject: String,
Body: String,
IncludeURL: False,
NotificationName: String,
SuiteName: String,
AutomationType: String,
ObjectName: String,
RmsTableCtxName: String,
ActionList:
[
00000000-0000-0000-0000-000000000000
],
Actions: String,
Name: String,
Description: String,
RecordStatus: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Notifications:
[
{
ContactRoleName: String,
ObjectContactConnectionRequired: False,
AllowDirectAccess: False,
SendImmediately: False,
Batched: False,
DraftStatus: False,
FinalStatus: False,
IncludeReport: False,
IsTemplateNotification: False,
Roles:
[
00000000-0000-0000-0000-000000000000
],
CommunicationType: String,
Subject: String,
Body: String,
IncludeURL: False,
NotificationName: String,
SuiteName: String,
AutomationType: String,
ObjectName: String,
RmsTableCtxName: String,
ActionList:
[
00000000-0000-0000-0000-000000000000
],
Actions: String,
Name: String,
Description: String,
RecordStatus: String
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}