| POST | /api/settlement | Add new Settlement |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Settlement | model | SettlementMessage | Yes | Settlement model containing all of the Settlement data |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Header | form | Header | Yes | |
| Settlement | form | Settlement | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| DocumentIdentification | form | DocumentIdentification | Yes | |
| Sender | form | Partner | Yes | |
| Receiver | form | Partner | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Identifier | form | string | Yes | |
| Type | form | string | Yes | |
| CreationDateAndTime | form | DateTime | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Identifier | form | Identifier | Yes | |
| ContactInformation | form | List<ContactInformation> | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Authority | form | string | Yes | |
| Text | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| BatchIdentification | form | string | Yes | |
| PaymentEffectiveDate | form | DateTime | No | |
| SettlementCurrency | form | string | Yes | |
| SettlementHandlingTypeCode | form | string | Yes | |
| TotalAmount | form | decimal? | No | |
| PaymentMethod | form | PaymentMethod | Yes | |
| Payee | form | TransactionalParty | Yes | |
| Payer | form | TransactionalParty | Yes | |
| RemitTo | form | TransactionalParty | Yes | |
| settlementIdentification | form | string | Yes | |
| SettlementLineItem | form | List<SettlementLineItem> | Yes | |
| Extension | form | SettlementExtension | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| CurrencyCode | form | string | Yes | |
| CreationDateTime | form | DateTime | No | |
| DocumentActionCode | form | DocumentAction | No | |
| DocumentStatusCode | form | DocumentStatus | No | |
| DocumentStructureVersion | form | string | Yes | |
| LastUpdateDateTime | form | DateTime? | No | |
| RevisionNumber | form | long? | No | |
| AvpList | form | List<AvpList> | Yes |
| ADD | |
| CHANGE_BY_REFRESH | |
| DELETE | |
| REJECTED |
| ADDITIONAL_TRANSMISSION | |
| COPY | |
| ORIGINAL |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Code | form | string | Yes | |
| Value | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AutomatedClearingHousePaymentFormat | form | string | Yes | |
| PaymentMethodCode | form | string | Yes | |
| PaymentMethodIdentification | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Contact | form | List<Contact> | Yes | |
| Address | form | Address | Yes | |
| CommunicationChannel | form | List<AvpList> | Yes | |
| FinancialInstitutionInformation | form | FinancialInstitutionInformation | Yes | |
| DutyFeeTaxRegistration | form | string | Yes | |
| EntityIdentification | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Gln | form | string | Yes | |
| Name | form | string | Yes | |
| AdditionalPartyIdentification | form | List<AvpList> | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ContactTypeCode | form | string | Yes | |
| PersonName | form | string | Yes | |
| DepartmentName | form | string | Yes | |
| JobTitle | form | string | Yes | |
| Responsibility | form | string | Yes | |
| CommunicationChannel | form | List<CommunicationChannel> | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| CommunicationChannelCode | form | string | Yes | |
| CommunicationChannelName | form | string | Yes | |
| CommunicationValue | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| StreetAddressOne | form | string | Yes | |
| StreetAddressTwo | form | string | Yes | |
| StreetAddressThree | form | string | Yes | |
| City | form | string | Yes | |
| PostalCode | form | string | Yes | |
| ProvinceCode | form | string | Yes | |
| CountryCode | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| FinancialInstitutionBranchName | form | string | Yes | |
| FinancialInstitutionName | form | string | Yes | |
| FinancialRoutingNumber | form | FinancialRoutingNumber | Yes | |
| FinancialAccount | form | FinancialAccount | Yes | |
| SwiftCode | form | string | Yes | |
| ExportersCode | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Number | form | string | Yes | |
| NumberTypeCode | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Number | form | string | Yes | |
| NumberTypeCode | form | string | Yes | |
| Name | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AmountPaid | form | decimal? | No | |
| LineItemNumber | form | long | No | |
| OriginalAmount | form | decimal? | No | |
| SettlementAdjustment | form | List<SettlementAdjustment> | Yes | |
| AvpList | form | AvpList | Yes | |
| DebitCreditAdvice | form | DocumentReference | Yes | |
| Invoice | form | InvoiceDocumentReference | Yes | |
| RequestForPayment | form | DocumentReference | Yes | |
| SettlementParty | form | List<SettlementParty> | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AdjustmentAmount | form | decimal? | No | |
| FinancialAdjusmentReasonPartyRoleCode | form | string | Yes | |
| FinancialAdjustmentReasonCode | form | string | Yes | |
| TransactionalReference | form | TransactionalReference | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TransactionalReferenceTypeCode | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| CreationDateTime | form | DateTime? | No | |
| RevisionNumber | form | long? | No | |
| LineItemNumber | form | long? | No | |
| EntityIdentification | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| InvoiceTypeCode | form | string | Yes | |
| ContentOwner | form | ContentOwner | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Gln | form | string | Yes | |
| AdditionalPartyIdentification | form | List<AvpList> | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| PartyRoleCode | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AdditionalPartyIdentification | form | List<AvpList> | Yes | |
| Gln | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| SettlementExtensionLineItem | form | List<SettlementExtensionLineItem> | Yes | |
| AdjustmentAndDiscountSummary | form | List<AdjustmentAndDiscountSummary> | Yes | |
| TotalAmountSplit | form | TotalAmountSplit | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Number | form | int | No | |
| DocumentType | form | string | Yes | |
| DocumentNumber | form | string | Yes | |
| ItemText | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AmountTotal | form | decimal | No | |
| AmountNett | form | decimal | No | |
| AmountVat | form | decimal | No | |
| ReasonMessage | form | string | Yes |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AmountTotal | form | decimal | No | |
| AmountNett | form | decimal | No | |
| AmountVat | form | decimal | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Token | form | Guid | No |
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/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
{
}