| POST | /api/claim/search | Search for claims based on parameters |
|---|
import Foundation
import ServiceStack
/**
* Claim
*/
// @Api(Description="Claim")
// @ApiResponse(Description="Claim search results", StatusCode=200)
public class SearchClaim : Codable
{
// @ApiMember(ParameterType="model")
public var query:SearchClaimQuery
required public init(){}
}
public class SearchClaimQuery : Codable
{
public var receiverGln:String
public var fromDate:Date
public var toDate:Date
public var claimsNotificationTypeCode:String
public var claimsNotificationIdentification:String
public var buyer:_Buyer
public var claimNotification:_ClaimNotification
public var invoice:_Invoice
public var excludeLinkedToCreditNote:Bool
public var senderGln:String
public var partnerGln:[String] = []
public var requestedPage:Int
public var numberOfRecordsPerPage:Int
required public init(){}
}
public class _Buyer : IBuyer, Codable
{
public var gln:String
required public init(){}
}
public class _ClaimNotification : IClaimNotification, Codable
{
public var entityIdentification:String
required public init(){}
}
public class _Invoice : IInvoice, Codable
{
public var entityIdentification:String
required public init(){}
}
public class PagedQueryResult<T : Codable> : Codable
{
public var startIndex:Int
public var endIndex:Int
public var numberOfRecordsReturned:Int
public var totalNumberOfPages:Int
public var totalNumberOfRecords:Int
public var results:[ResultItem<ClaimMessage>] = []
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/claim/search HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"query":{"receiverGln":"String","claimsNotificationTypeCode":"String","claimsNotificationIdentification":"String","buyer":{"gln":"String"},"claimNotification":{"entityIdentification":"String"},"invoice":{"entityIdentification":"String"},"excludeLinkedToCreditNote":false,"senderGln":"String","partnerGln":["String"],"requestedPage":0,"numberOfRecordsPerPage":0}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"startIndex":0,"endIndex":0,"numberOfRecordsReturned":0,"totalNumberOfPages":0,"totalNumberOfRecords":0,"results":[{}]}