Trendsic Platform Service

<back to all web services

DocumentShareCreateRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/documentshare
import 'package:servicestack/servicestack.dart';

class DocumentShare implements IConvertible
{
    int? DocumentShareId;
    String? DocumentShareUID;
    String? TokenHash;
    String? AttachmentId;
    String? SensitivityTier;
    bool? RequireOtp;
    String? OtpChannel;
    String? DeliveryChannels;
    int? RecipientContactId;
    String? RecipientEmail;
    String? RecipientPhone;
    bool? SmsConsentSnapshot;
    String? CreatedByUserId;
    int? CreatedByAgentId;
    DateTime? CreatedAtUtc;
    DateTime? ExpiresAtUtc;
    int? MaxViews;
    int? ViewCount;
    DateTime? RevokedAtUtc;
    String? RevokedByUserId;

    DocumentShare({this.DocumentShareId,this.DocumentShareUID,this.TokenHash,this.AttachmentId,this.SensitivityTier,this.RequireOtp,this.OtpChannel,this.DeliveryChannels,this.RecipientContactId,this.RecipientEmail,this.RecipientPhone,this.SmsConsentSnapshot,this.CreatedByUserId,this.CreatedByAgentId,this.CreatedAtUtc,this.ExpiresAtUtc,this.MaxViews,this.ViewCount,this.RevokedAtUtc,this.RevokedByUserId});
    DocumentShare.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DocumentShareId = json['DocumentShareId'];
        DocumentShareUID = json['DocumentShareUID'];
        TokenHash = json['TokenHash'];
        AttachmentId = json['AttachmentId'];
        SensitivityTier = json['SensitivityTier'];
        RequireOtp = json['RequireOtp'];
        OtpChannel = json['OtpChannel'];
        DeliveryChannels = json['DeliveryChannels'];
        RecipientContactId = json['RecipientContactId'];
        RecipientEmail = json['RecipientEmail'];
        RecipientPhone = json['RecipientPhone'];
        SmsConsentSnapshot = json['SmsConsentSnapshot'];
        CreatedByUserId = json['CreatedByUserId'];
        CreatedByAgentId = json['CreatedByAgentId'];
        CreatedAtUtc = JsonConverters.fromJson(json['CreatedAtUtc'],'DateTime',context!);
        ExpiresAtUtc = JsonConverters.fromJson(json['ExpiresAtUtc'],'DateTime',context!);
        MaxViews = json['MaxViews'];
        ViewCount = json['ViewCount'];
        RevokedAtUtc = JsonConverters.fromJson(json['RevokedAtUtc'],'DateTime',context!);
        RevokedByUserId = json['RevokedByUserId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DocumentShareId': DocumentShareId,
        'DocumentShareUID': DocumentShareUID,
        'TokenHash': TokenHash,
        'AttachmentId': AttachmentId,
        'SensitivityTier': SensitivityTier,
        'RequireOtp': RequireOtp,
        'OtpChannel': OtpChannel,
        'DeliveryChannels': DeliveryChannels,
        'RecipientContactId': RecipientContactId,
        'RecipientEmail': RecipientEmail,
        'RecipientPhone': RecipientPhone,
        'SmsConsentSnapshot': SmsConsentSnapshot,
        'CreatedByUserId': CreatedByUserId,
        'CreatedByAgentId': CreatedByAgentId,
        'CreatedAtUtc': JsonConverters.toJson(CreatedAtUtc,'DateTime',context!),
        'ExpiresAtUtc': JsonConverters.toJson(ExpiresAtUtc,'DateTime',context!),
        'MaxViews': MaxViews,
        'ViewCount': ViewCount,
        'RevokedAtUtc': JsonConverters.toJson(RevokedAtUtc,'DateTime',context!),
        'RevokedByUserId': RevokedByUserId
    };

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

class DocumentShareExtended extends DocumentShare implements IConvertible
{
    String? AttachmentName;
    String? RecipientDisplayName;
    String? RecipientType;
    String? CreatedByName;
    String? Status;

