DX STF Client API

<back to all web services

AddSettlement

Settlement Requests

Settlement

Requires Authentication
The following routes are available for this service:
POST/api/settlementAdd new Settlement
AddSettlement Parameters:
NameParameterData TypeRequiredDescription
SettlementmodelSettlementMessageYesSettlement model containing all of the Settlement data
SettlementMessage Parameters:
NameParameterData TypeRequiredDescription
HeaderformHeaderYes
SettlementformSettlementYes
Header Parameters:
NameParameterData TypeRequiredDescription
DocumentIdentificationformDocumentIdentificationYes
SenderformPartnerYes
ReceiverformPartnerYes
DocumentIdentification Parameters:
NameParameterData TypeRequiredDescription
IdentifierformstringYes
TypeformstringYes
CreationDateAndTimeformDateTimeNo
Partner Parameters:
NameParameterData TypeRequiredDescription
IdentifierformIdentifierYes
ContactInformationformList<ContactInformation>Yes
Identifier Parameters:
NameParameterData TypeRequiredDescription
AuthorityformstringYes
TextformstringYes
Settlement Parameters:
NameParameterData TypeRequiredDescription
BatchIdentificationformstringYes
PaymentEffectiveDateformDateTimeNo
SettlementCurrencyformstringYes
SettlementHandlingTypeCodeformstringYes
TotalAmountformdecimal?No
PaymentMethodformPaymentMethodYes
PayeeformTransactionalPartyYes
PayerformTransactionalPartyYes
RemitToformTransactionalPartyYes
settlementIdentificationformstringYes
SettlementLineItemformList<SettlementLineItem>Yes
ExtensionformSettlementExtensionYes
BaseDocument Parameters:
NameParameterData TypeRequiredDescription
CurrencyCodeformstringYes
CreationDateTimeformDateTimeNo
DocumentActionCodeformDocumentActionNo
DocumentStatusCodeformDocumentStatusNo
DocumentStructureVersionformstringYes
LastUpdateDateTimeformDateTime?No
RevisionNumberformlong?No
AvpListformList<AvpList>Yes
DocumentAction Enum:
ADD
CHANGE_BY_REFRESH
DELETE
REJECTED
DocumentStatus Enum:
ADDITIONAL_TRANSMISSION
COPY
ORIGINAL
AvpList Parameters:
NameParameterData TypeRequiredDescription
CodeformstringYes
ValueformstringYes
PaymentMethod Parameters:
NameParameterData TypeRequiredDescription
AutomatedClearingHousePaymentFormatformstringYes
PaymentMethodCodeformstringYes
PaymentMethodIdentificationformstringYes
TransactionalParty Parameters:
NameParameterData TypeRequiredDescription
ContactformList<Contact>Yes
AddressformAddressYes
CommunicationChannelformList<AvpList>Yes
FinancialInstitutionInformationformFinancialInstitutionInformationYes
DutyFeeTaxRegistrationformstringYes
EntityIdentificationformstringYes
Ecom_PartyIdentificationType Parameters:
NameParameterData TypeRequiredDescription
GlnformstringYes
NameformstringYes
AdditionalPartyIdentificationformList<AvpList>Yes
Contact Parameters:
NameParameterData TypeRequiredDescription
ContactTypeCodeformstringYes
PersonNameformstringYes
DepartmentNameformstringYes
JobTitleformstringYes
ResponsibilityformstringYes
CommunicationChannelformList<CommunicationChannel>Yes
CommunicationChannel Parameters:
NameParameterData TypeRequiredDescription
CommunicationChannelCodeformstringYes
CommunicationChannelNameformstringYes
CommunicationValueformstringYes
Address Parameters:
NameParameterData TypeRequiredDescription
StreetAddressOneformstringYes
StreetAddressTwoformstringYes
StreetAddressThreeformstringYes
CityformstringYes
PostalCodeformstringYes
ProvinceCodeformstringYes
CountryCodeformstringYes
FinancialInstitutionInformation Parameters:
NameParameterData TypeRequiredDescription
FinancialInstitutionBranchNameformstringYes
FinancialInstitutionNameformstringYes
FinancialRoutingNumberformFinancialRoutingNumberYes
FinancialAccountformFinancialAccountYes
SwiftCodeformstringYes
ExportersCodeformstringYes
FinancialRoutingNumber Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
FinancialAccount Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
NameformstringYes
SettlementLineItem Parameters:
NameParameterData TypeRequiredDescription
AmountPaidformdecimal?No
LineItemNumberformlongNo
OriginalAmountformdecimal?No
SettlementAdjustmentformList<SettlementAdjustment>Yes
AvpListformAvpListYes
DebitCreditAdviceformDocumentReferenceYes
InvoiceformInvoiceDocumentReferenceYes
RequestForPaymentformDocumentReferenceYes
SettlementPartyformList<SettlementParty>Yes
SettlementAdjustment Parameters:
NameParameterData TypeRequiredDescription
AdjustmentAmountformdecimal?No
FinancialAdjusmentReasonPartyRoleCodeformstringYes
FinancialAdjustmentReasonCodeformstringYes
TransactionalReferenceformTransactionalReferenceYes
TransactionalReference Parameters:
NameParameterData TypeRequiredDescription
TransactionalReferenceTypeCodeformstringYes
DocumentReference Parameters:
NameParameterData TypeRequiredDescription
CreationDateTimeformDateTime?No
RevisionNumberformlong?No
LineItemNumberformlong?No
EntityIdentificationformstringYes
InvoiceDocumentReference Parameters:
NameParameterData TypeRequiredDescription
InvoiceTypeCodeformstringYes
ContentOwnerformContentOwnerYes
ContentOwner Parameters:
NameParameterData TypeRequiredDescription
GlnformstringYes
AdditionalPartyIdentificationformList<AvpList>Yes
SettlementParty Parameters:
NameParameterData TypeRequiredDescription
PartyRoleCodeformstringYes
Ecom_PartyIdentification Parameters:
NameParameterData TypeRequiredDescription
AdditionalPartyIdentificationformList<AvpList>Yes
GlnformstringYes
SettlementExtension Parameters:
NameParameterData TypeRequiredDescription
SettlementExtensionLineItemformList<SettlementExtensionLineItem>Yes
AdjustmentAndDiscountSummaryformList<AdjustmentAndDiscountSummary>Yes
TotalAmountSplitformTotalAmountSplitYes
SettlementExtensionLineItem Parameters:
NameParameterData TypeRequiredDescription
NumberformintNo
DocumentTypeformstringYes
DocumentNumberformstringYes
ItemTextformstringYes
AdjustmentAndDiscountSummary Parameters:
NameParameterData TypeRequiredDescription
AmountTotalformdecimalNo
AmountNettformdecimalNo
AmountVatformdecimalNo
ReasonMessageformstringYes
TotalAmountSplit Parameters:
NameParameterData TypeRequiredDescription
AmountTotalformdecimalNo
AmountNettformdecimalNo
AmountVatformdecimalNo
TokenDto Parameters:
NameParameterData TypeRequiredDescription
TokenformGuidNo

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/settlement HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	settlement: 
	{
		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
				}
			]
		}
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	
}