Platform API

<back to all web services

GetContactNotifications

Get notifications for the specified contact

Requires Authentication
The following routes are available for this service:
All Verbs/api/contact/{ContactId}/notifications
import 'package:servicestack/servicestack.dart';

class InputSwitch implements IConvertible
{
    String? Id;
    String? Name;
    bool? IsDisabled;
    bool? IsChecked;

    InputSwitch({this.Id,this.Name,this.IsDisabled,this.IsChecked});
    InputSwitch.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        IsDisabled = json['IsDisabled'];
        IsChecked = json['IsChecked'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'IsDisabled': IsDisabled,
        'IsChecked': IsChecked
    };

    getTypeName() => "InputSwitch";
    TypeContext? context = _ctx;
}

class NotificationDetails implements IConvertible
{
    String? NotificationId;
    String? NotificationGroupName;
    String? NotificationValueId;
    String? Name;
    String? Description;
    bool? IsMandatory;
    bool? IsCardinality;
    bool? IsSystem;
    bool? IsVisibleToRecipients;
    int? Index;
    InputSwitch? Email;
    InputSwitch? SMS;
    InputSwitch? UpdateNotification;
    InputSwitch? Push;
    InputSwitch? Phone;

    NotificationDetails({this.NotificationId,this.NotificationGroupName,this.NotificationValueId,this.Name,this.Description,this.IsMandatory,this.IsCardinality,this.IsSystem,this.IsVisibleToRecipients,this.Index,this.Email,this.SMS,this.UpdateNotification,this.Push,this.Phone});
    NotificationDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        NotificationId = json['NotificationId'];
        NotificationGroupName = json['NotificationGroupName'];
        NotificationValueId = json['NotificationValueId'];
        Name = json['Name'];
        Description = json['Description'];
        IsMandatory = json['IsMandatory'];
        IsCardinality = json['IsCardinality'];
        IsSystem = json['IsSystem'];
        IsVisibleToRecipients = json['IsVisibleToRecipients'];
        Index = json['Index'];
        Email = JsonConverters.fromJson(json['Email'],'InputSwitch',context!);
        SMS = JsonConverters.fromJson(json['SMS'],'InputSwitch',context!);
        UpdateNotification = JsonConverters.fromJson(json['UpdateNotification'],'InputSwitch',context!);
        Push = JsonConverters.fromJson(json['Push'],'InputSwitch',context!);
        Phone = JsonConverters.fromJson(json['Phone'],'InputSwitch',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'NotificationId': NotificationId,
        'NotificationGroupName': NotificationGroupName,
        'NotificationValueId': NotificationValueId,
        'Name': Name,
        'Description': Description,
        'IsMandatory': IsMandatory,
        'IsCardinality': IsCardinality,
        'IsSystem': IsSystem,
        'IsVisibleToRecipients': IsVisibleToRecipients,
        'Index': Index,
        'Email': JsonConverters.toJson(Email,'InputSwitch',context!),
        'SMS': JsonConverters.toJson(SMS,'InputSwitch',context!),
        'UpdateNotification': JsonConverters.toJson(UpdateNotification,'InputSwitch',context!),
        'Push': JsonConverters.toJson(Push,'InputSwitch',context!),
        'Phone': JsonConverters.toJson(Phone,'InputSwitch',context!)
    };

    getTypeName() => "NotificationDetails";
    TypeContext? context = _ctx;
}

class NotificationGroup implements IConvertible
{
    String? GroupName;
    List<NotificationDetails>? Notifications;

    NotificationGroup({this.GroupName,this.Notifications});
    NotificationGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        GroupName = json['GroupName'];
        Notifications = JsonConverters.fromJson(json['Notifications'],'List<NotificationDetails>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'GroupName': GroupName,
        'Notifications': JsonConverters.toJson(Notifications,'List<NotificationDetails>',context!)
    };

    getTypeName() => "NotificationGroup";
    TypeContext? context = _ctx;
}

// @ApiResponse(Description="List of contact notifications")
class GetContactNotificationsResponse implements IConvertible
{
    List<NotificationGroup>? Notifications;
    ResponseStatus? ResponseStatus;

