| 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 .xml suffix or ?format=xml
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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<SettlementMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<Header>
<documentIdentification>
<creationDateAndTime>0001-01-01T00:00:00</creationDateAndTime>
<identifier>String</identifier>
<type>String</type>
</documentIdentification>
<receiver>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</receiver>
<sender>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</sender>
</Header>
<Settlement>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<CurrencyCode>String</CurrencyCode>
<DocumentActionCode>ADD</DocumentActionCode>
<DocumentStatusCode>ADDITIONAL_TRANSMISSION</DocumentStatusCode>
<DocumentStructureVersion>String</DocumentStructureVersion>
<LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
<RevisionNumber>0</RevisionNumber>
<BatchIdentification>String</BatchIdentification>
<Extension>
<AdjustmentAndDiscountSummary>
<AdjustmentAndDiscountSummary>
<AmountNett>0</AmountNett>
<AmountTotal>0</AmountTotal>
<AmountVat>0</AmountVat>
<ReasonMessage>String</ReasonMessage>
</AdjustmentAndDiscountSummary>
</AdjustmentAndDiscountSummary>
<SettlementExtensionLineItem>
<SettlementExtensionLineItem>
<DocumentNumber>String</DocumentNumber>
<DocumentType>String</DocumentType>
<ItemText>String</ItemText>
<Number>0</Number>
</SettlementExtensionLineItem>
</SettlementExtensionLineItem>
<TotalAmountSplit>
<AmountNett>0</AmountNett>
<AmountTotal>0</AmountTotal>
<AmountVat>0</AmountVat>
</TotalAmountSplit>
</Extension>
<Payee>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payee>
<Payer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payer>
<PaymentEffectiveDate>0001-01-01T00:00:00</PaymentEffectiveDate>
<PaymentMethod>
<AutomatedClearingHousePaymentFormat>String</AutomatedClearingHousePaymentFormat>
<PaymentMethodCode>String</PaymentMethodCode>
<PaymentMethodIdentification>String</PaymentMethodIdentification>
</PaymentMethod>
<RemitTo>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</RemitTo>
<SettlementCurrency>String</SettlementCurrency>
<SettlementHandlingTypeCode>String</SettlementHandlingTypeCode>
<SettlementLineItem>
<SettlementLineItem>
<AmountPaid>0</AmountPaid>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
<DebitCreditAdvice>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</DebitCreditAdvice>
<Invoice>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
<ContentOwner>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
</ContentOwner>
<InvoiceTypeCode>String</InvoiceTypeCode>
</Invoice>
<LineItemNumber>0</LineItemNumber>
<OriginalAmount>0</OriginalAmount>
<RequestForPayment>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</RequestForPayment>
<SettlementAdjustment>
<SettlementAdjustment>
<AdjustmentAmount>0</AdjustmentAmount>
<FinancialAdjusmentReasonPartyRoleCode>String</FinancialAdjusmentReasonPartyRoleCode>
<FinancialAdjustmentReasonCode>String</FinancialAdjustmentReasonCode>
<TransactionalReference>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
<TransactionalReferenceTypeCode>String</TransactionalReferenceTypeCode>
</TransactionalReference>
</SettlementAdjustment>
</SettlementAdjustment>
<SettlementParty>
<SettlementParty>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<PartyRoleCode>String</PartyRoleCode>
</SettlementParty>
</SettlementParty>
</SettlementLineItem>
</SettlementLineItem>
<TotalAmount>0</TotalAmount>
<settlementIdentification>String</settlementIdentification>
</Settlement>
</SettlementMessage>