DX STF Client API

<back to all web services

GetSettlementById

Settlement Requests

Settlement

Requires Authentication
The following routes are available for this service:
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

F# GetSettlementById DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + 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"}]}}