| GET | /api/settlement/{Id} | Get specific Settlement by Settlement Id |
|---|
namespace DX.STF.Application.ClientApi.Messages.Settlement
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type DocumentIdentification() =
[<DataMember(Name="identifier")>]
member val Identifier:String = null with get,set
[<DataMember(Name="type")>]
member val Type:String = null with get,set
[<DataMember(Name="creationDateAndTime")>]
member val CreationDateAndTime:DateTime = new DateTime() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Identifier() =
[<DataMember(Name="authority")>]
member val Authority:String = null with get,set
[<DataMember(Name="text")>]
member val Text:String = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type ContactInformation() =
class end
[<DataContract>]
[<AllowNullLiteral>]
type Partner() =
[<DataMember(Name="identifier")>]
member val Identifier:Identifier = null with get,set
[<DataMember(Name="contactInformation")>]
member val ContactInformation:ResizeArray<ContactInformation> = null with get,set
[<DataContract>]
[<AllowNullLiteral>]
type Header() =
[<DataMember(Name="documentIdentification")>]
member val DocumentIdentification:DocumentIdentification = null with get,set
[<DataMember(Name="sender")>]
member val Sender:Partner = null with get,set
[<DataMember(Name="receiver")>]
member val Receiver:Partner = null with get,set
type DocumentAction =
| ADD = 0
| CHANGE_BY_REFRESH = 1
| DELETE = 2
| REJECTED = 3
type DocumentStatus =
| ADDITIONAL_TRANSMISSION = 0
| COPY = 1
| ORIGINAL = 2
[<AllowNullLiteral>]
type AvpList() =
member val Code:String = null with get,set
member val Value:String = null with get,set
[<AllowNullLiteral>]
type BaseDocument() =
member val CurrencyCode:String = null with get,set
member val CreationDateTime:DateTime = new DateTime() with get,set
member val DocumentActionCode:DocumentAction = new DocumentAction() with get,set
member val DocumentStatusCode:DocumentStatus = new DocumentStatus() with get,set
member val DocumentStructureVersion:String = null with get,set
member val LastUpdateDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RevisionNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val AvpList:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type PaymentMethod() =
member val AutomatedClearingHousePaymentFormat:String = null with get,set
member val PaymentMethodCode:String = null with get,set
member val PaymentMethodIdentification:String = null with get,set
[<AllowNullLiteral>]
type Ecom_PartyIdentificationType() =
member val Gln:String = null with get,set
member val Name:String = null with get,set
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type CommunicationChannel() =
member val CommunicationChannelCode:String = null with get,set
member val CommunicationChannelName:String = null with get,set
member val CommunicationValue:String = null with get,set
[<AllowNullLiteral>]
type Contact() =
member val ContactTypeCode:String = null with get,set
member val PersonName:String = null with get,set
member val DepartmentName:String = null with get,set
member val JobTitle:String = null with get,set
member val Responsibility:String = null with get,set
member val CommunicationChannel:ResizeArray<CommunicationChannel> = null with get,set
[<AllowNullLiteral>]
type Address() =
member val StreetAddressOne:String = null with get,set
member val StreetAddressTwo:String = null with get,set
member val StreetAddressThree:String = null with get,set
member val City:String = null with get,set
member val PostalCode:String = null with get,set
member val ProvinceCode:String = null with get,set
member val CountryCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialRoutingNumber() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
[<AllowNullLiteral>]
type FinancialAccount() =
member val Number:String = null with get,set
member val NumberTypeCode:String = null with get,set
member val Name:String = null with get,set
[<AllowNullLiteral>]
type FinancialInstitutionInformation() =
member val FinancialInstitutionBranchName:String = null with get,set
member val FinancialInstitutionName:String = null with get,set
member val FinancialRoutingNumber:FinancialRoutingNumber = null with get,set
member val FinancialAccount:FinancialAccount = null with get,set
member val SwiftCode:String = null with get,set
member val ExportersCode:String = null with get,set
[<AllowNullLiteral>]
type TransactionalParty() =
inherit Ecom_PartyIdentificationType()
member val Contact:ResizeArray<Contact> = null with get,set
member val Address:Address = null with get,set
member val CommunicationChannel:ResizeArray<AvpList> = null with get,set
member val FinancialInstitutionInformation:FinancialInstitutionInformation = null with get,set
member val DutyFeeTaxRegistration:String = null with get,set
member val EntityIdentification:String = null with get,set
[<AllowNullLiteral>]
type DocumentReference() =
member val CreationDateTime:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val RevisionNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val LineItemNumber:Nullable<Int64> = new Nullable<Int64>() with get,set
member val EntityIdentification:String = null with get,set
[<AllowNullLiteral>]
type TransactionalReference() =
inherit DocumentReference()
member val TransactionalReferenceTypeCode:String = null with get,set
[<AllowNullLiteral>]
type SettlementAdjustment() =
member val AdjustmentAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val FinancialAdjusmentReasonPartyRoleCode:String = null with get,set
member val FinancialAdjustmentReasonCode:String = null with get,set
member val TransactionalReference:TransactionalReference = null with get,set
[<AllowNullLiteral>]
type ContentOwner() =
member val Gln:String = null with get,set
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
[<AllowNullLiteral>]
type InvoiceDocumentReference() =
inherit DocumentReference()
member val InvoiceTypeCode:String = null with get,set
member val ContentOwner:ContentOwner = null with get,set
[<AllowNullLiteral>]
type Ecom_PartyIdentification() =
member val AdditionalPartyIdentification:ResizeArray<AvpList> = null with get,set
member val Gln:String = null with get,set
[<AllowNullLiteral>]
type SettlementParty() =
inherit Ecom_PartyIdentification()
member val PartyRoleCode:String = null with get,set
[<AllowNullLiteral>]
type SettlementLineItem() =
member val AmountPaid:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val LineItemNumber:Int64 = new Int64() with get,set
member val OriginalAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val SettlementAdjustment:ResizeArray<SettlementAdjustment> = null with get,set
member val AvpList:AvpList = null with get,set
member val DebitCreditAdvice:DocumentReference = null with get,set
member val Invoice:InvoiceDocumentReference = null with get,set
member val RequestForPayment:DocumentReference = null with get,set
member val SettlementParty:ResizeArray<SettlementParty> = null with get,set
[<AllowNullLiteral>]
type SettlementExtensionLineItem() =
member val Number:Int32 = new Int32() with get,set
member val DocumentType:String = null with get,set
member val DocumentNumber:String = null with get,set
member val ItemText:String = null with get,set
[<AllowNullLiteral>]
type AdjustmentAndDiscountSummary() =
member val AmountTotal:Decimal = new Decimal() with get,set
member val AmountNett:Decimal = new Decimal() with get,set
member val AmountVat:Decimal = new Decimal() with get,set
member val ReasonMessage:String = null with get,set
[<AllowNullLiteral>]
type TotalAmountSplit() =
member val AmountTotal:Decimal = new Decimal() with get,set
member val AmountNett:Decimal = new Decimal() with get,set
member val AmountVat:Decimal = new Decimal() with get,set
[<AllowNullLiteral>]
type SettlementExtension() =
member val SettlementExtensionLineItem:ResizeArray<SettlementExtensionLineItem> = null with get,set
member val AdjustmentAndDiscountSummary:ResizeArray<AdjustmentAndDiscountSummary> = null with get,set
member val TotalAmountSplit:TotalAmountSplit = null with get,set
[<AllowNullLiteral>]
type Settlement() =
inherit BaseDocument()
member val BatchIdentification:String = null with get,set
member val PaymentEffectiveDate:DateTime = new DateTime() with get,set
member val SettlementCurrency:String = null with get,set
member val SettlementHandlingTypeCode:String = null with get,set
member val TotalAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val PaymentMethod:PaymentMethod = null with get,set
member val Payee:TransactionalParty = null with get,set
member val Payer:TransactionalParty = null with get,set
member val RemitTo:TransactionalParty = null with get,set
member val settlementIdentification:String = null with get,set
member val SettlementLineItem:ResizeArray<SettlementLineItem> = null with get,set
member val Extension:SettlementExtension = null with get,set
[<AllowNullLiteral>]
type SettlementMessage() =
member val Header:Header = null with get,set
member val Settlement:Settlement = null with get,set
///<summary>
///Settlement
///</summary>
[<Api(Description="Settlement")>]
[<ApiResponse(Description="Settlement data", IsDefaultResponse=true, StatusCode=200)>]
[<ApiResponse(Description="No Content", ResponseType=typeof<IReturnVoid>, StatusCode=204)>]
[<ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof<ArgumentOutOfRangeException>, StatusCode=400)>]
[<AllowNullLiteral>]
type GetSettlementById() =
///<summary>
///Settlement ID or Token
///</summary>
[<ApiMember(Description="Settlement ID or Token", ExcludeInSchema=true, ParameterType="path")>]
member val Id:Guid = new Guid() with get,set
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.
GET /api/settlement/{Id} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"header":{"documentIdentification":{"identifier":"String","type":"String"},"sender":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]},"receiver":{"identifier":{"authority":"String","text":"String"},"contactInformation":[{}]}},"settlement":{"batchIdentification":"String","settlementCurrency":"String","settlementHandlingTypeCode":"String","totalAmount":0,"paymentMethod":{"automatedClearingHousePaymentFormat":"String","paymentMethodCode":"String","paymentMethodIdentification":"String"},"payee":{"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}],"address":{"streetAddressOne":"String","streetAddressTwo":"String","streetAddressThree":"String","city":"String","postalCode":"String","provinceCode":"String","countryCode":"String"},"communicationChannel":[{"code":"String","value":"String"}],"financialInstitutionInformation":{"financialInstitutionBranchName":"String","financialInstitutionName":"String","financialRoutingNumber":{"number":"String","numberTypeCode":"String"},"financialAccount":{"number":"String","numberTypeCode":"String","name":"String"},"swiftCode":"String","exportersCode":"String"},"dutyFeeTaxRegistration":"String","entityIdentification":"String","gln":"String","name":"String","additionalPartyIdentification":[{"code":"String","value":"String"}]},"payer":{"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}],"address":{"streetAddressOne":"String","streetAddressTwo":"String","streetAddressThree":"String","city":"String","postalCode":"String","provinceCode":"String","countryCode":"String"},"communicationChannel":[{"code":"String","value":"String"}],"financialInstitutionInformation":{"financialInstitutionBranchName":"String","financialInstitutionName":"String","financialRoutingNumber":{"number":"String","numberTypeCode":"String"},"financialAccount":{"number":"String","numberTypeCode":"String","name":"String"},"swiftCode":"String","exportersCode":"String"},"dutyFeeTaxRegistration":"String","entityIdentification":"String","gln":"String","name":"String","additionalPartyIdentification":[{"code":"String","value":"String"}]},"remitTo":{"contact":[{"contactTypeCode":"String","personName":"String","departmentName":"String","jobTitle":"String","responsibility":"String","communicationChannel":[{"communicationChannelCode":"String","communicationChannelName":"String","communicationValue":"String"}]}],"address":{"streetAddressOne":"String","streetAddressTwo":"String","streetAddressThree":"String","city":"String","postalCode":"String","provinceCode":"String","countryCode":"String"},"communicationChannel":[{"code":"String","value":"String"}],"financialInstitutionInformation":{"financialInstitutionBranchName":"String","financialInstitutionName":"String","financialRoutingNumber":{"number":"String","numberTypeCode":"String"},"financialAccount":{"number":"String","numberTypeCode":"String","name":"String"},"swiftCode":"String","exportersCode":"String"},"dutyFeeTaxRegistration":"String","entityIdentification":"String","gln":"String","name":"String","additionalPartyIdentification":[{"code":"String","value":"String"}]},"settlementIdentification":"String","settlementLineItem":[{"amountPaid":0,"lineItemNumber":0,"originalAmount":0,"settlementAdjustment":[{"adjustmentAmount":0,"financialAdjusmentReasonPartyRoleCode":"String","financialAdjustmentReasonCode":"String","transactionalReference":{"transactionalReferenceTypeCode":"String","creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"}}],"avpList":{"code":"String","value":"String"},"debitCreditAdvice":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"invoice":{"invoiceTypeCode":"String","contentOwner":{"gln":"String","additionalPartyIdentification":[{"code":"String","value":"String"}]},"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"requestForPayment":{"creationDateTime":"0001-01-01","revisionNumber":0,"lineItemNumber":0,"entityIdentification":"String"},"settlementParty":[{"partyRoleCode":"String","additionalPartyIdentification":[{"code":"String","value":"String"}],"gln":"String"}]}],"extension":{"settlementExtensionLineItem":[{"number":0,"documentType":"String","documentNumber":"String","itemText":"String"}],"adjustmentAndDiscountSummary":[{"amountTotal":0,"amountNett":0,"amountVat":0,"reasonMessage":"String"}],"totalAmountSplit":{"amountTotal":0,"amountNett":0,"amountVat":0}},"currencyCode":"String","documentActionCode":"ADD","documentStatusCode":"ADDITIONAL_TRANSMISSION","documentStructureVersion":"String","lastUpdateDateTime":"0001-01-01","revisionNumber":0,"avpList":[{"code":"String","value":"String"}]}}