Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports FrameworkApi.Models
Namespace Global
Namespace FrameworkApi.Models
'''<Summary>
'''Retrieves communications from the Communication database to be saved to Framework
'''</Summary>
<Api(Description:="Retrieves communications from the Communication database to be saved to Framework")>
Public Partial Class GetCommunicationData
Implements ISubscription
'''<Summary>
'''Bin Row Version of the last update
'''</Summary>
<ApiMember(DataType:="byte[]", Description:="Bin Row Version of the last update", Name:="BinRowVersion")>
Public Overridable Property BinRowVersion As Byte()
'''<Summary>
'''Suite Data Source Instance Id to determine which licensees data to retrieve.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Suite Data Source Instance Id to determine which licensees data to retrieve.", Name:="SuiteDataSourceInstanceId")>
Public Overridable Property SuiteDataSourceInstanceId As Guid Implements ISubscription.SuiteDataSourceInstanceId
'''<Summary>
'''Batch Call Number.
'''</Summary>
<ApiMember(DataType:="int", Description:="Batch Call Number.", Name:="BatchNumber")>
Public Overridable Property BatchNumber As Integer
'''<Summary>
'''Number of records to retrieve per call.
'''</Summary>
<ApiMember(DataType:="int", Description:="Number of records to retrieve per call.", Name:="BatchSize")>
Public Overridable Property BatchSize As Integer
Public Overridable Property IgnoreValidation As Boolean Implements ISubscription.IgnoreValidation
End Class
<ApiResponse(Description:="Communications Data for synching to Framework")>
Public Partial Class GetCommunicationDataResponse
'''<Summary>
'''Bin Row Version of the last update
'''</Summary>
<ApiMember(DataType:="byte[]", Description:="Bin Row Version of the last update", Name:="BinRowVersion")>
Public Overridable Property BinRowVersion As Byte()
'''<Summary>
'''Communication Data string (compressed/zipped)
'''</Summary>
<ApiMember(DataType:="string", Description:="Communication Data string (compressed/zipped)", Name:="Communications")>
Public Overridable Property Communications As String
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
VB.NET 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
}
}
}