DigiOffice Gateway Web Services

<back to all web services

EmailSentNotification

The following routes are available for this service:
All Verbs/api/Outlook/EmailSentNotification
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @Flags()
class RequestAttributes
{
    static const RequestAttributes None = const RequestAttributes._(0);
    static const RequestAttributes Localhost = const RequestAttributes._(1);
    static const RequestAttributes LocalSubnet = const RequestAttributes._(2);
    static const RequestAttributes External = const RequestAttributes._(4);
    static const RequestAttributes Secure = const RequestAttributes._(8);
    static const RequestAttributes InSecure = const RequestAttributes._(16);
    static const RequestAttributes AnySecurityMode = const RequestAttributes._(24);
    static const RequestAttributes HttpHead = const RequestAttributes._(32);
    static const RequestAttributes HttpGet = const RequestAttributes._(64);
    static const RequestAttributes HttpPost = const RequestAttributes._(128);
    static const RequestAttributes HttpPut = const RequestAttributes._(256);
    static const RequestAttributes HttpDelete = const RequestAttributes._(512);
    static const RequestAttributes HttpPatch = const RequestAttributes._(1024);
    static const RequestAttributes HttpOptions = const RequestAttributes._(2048);
    static const RequestAttributes HttpOther = const RequestAttributes._(4096);
    static const RequestAttributes AnyHttpMethod = const RequestAttributes._(8160);
    static const RequestAttributes OneWay = const RequestAttributes._(8192);
    static const RequestAttributes Reply = const RequestAttributes._(16384);
    static const RequestAttributes AnyCallStyle = const RequestAttributes._(24576);
    static const RequestAttributes Soap11 = const RequestAttributes._(32768);
    static const RequestAttributes Soap12 = const RequestAttributes._(65536);
    static const RequestAttributes Xml = const RequestAttributes._(131072);
    static const RequestAttributes Json = const RequestAttributes._(262144);
    static const RequestAttributes Jsv = const RequestAttributes._(524288);
    static const RequestAttributes ProtoBuf = const RequestAttributes._(1048576);
    static const RequestAttributes Csv = const RequestAttributes._(2097152);
    static const RequestAttributes Html = const RequestAttributes._(4194304);
    static const RequestAttributes Jsonl = const RequestAttributes._(8388608);
    static const RequestAttributes MsgPack = const RequestAttributes._(16777216);
    static const RequestAttributes FormatOther = const RequestAttributes._(33554432);
    static const RequestAttributes AnyFormat = const RequestAttributes._(67076096);
    static const RequestAttributes Http = const RequestAttributes._(67108864);
    static const RequestAttributes MessageQueue = const RequestAttributes._(134217728);
    static const RequestAttributes Tcp = const RequestAttributes._(268435456);
    static const RequestAttributes Grpc = const RequestAttributes._(536870912);
    static const RequestAttributes EndpointOther = const RequestAttributes._(1073741824);
    static const RequestAttributes AnyEndpoint = const RequestAttributes._(2080374784);
    static const RequestAttributes InProcess = const RequestAttributes._(-2147483648);
    static const RequestAttributes InternalNetworkAccess = const RequestAttributes._(-2147483645);
    static const RequestAttributes AnyNetworkAccessType = const RequestAttributes._(-2147483641);
    static const RequestAttributes Any = const RequestAttributes._(-1);

    final int _value;
    const RequestAttributes._(this._value);
    int get value => _value;
    static List<RequestAttributes> get values => const [None,Localhost,LocalSubnet,External,Secure,InSecure,AnySecurityMode,HttpHead,HttpGet,HttpPost,HttpPut,HttpDelete,HttpPatch,HttpOptions,HttpOther,AnyHttpMethod,OneWay,Reply,AnyCallStyle,Soap11,Soap12,Xml,Json,Jsv,ProtoBuf,Csv,Html,Jsonl,MsgPack,FormatOther,AnyFormat,Http,MessageQueue,Tcp,Grpc,EndpointOther,AnyEndpoint,InProcess,InternalNetworkAccess,AnyNetworkAccessType,Any];
}

abstract class IRequestPreferences
{
    bool? AcceptsBrotli;
    bool? AcceptsDeflate;
    bool? AcceptsGzip;
}

abstract class IHttpFile
{
    String? Name;
    String? FileName;
    int? ContentLength;
    String? ContentType;
    Uint8List? InputStream;
}