    DocumentShareExtended({this.AttachmentName,this.RecipientDisplayName,this.RecipientType,this.CreatedByName,this.Status});
    DocumentShareExtended.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        AttachmentName = json['AttachmentName'];
        RecipientDisplayName = json['RecipientDisplayName'];
        RecipientType = json['RecipientType'];
        CreatedByName = json['CreatedByName'];
        Status = json['Status'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'AttachmentName': AttachmentName,
        'RecipientDisplayName': RecipientDisplayName,
        'RecipientType': RecipientType,
        'CreatedByName': CreatedByName,
        'Status': Status
    });

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

class DocumentShareResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<DocumentShareExtended>? DocumentShare = [];
    String? ShareUrl;

    DocumentShareResponse({this.ResponseStatus,this.DocumentShare,this.ShareUrl});
    DocumentShareResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class DocumentShareCreateRequest implements IConvertible
{
    String? AttachmentId;
    int? RecipientContactId;
    String? RecipientEmail;
    String? RecipientPhone;
    bool? IsAdhoc;
    String? SensitivityTier;
    bool? RequireOtp;
    String? OtpChannel;
    String? DeliveryChannels;
    int? ExpiresInHours;
    int? MaxViews;

    DocumentShareCreateRequest({this.AttachmentId,this.RecipientContactId,this.RecipientEmail,this.RecipientPhone,this.IsAdhoc,this.SensitivityTier,this.RequireOtp,this.OtpChannel,this.DeliveryChannels,this.ExpiresInHours,this.MaxViews});
    DocumentShareCreateRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AttachmentId = json['AttachmentId'];
        RecipientContactId = json['RecipientContactId'];
        RecipientEmail = json['RecipientEmail'];
        RecipientPhone = json['RecipientPhone'];
        IsAdhoc = json['IsAdhoc'];
        SensitivityTier = json['SensitivityTier'];
        RequireOtp = json['RequireOtp'];
        OtpChannel = json['OtpChannel'];
        DeliveryChannels = json['DeliveryChannels'];
        ExpiresInHours = json['ExpiresInHours'];
        MaxViews = json['MaxViews'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AttachmentId': AttachmentId,
        'RecipientContactId': RecipientContactId,
        'RecipientEmail': RecipientEmail,
        'RecipientPhone': RecipientPhone,
        'IsAdhoc': IsAdhoc,
        'SensitivityTier': SensitivityTier,
        'RequireOtp': RequireOtp,
        'OtpChannel': OtpChannel,
        'DeliveryChannels': DeliveryChannels,
        'ExpiresInHours': ExpiresInHours,
        'MaxViews': MaxViews
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'DocumentShare': TypeInfo(TypeOf.Class, create:() => DocumentShare()),
    'DocumentShareExtended': TypeInfo(TypeOf.Class, create:() => DocumentShareExtended()),
    'DocumentShareResponse': TypeInfo(TypeOf.Class, create:() => DocumentShareResponse()),
    'List<DocumentShareExtended>': TypeInfo(TypeOf.Class, create:() => <DocumentShareExtended>[]),
    'DocumentShareCreateRequest': TypeInfo(TypeOf.Class, create:() => DocumentShareCreateRequest()),
});

Dart DocumentShareCreateRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /v1/documentshare HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"AttachmentId":"00000000000000000000000000000000","RecipientContactId":0,"RecipientEmail":"String","RecipientPhone":"String","IsAdhoc":false,"SensitivityTier":"String","RequireOtp":false,"OtpChannel":"String","DeliveryChannels":"String","ExpiresInHours":0,"MaxViews":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"DocumentShare":[{"AttachmentName":"String","RecipientDisplayName":"String","RecipientType":"String","CreatedByName":"String","Status":"String","DocumentShareId":0,"DocumentShareUID":"00000000000000000000000000000000","TokenHash":"String","AttachmentId":"00000000000000000000000000000000","SensitivityTier":"String","RequireOtp":false,"OtpChannel":"String","DeliveryChannels":"String","RecipientContactId":0,"RecipientEmail":"String","RecipientPhone":"String","SmsConsentSnapshot":false,"CreatedByUserId":"00000000000000000000000000000000","CreatedByAgentId":0,"CreatedAtUtc":"0001-01-01T00:00:00.0000000","ExpiresAtUtc":"0001-01-01T00:00:00.0000000","MaxViews":0,"ViewCount":0,"RevokedAtUtc":"0001-01-01T00:00:00.0000000","RevokedByUserId":"00000000000000000000000000000000"}],"ShareUrl":"String"}