import Foundation
import ServiceStack
/**
* Retrieves communications from the Communication database to be saved to Framework
*/
// @Api(Description="Retrieves communications from the Communication database to be saved to Framework")
public class GetCommunicationData : ISubscription, Codable
{
/**
* Bin Row Version of the last update
*/
// @ApiMember(DataType="byte[]", Description="Bin Row Version of the last update", Name="BinRowVersion")
public var binRowVersion:[UInt8]
/**
* 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")
public var suiteDataSourceInstanceId:String
/**
* Batch Call Number.
*/
// @ApiMember(DataType="int", Description="Batch Call Number.", Name="BatchNumber")
public var batchNumber:Int
/**
* Number of records to retrieve per call.
*/
// @ApiMember(DataType="int", Description="Number of records to retrieve per call.", Name="BatchSize")
public var batchSize:Int
public var ignoreValidation:Bool
required public init(){}
}
// @ApiResponse(Description="Communications Data for synching to Framework")
public class GetCommunicationDataResponse : Codable
{
/**
* Bin Row Version of the last update
*/
// @ApiMember(DataType="byte[]", Description="Bin Row Version of the last update", Name="BinRowVersion")
public var binRowVersion:[UInt8]
/**
* Communication Data string (compressed/zipped)
*/
// @ApiMember(DataType="string", Description="Communication Data string (compressed/zipped)", Name="Communications")
public var communications:String
public var responseStatus:ResponseStatus
required public init(){}
}
Swift GetCommunicationData DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/GetCommunicationData HTTP/1.1
Host: gatewayframeworkapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
BinRowVersion: AA==,
BatchNumber: 0,
BatchSize: 0,
IgnoreValidation: True
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}
}
}