| POST | /api/notification/update |
|---|
import 'package:servicestack/servicestack.dart';
class NotificationRole implements IConvertible
{
String? RoleId;
String? RoleName;
NotificationRole({this.RoleId,this.RoleName});
NotificationRole.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RoleId = json['RoleId'];
RoleName = json['RoleName'];
return this;
}
Map<String, dynamic> toJson() => {
'RoleId': RoleId,
'RoleName': RoleName
};
getTypeName() => "NotificationRole";
TypeContext? context = _ctx;
}
class Notification implements IConvertible
{
String? NotificationId;
String? NotificationGroupId;
String? NotificationGroupName;
String? SuiteId;
String? SuiteName;
String? NotificationValueId;
List<NotificationRole>? Roles;
String? RolesToDisplay;
String? Name;
String? Description;
bool? IsMandatory;
bool? IsCardinality;
bool? IsSystem;
bool? IsAudit;
bool? IsVisibleToRecipients;
bool? IsSingleUse;
bool? Email;
bool? EmailDefault;
String? EmailTemplateId;
String? EmailTemplateBody;
String? EmailSubject;
bool? SMS;
bool? SMSDefault;
String? SMSTemplateId;
String? SMSTemplateBody;
bool? UpdateNotification;
bool? UpdateNotificationDefault;
String? UpdateTemplateId;
String? UpdateTemplateBody;
String? UpdateSubject;
bool? Push;
bool? PushDefault;
bool? Phone;
bool? PhoneDefault;
String? ContactIdOwner;
String? RecordStatus;
String? EmailTemplateDefinitionId;
String? SMSTemplateDefinitionId;
String? UpdateTemplateDefinitionId;
int? Index;
Notification({this.NotificationId,this.NotificationGroupId,this.NotificationGroupName,this.SuiteId,this.SuiteName,this.NotificationValueId,this.Roles,this.RolesToDisplay,this.Name,this.Description,this.IsMandatory,this.IsCardinality,this.IsSystem,this.IsAudit,this.IsVisibleToRecipients,this.IsSingleUse,this.Email,this.EmailDefault,this.EmailTemplateId,this.EmailTemplateBody,this.EmailSubject,this.SMS,this.SMSDefault,this.SMSTemplateId,this.SMSTemplateBody,this.UpdateNotification,this.UpdateNotificationDefault,this.UpdateTemplateId,this.UpdateTemplateBody,this.UpdateSubject,this.Push,this.PushDefault,this.Phone,this.PhoneDefault,this.ContactIdOwner,this.RecordStatus,this.EmailTemplateDefinitionId,this.SMSTemplateDefinitionId,this.UpdateTemplateDefinitionId,this.Index});
Notification.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
NotificationId = json['NotificationId'];
NotificationGroupId = json['NotificationGroupId'];
NotificationGroupName = json['NotificationGroupName'];
SuiteId = json['SuiteId'];
SuiteName = json['SuiteName'];
NotificationValueId = json['NotificationValueId'];
Roles = JsonConverters.fromJson(json['Roles'],'List<NotificationRole>',context!);
RolesToDisplay = json['RolesToDisplay'];
Name = json['Name'];
Description = json['Description'];
IsMandatory = json['IsMandatory'];
IsCardinality = json['IsCardinality'];
IsSystem = json['IsSystem'];
IsAudit = json['IsAudit'];
IsVisibleToRecipients = json['IsVisibleToRecipients'];
IsSingleUse = json['IsSingleUse'];
Email = json['Email'];
EmailDefault = json['EmailDefault'];
EmailTemplateId = json['EmailTemplateId'];
EmailTemplateBody = json['EmailTemplateBody'];
EmailSubject = json['EmailSubject'];
SMS = json['SMS'];
SMSDefault = json['SMSDefault'];
SMSTemplateId = json['SMSTemplateId'];
SMSTemplateBody = json['SMSTemplateBody'];
UpdateNotification = json['UpdateNotification'];
UpdateNotificationDefault = json['UpdateNotificationDefault'];
UpdateTemplateId = json['UpdateTemplateId'];
UpdateTemplateBody = json['UpdateTemplateBody'];
UpdateSubject = json['UpdateSubject'];
Push = json['Push'];
PushDefault = json['PushDefault'];
Phone = json['Phone'];
PhoneDefault = json['PhoneDefault'];
ContactIdOwner = json['ContactIdOwner'];
RecordStatus = json['RecordStatus'];
EmailTemplateDefinitionId = json['EmailTemplateDefinitionId'];
SMSTemplateDefinitionId = json['SMSTemplateDefinitionId'];
UpdateTemplateDefinitionId = json['UpdateTemplateDefinitionId'];
Index = json['Index'];
return this;
}
Map<String, dynamic> toJson() => {
'NotificationId': NotificationId,
'NotificationGroupId': NotificationGroupId,
'NotificationGroupName': NotificationGroupName,
'SuiteId': SuiteId,
'SuiteName': SuiteName,
'NotificationValueId': NotificationValueId,
'Roles': JsonConverters.toJson(Roles,'List<NotificationRole>',context!),
'RolesToDisplay': RolesToDisplay,
'Name': Name,
'Description': Description,
'IsMandatory': IsMandatory,
'IsCardinality': IsCardinality,
'IsSystem': IsSystem,
'IsAudit': IsAudit,
'IsVisibleToRecipients': IsVisibleToRecipients,
'IsSingleUse': IsSingleUse,
'Email': Email,
'EmailDefault': EmailDefault,
'EmailTemplateId': EmailTemplateId,
'EmailTemplateBody': EmailTemplateBody,
'EmailSubject': EmailSubject,
'SMS': SMS,
'SMSDefault': SMSDefault,
'SMSTemplateId': SMSTemplateId,
'SMSTemplateBody': SMSTemplateBody,
'UpdateNotification': UpdateNotification,
'UpdateNotificationDefault': UpdateNotificationDefault,
'UpdateTemplateId': UpdateTemplateId,
'UpdateTemplateBody': UpdateTemplateBody,
'UpdateSubject': UpdateSubject,
'Push': Push,
'PushDefault': PushDefault,
'Phone': Phone,
'PhoneDefault': PhoneDefault,
'ContactIdOwner': ContactIdOwner,
'RecordStatus': RecordStatus,
'EmailTemplateDefinitionId': EmailTemplateDefinitionId,
'SMSTemplateDefinitionId': SMSTemplateDefinitionId,
'UpdateTemplateDefinitionId': UpdateTemplateDefinitionId,
'Index': Index
};
getTypeName() => "Notification";
TypeContext? context = _ctx;
}
/**
* Updates an existing notification
*/
// @Api(Description="Updates an existing notification")
class UpdateNotification implements IConvertible
{
Notification? Notification;
UpdateNotification({this.Notification});
UpdateNotification.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Notification = JsonConverters.fromJson(json['Notification'],'Notification',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Notification': JsonConverters.toJson(Notification,'Notification',context!)
};
getTypeName() => "UpdateNotification";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
'NotificationRole': TypeInfo(TypeOf.Class, create:() => NotificationRole()),
'Notification': TypeInfo(TypeOf.Class, create:() => Notification()),
'List<NotificationRole>': TypeInfo(TypeOf.Class, create:() => <NotificationRole>[]),
'UpdateNotification': TypeInfo(TypeOf.Class, create:() => UpdateNotification()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/notification/update HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateNotification xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
<Notification xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
<d2p1:ContactIdOwner>00000000-0000-0000-0000-000000000000</d2p1:ContactIdOwner>
<d2p1:Description>String</d2p1:Description>
<d2p1:Email>false</d2p1:Email>
<d2p1:EmailDefault>false</d2p1:EmailDefault>
<d2p1:EmailSubject>String</d2p1:EmailSubject>
<d2p1:EmailTemplateBody>String</d2p1:EmailTemplateBody>
<d2p1:EmailTemplateDefinitionId>00000000-0000-0000-0000-000000000000</d2p1:EmailTemplateDefinitionId>
<d2p1:EmailTemplateId>00000000-0000-0000-0000-000000000000</d2p1:EmailTemplateId>
<d2p1:Index>0</d2p1:Index>
<d2p1:IsAudit>false</d2p1:IsAudit>
<d2p1:IsCardinality>false</d2p1:IsCardinality>
<d2p1:IsMandatory>false</d2p1:IsMandatory>
<d2p1:IsSingleUse>false</d2p1:IsSingleUse>
<d2p1:IsSystem>false</d2p1:IsSystem>
<d2p1:IsVisibleToRecipients>false</d2p1:IsVisibleToRecipients>
<d2p1:Name>String</d2p1:Name>
<d2p1:NotificationGroupId>00000000-0000-0000-0000-000000000000</d2p1:NotificationGroupId>
<d2p1:NotificationGroupName>String</d2p1:NotificationGroupName>
<d2p1:NotificationId>00000000-0000-0000-0000-000000000000</d2p1:NotificationId>
<d2p1:NotificationValueId>00000000-0000-0000-0000-000000000000</d2p1:NotificationValueId>
<d2p1:Phone>false</d2p1:Phone>
<d2p1:PhoneDefault>false</d2p1:PhoneDefault>
<d2p1:Push>false</d2p1:Push>
<d2p1:PushDefault>false</d2p1:PushDefault>
<d2p1:RecordStatus>String</d2p1:RecordStatus>
<d2p1:Roles>
<d2p1:NotificationRole>
<d2p1:RoleId>00000000-0000-0000-0000-000000000000</d2p1:RoleId>
<d2p1:RoleName>String</d2p1:RoleName>
</d2p1:NotificationRole>
</d2p1:Roles>
<d2p1:SMS>false</d2p1:SMS>
<d2p1:SMSDefault>false</d2p1:SMSDefault>
<d2p1:SMSTemplateBody>String</d2p1:SMSTemplateBody>
<d2p1:SMSTemplateDefinitionId>00000000-0000-0000-0000-000000000000</d2p1:SMSTemplateDefinitionId>
<d2p1:SMSTemplateId>00000000-0000-0000-0000-000000000000</d2p1:SMSTemplateId>
<d2p1:SuiteId>00000000-0000-0000-0000-000000000000</d2p1:SuiteId>
<d2p1:SuiteName>String</d2p1:SuiteName>
<d2p1:UpdateNotification>false</d2p1:UpdateNotification>
<d2p1:UpdateNotificationDefault>false</d2p1:UpdateNotificationDefault>
<d2p1:UpdateSubject>String</d2p1:UpdateSubject>
<d2p1:UpdateTemplateBody>String</d2p1:UpdateTemplateBody>
<d2p1:UpdateTemplateDefinitionId>00000000-0000-0000-0000-000000000000</d2p1:UpdateTemplateDefinitionId>
<d2p1:UpdateTemplateId>00000000-0000-0000-0000-000000000000</d2p1:UpdateTemplateId>
</Notification>
</UpdateNotification>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
<ErrorCode>String</ErrorCode>
<Message>String</Message>
<StackTrace>String</StackTrace>
<Errors>
<ResponseError>
<ErrorCode>String</ErrorCode>
<FieldName>String</FieldName>
<Message>String</Message>
<Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</Meta>
</ResponseError>
</Errors>
<Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:KeyValueOfstringstring>
<d2p1:Key>String</d2p1:Key>
<d2p1:Value>String</d2p1:Value>
</d2p1:KeyValueOfstringstring>
</Meta>
</ResponseStatus>