    GetContactNotificationsResponse({this.Notifications,this.ResponseStatus});
    GetContactNotificationsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Notifications = JsonConverters.fromJson(json['Notifications'],'List<NotificationGroup>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Notifications': JsonConverters.toJson(Notifications,'List<NotificationGroup>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetContactNotificationsResponse";
    TypeContext? context = _ctx;
}

/**
* Get notifications for the specified contact
*/
// @Api(Description="Get notifications for the specified contact")
class GetContactNotifications implements IConvertible
{
    /**
    * Id of contact to get notifications for
    */
    // @ApiMember(Description="Id of contact to get notifications for", IsRequired=true, Name="ContactId")
    String? ContactId;

    /**
    * Id of licensee to get notifications for
    */
    // @ApiMember(Description="Id of licensee to get notifications for", IsRequired=true, Name="LicenseeId")
    String? LicenseeId;

    /**
    * Id of suite to get notifications for
    */
    // @ApiMember(Description="Id of suite to get notifications for", IsRequired=true, Name="Suite")
    String? SuiteId;

    GetContactNotifications({this.ContactId,this.LicenseeId,this.SuiteId});
    GetContactNotifications.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactId = json['ContactId'];
        LicenseeId = json['LicenseeId'];
        SuiteId = json['SuiteId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactId': ContactId,
        'LicenseeId': LicenseeId,
        'SuiteId': SuiteId
    };

    getTypeName() => "GetContactNotifications";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
    'InputSwitch': TypeInfo(TypeOf.Class, create:() => InputSwitch()),
    'NotificationDetails': TypeInfo(TypeOf.Class, create:() => NotificationDetails()),
    'NotificationGroup': TypeInfo(TypeOf.Class, create:() => NotificationGroup()),
    'List<NotificationDetails>': TypeInfo(TypeOf.Class, create:() => <NotificationDetails>[]),
    'GetContactNotificationsResponse': TypeInfo(TypeOf.Class, create:() => GetContactNotificationsResponse()),
    'List<NotificationGroup>': TypeInfo(TypeOf.Class, create:() => <NotificationGroup>[]),
    'GetContactNotifications': TypeInfo(TypeOf.Class, create:() => GetContactNotifications()),
});

Dart GetContactNotifications DTOs

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

HTTP + XML

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

POST /api/contact/{ContactId}/notifications HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetContactNotifications xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <ContactId>00000000-0000-0000-0000-000000000000</ContactId>
  <LicenseeId>00000000-0000-0000-0000-000000000000</LicenseeId>
  <SuiteId>00000000-0000-0000-0000-000000000000</SuiteId>
</GetContactNotifications>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetContactNotificationsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
  <Notifications xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Causal.Common.Entity">
    <d2p1:NotificationGroup>
      <d2p1:GroupName>String</d2p1:GroupName>
      <d2p1:Notifications>
        <d2p1:NotificationDetails>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:Email>
            <d2p1:Id>String</d2p1:Id>
            <d2p1:IsChecked>false</d2p1:IsChecked>
            <d2p1:IsDisabled>false</d2p1:IsDisabled>
            <d2p1:Name>String</d2p1:Name>
          </d2p1:Email>
          <d2p1:Index>0</d2p1:Index>
          <d2p1:IsCardinality>false</d2p1:IsCardinality>
          <d2p1:IsMandatory>false</d2p1:IsMandatory>
          <d2p1:IsSystem>false</d2p1:IsSystem>
          <d2p1:IsVisibleToRecipients>false</d2p1:IsVisibleToRecipients>
          <d2p1:Name>String</d2p1:Name>
          <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>
            <d2p1:Id>String</d2p1:Id>
            <d2p1:IsChecked>false</d2p1:IsChecked>
            <d2p1:IsDisabled>false</d2p1:IsDisabled>
            <d2p1:Name>String</d2p1:Name>
          </d2p1:Phone>
          <d2p1:Push>
            <d2p1:Id>String</d2p1:Id>
            <d2p1:IsChecked>false</d2p1:IsChecked>
            <d2p1:IsDisabled>false</d2p1:IsDisabled>
            <d2p1:Name>String</d2p1:Name>
          </d2p1:Push>
          <d2p1:SMS>
            <d2p1:Id>String</d2p1:Id>
            <d2p1:IsChecked>false</d2p1:IsChecked>
            <d2p1:IsDisabled>false</d2p1:IsDisabled>
            <d2p1:Name>String</d2p1:Name>
          </d2p1:SMS>
          <d2p1:UpdateNotification>
            <d2p1:Id>String</d2p1:Id>
            <d2p1:IsChecked>false</d2p1:IsChecked>
            <d2p1:IsDisabled>false</d2p1:IsDisabled>
            <d2p1:Name>String</d2p1:Name>
          </d2p1:UpdateNotification>
        </d2p1:NotificationDetails>
      </d2p1:Notifications>
    </d2p1:NotificationGroup>
  </Notifications>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</GetContactNotificationsResponse>