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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/GetCommunicationData HTTP/1.1
Host: gatewayframeworkapi.pstpf.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetCommunicationData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/FrameworkApi.Models">
<BatchNumber>0</BatchNumber>
<BatchSize>0</BatchSize>
<BinRowVersion>AA==</BinRowVersion>
<SuiteDataSourceInstanceId>00000000-0000-0000-0000-000000000000</SuiteDataSourceInstanceId>
</GetCommunicationData>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GetCommunicationDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/FrameworkApi.Models">
<BinRowVersion>AA==</BinRowVersion>
<Communications>String</Communications>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</GetCommunicationDataResponse>