abstract class IRequest
{
    dynamic? OriginalRequest;
    IResponse? Response;
    String? OperationName;
    String? Verb;
    RequestAttributes? RequestAttributes;
    IRequestPreferences? RequestPreferences;
    dynamic? Dto;
    String? ContentType;
    bool? IsLocal;
    String? UserAgent;
    Map<String,Cookie?>? Cookies;
    String? ResponseContentType;
    bool? HasExplicitResponseContentType;
    Map<String,dynamic?>? Items;
    NameValueCollection? Headers;
    NameValueCollection? QueryString;
    NameValueCollection? FormData;
    bool? UseBufferedStream;
    String? RawUrl;
    String? AbsoluteUri;
    String? UserHostAddress;
    String? RemoteIp;
    String? Authorization;
    bool? IsSecureConnection;
    List<String>? AcceptTypes;
    String? PathInfo;
    String? OriginalPathInfo;
    Uint8List? InputStream;
    int? ContentLength;
    List<IHttpFile>? Files;
    Uri? UrlReferrer;
}

abstract class IResponse
{
    dynamic? OriginalResponse;
    IRequest? Request;
    int? StatusCode;
    String? StatusDescription;
    String? ContentType;
    Uint8List? OutputStream;
    dynamic? Dto;
    bool? UseBufferedStream;
    bool? IsClosed;
    bool? KeepAlive;
    bool? HasStarted;
    Map<String,dynamic?>? Items;
}

// @DataContract
class ResourceData implements IConvertible
{
    // @DataMember(Name="@odata.etag")
    String? _odata_etag;

    // @DataMember(Name="@odata.id")
    String? _odata_id;

    // @DataMember(Name="@odata.type")
    String? _odata_type;

    // @DataMember(Name="id")
    String? id;

    ResourceData({this._odata_etag,this._odata_id,this._odata_type,this.id});
    ResourceData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        _odata_etag = json['ODataEtag'];
        _odata_id = json['ODataId'];
        _odata_type = json['ODataType'];
        id = json['Id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        '_odata_etag': _odata_etag,
        '_odata_id': _odata_id,
        '_odata_type': _odata_type,
        'id': id
    };

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

class NotificationData implements IConvertible
{
    String? ChangeType;
    String? ClientState;
    String? Resource;
    ResourceData? ResourceData;
    DateTime? SubscriptionExpirationDateTime;
    String? SubscriptionId;
    String? TenantId;

    NotificationData({this.ChangeType,this.ClientState,this.Resource,this.ResourceData,this.SubscriptionExpirationDateTime,this.SubscriptionId,this.TenantId});
    NotificationData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ChangeType = json['ChangeType'];
        ClientState = json['ClientState'];
        Resource = json['Resource'];
        ResourceData = JsonConverters.fromJson(json['ResourceData'],'ResourceData',context!);
        SubscriptionExpirationDateTime = JsonConverters.fromJson(json['SubscriptionExpirationDateTime'],'DateTime',context!);
        SubscriptionId = json['SubscriptionId'];
        TenantId = json['TenantId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ChangeType': ChangeType,
        'ClientState': ClientState,
        'Resource': Resource,
        'ResourceData': JsonConverters.toJson(ResourceData,'ResourceData',context!),
        'SubscriptionExpirationDateTime': JsonConverters.toJson(SubscriptionExpirationDateTime,'DateTime',context!),
        'SubscriptionId': SubscriptionId,
        'TenantId': TenantId
    };

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

class EmailSentNotification implements IConvertible
{
    List<NotificationData>? Value;

    EmailSentNotification({this.Value});
    EmailSentNotification.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'dogw.klokgroep.nl', types: <String, TypeInfo> {
    'RequestAttributes': TypeInfo(TypeOf.Enum, enumValues:RequestAttributes.values),
    'IRequestPreferences': TypeInfo(TypeOf.Interface),
    'IHttpFile': TypeInfo(TypeOf.Interface),
    'IRequest': TypeInfo(TypeOf.Interface),
    'IResponse': TypeInfo(TypeOf.Interface),
    'ResourceData': TypeInfo(TypeOf.Class, create:() => ResourceData()),
    'NotificationData': TypeInfo(TypeOf.Class, create:() => NotificationData()),
    'EmailSentNotification': TypeInfo(TypeOf.Class, create:() => EmailSentNotification()),
    'List<NotificationData>': TypeInfo(TypeOf.Class, create:() => <NotificationData>[]),
});

Dart EmailSentNotification DTOs

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

HTTP + OTHER

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

POST /api/Outlook/EmailSentNotification HTTP/1.1 
Host: dogw.klokgroep.nl 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Value":[{"ChangeType":"String","ClientState":"String","Resource":"String","ResourceData":{"@odata.etag":"String","@odata.id":"String","@odata.type":"String","id":"String"},"SubscriptionExpirationDateTime":"0001-01-01T00:00:00.0000000","SubscriptionId":"String","TenantId":"String"}]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{Unable to show example output for type 'IResponse' using the custom 'other' filter}Cannot create an instance of an interface.