| 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 .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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/jsv
Content-Length: length
{
startIndex: 0,
endIndex: 0,
numberOfRecordsReturned: 0,
totalNumberOfPages: 0,
totalNumberOfRecords: 0,
results:
[
{
}
]
}