Framework API

<back to all web services

GetCommunicationData

Retrieves communications from the Communication database to be saved to Framework

Requires Authentication
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @ApiResponse(Description="Communications Data for synching to Framework")
class GetCommunicationDataResponse implements IConvertible
{
    /**
    * Bin Row Version of the last update
    */
    // @ApiMember(DataType="byte[]", Description="Bin Row Version of the last update", Name="BinRowVersion")
    Uint8List? BinRowVersion;

    /**
    * Communication Data string (compressed/zipped)
    */
    // @ApiMember(DataType="string", Description="Communication Data string (compressed/zipped)", Name="Communications")
    String? Communications;

    ResponseStatus? ResponseStatus;

    GetCommunicationDataResponse({this.BinRowVersion,this.Communications,this.ResponseStatus});
    GetCommunicationDataResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'BinRowVersion': JsonConverters.toJson(BinRowVersion,'Uint8List',context!),
        'Communications': Communications,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

/**
* Retrieves communications from the Communication database to be saved to Framework
*/
// @Api(Description="Retrieves communications from the Communication database to be saved to Framework")
class GetCommunicationData implements ISubscription, IConvertible
{
    /**
    * Bin Row Version of the last update
    */
    // @ApiMember(DataType="byte[]", Description="Bin Row Version of the last update", Name="BinRowVersion")
    Uint8List? BinRowVersion;

    /**
    * Suite Data Source Instance Id to determine which licensees data to retrieve.
    */
    // @ApiMember(DataType="Guid", Description="Suite Data Source Instance Id to determine which licensees data to retrieve.", Name="SuiteDataSourceInstanceId")
    String? SuiteDataSourceInstanceId;

    /**
    * Batch Call Number.
    */
    // @ApiMember(DataType="int", Description="Batch Call Number.", Name="BatchNumber")
    int? BatchNumber;

    /**
    * Number of records to retrieve per call.
    */
    // @ApiMember(DataType="int", Description="Number of records to retrieve per call.", Name="BatchSize")
    int? BatchSize;

    bool? IgnoreValidation;

    GetCommunicationData({this.BinRowVersion,this.SuiteDataSourceInstanceId,this.BatchNumber,this.BatchSize,this.IgnoreValidation});
    GetCommunicationData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BinRowVersion = JsonConverters.fromJson(json['BinRowVersion'],'Uint8List',context!);
        SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId'];
        BatchNumber = json['BatchNumber'];
        BatchSize = json['BatchSize'];
        IgnoreValidation = json['IgnoreValidation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BinRowVersion': JsonConverters.toJson(BinRowVersion,'Uint8List',context!),
        'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId,
        'BatchNumber': BatchNumber,
        'BatchSize': BatchSize,
        'IgnoreValidation': IgnoreValidation
    };

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

TypeContext _ctx = TypeContext(library: 'gatewayframeworkapi.pstpf.com.au', types: <String, TypeInfo> {
    'GetCommunicationDataResponse': TypeInfo(TypeOf.Class, create:() => GetCommunicationDataResponse()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'GetCommunicationData': TypeInfo(TypeOf.Class, create:() => GetCommunicationData()),
});

Dart GetCommunicationData 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 /jsonl/reply/GetCommunicationData HTTP/1.1 
Host: gatewayframeworkapi.pstpf.com.au 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"BinRowVersion":"AA==","BatchNumber":0,"BatchSize":0,"IgnoreValidation":true}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"BinRowVersion":"AA==","Communications":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}