Client_Initiations

<back to all web services

ClientDownloadRequest

Requires Authentication
The following routes are available for this service:
POST, PUT/documents/download
import 'package:servicestack/servicestack.dart';

abstract class DocumentRequestBase
{
    /**
    * ExternalID
    */
    // @ApiMember(Description="ExternalID", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    String? ExternalId;

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

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

    Map<String, dynamic> toJson() => {
        'ExternalId': ExternalId
    };

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

class ClientDownloadRequest extends DocumentRequestBase implements IConvertible
{
    String? FileName;
    /**
    * Month
    */
    // @ApiMember(Description="Month", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    int? Month;

    /**
    * Day
    */
    // @ApiMember(Description="Day", ExcludeInSchema=true, IsRequired=true, ParameterType="path")
    int? Day;

    ClientDownloadRequest({this.FileName,this.Month,this.Day});
    ClientDownloadRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        FileName = json['FileName'];
        Month = json['Month'];
        Day = json['Day'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'FileName': FileName,
        'Month': Month,
        'Day': Day
    });

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

abstract class ResponseBase
{
    String? Message;
    bool? IsSuccess;

    ResponseBase({this.Message,this.IsSuccess});
    ResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Message = json['Message'];
        IsSuccess = json['IsSuccess'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Message': Message,
        'IsSuccess': IsSuccess
    };

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

class ClientDownloadResponse extends ResponseBase implements IConvertible
{
    String? FileName;
    Uint8List? Stream;

    ClientDownloadResponse({this.FileName,this.Stream});
    ClientDownloadResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        FileName = json['FileName'];
        Stream = JsonConverters.fromJson(json['Stream'],'Uint8List',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'FileName': FileName,
        'Stream': JsonConverters.toJson(Stream,'Uint8List',context!)
    });

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

TypeContext _ctx = TypeContext(library: 'initiation_pen.sirva.com', types: <String, TypeInfo> {
    'DocumentRequestBase': TypeInfo(TypeOf.AbstractClass),
    'ClientDownloadRequest': TypeInfo(TypeOf.Class, create:() => ClientDownloadRequest()),
    'ResponseBase': TypeInfo(TypeOf.AbstractClass),
    'ClientDownloadResponse': TypeInfo(TypeOf.Class, create:() => ClientDownloadResponse()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
});

Dart ClientDownloadRequest 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 /documents/download HTTP/1.1 
Host: initiation-pen.sirva.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ClientDownloadRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload">
  <ExternalId>String</ExternalId>
  <Day>0</Day>
  <FileName>String</FileName>
  <Month>0</Month>
</ClientDownloadRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ClientDownloadResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Client_Initiations.ServiceModel.ClientUpload">
  <IsSuccess>false</IsSuccess>
  <Message>String</Message>
  <FileName>String</FileName>
  <Stream xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.IO" i:nil="true" />
</ClientDownloadResponse>