| POST | /trade_quotes/save |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| TradeQuotes | body | TradeQuotes | No | |
| RetailClient | body | RetailClient | No | |
| ClientTcc | body | ClientTcc | No | |
| SdaRemainder | body | SdaRemainder | No | |
| TccRemainder | body | TccRemainder | No | |
| CashBalances | body | CashBalances | No | |
| RiskRating | body | RiskRating | No | |
| TradeQuoteMessages | body | TradeQuoteMessage | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| UserId | form | int | No | |
| UserName | form | string | No | |
| AdminId | form | int | No | |
| AdminName | form | string | No | |
| ClientId | form | int | No | |
| FirstLastName | form | string | No | |
| SelectedRate | form | string | No | |
| TradeType | form | string | No | |
| EnteredZar | form | bool | No | |
| CrossCurrency | form | string | No | |
| TradeCurrency | form | string | No | |
| TradeTiming | form | string | No | |
| CommissionRate | form | decimal? | No | |
| CommissionRateInclVat | form | decimal? | No | |
| BuyZarTradeZarValue | form | decimal? | No | |
| BuyZarTradeCrossValue | form | decimal? | No | |
| SellZarTradeZarValue | form | decimal? | No | |
| SellZarTradeCrossValue | form | decimal? | No | |
| CrossTradeValue | form | decimal? | No | |
| CrossTradeCrossValue | form | decimal? | No | |
| TradeValue | form | decimal? | No | |
| CrossValue | form | decimal? | No | |
| QuotedRate | form | decimal? | No | |
| ClientRate | form | decimal? | No | |
| InitialSend | form | DateTime? | No | |
| InitialSendTime | form | string | No | |
| InitialReplyTime | form | string | No | |
| QuoteStatus | form | string | No | |
| QuoteAccepted | form | bool? | No | |
| QuoteAcceptedDate | form | DateTime? | No | |
| QuoteAcceptedTime | form | string | No | |
| QuoteDeclinedDate | form | DateTime? | No | |
| QuoteDeclinedTime | form | string | No | |
| AcHasReplied | form | bool? | No | |
| ZarAccountNumber | form | string | No | |
| FcaAccountNumber1 | form | string | No | |
| FcaAccountNumber2 | form | string | No | |
| TradeAccountNumber | form | string | No | |
| FcaCurrency1 | form | string | No | |
| FcaCurrency2 | form | string | No | |
| HasClientTcc | form | bool? | No | |
| TccApplicationStatus | form | string | No | |
| SdaRemainder | form | decimal? | No | |
| TccRemainder | form | decimal? | No | |
| CurrentZarCashBalance | form | decimal? | No | |
| CurrentFca1CashBalance | form | decimal? | No | |
| CurrentFca2CashBalance | form | decimal? | No | |
| CurrentTradeCashBalance | form | decimal? | No | |
| HasChatEnabled | form | bool? | No | |
| DoesHaveChat | form | string | No | |
| HasSufficientCashBalance | form | string | No | |
| HasSufficientSdaBalance | form | string | No | |
| HasSufficientTccBalance | form | string | No | |
| RiskStatus | form | string | No | |
| ActualTradedRate | form | decimal? | No | |
| TradeQuoteMessages | form | List<TradeQuoteMessage> | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Message | form | string | No | |
| SentBy | form | string | No | |
| UpdatedAt | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| PartnerId | form | int | No | |
| PartnerIds | form | List<int> | No | |
| PartnerName | form | string | No | |
| ClientType | form | string | No | |
| FirstName | form | string | No | |
| MiddleName | form | string | No | |
| LastName | form | string | No | |
| FullNames | form | string | No | |
| FirstLastName | form | string | No | |
| Title | form | string | No | |
| Gender | form | string | No | |
| Race | form | string | No | |
| ResidencyStatus | form | string | No | |
| TaxRefNumber | form | string | No | |
| IdNumber | form | string | No | |
| DateOfBirth | form | DateTime? | No | |
| PlaceOfBirth | form | string | No | |
| Nationality | form | string | No | |
| CountryOfResidence | form | string | No | |
| PassportNumber | form | string | No | |
| PassportIssueDate | form | DateTime? | No | |
| PassportExpiryDate | form | DateTime? | No | |
| PassportCountry | form | string | No | |
| TempResNumber | form | string | No | |
| TempResDate | form | string | No | |
| EmailAddress | form | string | No | |
| ContactNumber1 | form | string | No | |
| ContactNumber2 | form | string | No | |
| ContactNumber3 | form | string | No | |
| Address | form | string | No | |
| Suburb | form | string | No | |
| City | form | string | No | |
| Province | form | string | No | |
| PostalCode | form | string | No | |
| Country | form | string | No | |
| PostalSameAsStreet | form | bool? | No | |
| PostalAddress | form | string | No | |
| PostalSuburb | form | string | No | |
| PostalCity | form | string | No | |
| PostalProvince | form | string | No | |
| PostalPostalCode | form | string | No | |
| PostalCountry | form | string | No | |
| IsSoleProprietor | form | bool? | No | |
| TradingSameAsStreet | form | bool? | No | |
| TradingAddress | form | string | No | |
| TradingSuburb | form | string | No | |
| TradingCity | form | string | No | |
| TradingProvince | form | string | No | |
| TradingPostalCode | form | string | No | |
| TradingCountry | form | string | No | |
| Occupation | form | string | No | |
| OccupationSpecify | form | string | No | |
| Designation | form | string | No | |
| DesignationSpecify | form | string | No | |
| BusinessType | form | string | No | |
| IsZarAccount | form | bool? | No | |
| FcaRequired | form | bool? | No | |
| FcaCurrency1 | form | string | No | |
| FcaCurrency2 | form | string | No | |
| FcaDetails | form | string | No | |
| TradeLimit | form | string | No | |
| LessR10k | form | bool? | No | |
| LessR20k | form | bool? | No | |
| LessR50k | form | bool? | No | |
| LessR100k | form | bool? | No | |
| MoreR100k | form | bool? | No | |
| MonthlyIncome | form | string | No | |
| AccountPurpose | form | string | No | |
| SourceOfFunds | form | string | No | |
| SourceOfFundsSpecify | form | string | No | |
| SourceOfWealth | form | string | No | |
| SourceOfWealthSpecify | form | string | No | |
| AccountDomicile | form | string | No | |
| ThirdPartyAccount | form | string | No | |
| InvestmentValue | form | string | No | |
| UsPersonYes | form | bool? | No | |
| UsPersonNo | form | bool? | No | |
| TinNumber | form | string | No | |
| ExSaTaxResidentYes | form | bool? | No | |
| ExSaTaxResidentNo | form | bool? | No | |
| Country1 | form | string | No | |
| TinNumber1 | form | string | No | |
| Country2 | form | string | No | |
| TinNumber2 | form | string | No | |
| CurrentDate | form | DateTime? | No | |
| MultipleSignatories | form | bool | No | |
| Capacity1 | form | string | No | |
| ClSignFullNames2 | form | string | No | |
| Capacity2 | form | string | No | |
| MustSign | form | string | No | |
| SignedAt | form | string | No | |
| Status | form | string | No | |
| CifNumber | form | string | No | |
| ZarAccountNumber | form | string | No | |
| FcaAccountNumber1 | form | string | No | |
| FcaAccountNumber2 | form | string | No | |
| FaceToFace | form | bool? | No | |
| NonFaceToFace | form | bool? | No | |
| BrokerIntroduced | form | bool? | No | |
| TradingAccount | form | bool? | No | |
| Resident | form | bool? | No | |
| NonResident | form | bool? | No | |
| EmigrantBlockedAccount | form | bool? | No | |
| EbaSavings | form | bool? | No | |
| EbaCurrent | form | bool? | No | |
| EbaTradingAccount | form | bool? | No | |
| ExternalReference | form | string | No | |
| GeoCode | form | string | No | |
| ExchangeControl1 | form | bool? | No | |
| ExchangeControl2 | form | bool? | No | |
| ExchangeControl3 | form | bool? | No | |
| TheAgent | form | string | No | |
| IpIntroducer | form | string | No | |
| IsSwitchClient | form | bool? | No | |
| PreviousIntermediary | form | string | No | |
| ResignationDate | form | DateTime? | No | |
| IsPartnerClient | form | bool? | No | |
| ClientAllocatedToPartner | form | bool? | No | |
| HavePopiPermission | form | bool? | No | |
| IsSanctionsCheckComplete | form | bool? | No | |
| SanctionsScreen | form | string | No | |
| HasForm25Data | form | bool? | No | |
| HasClientTcc | form | bool? | No | |
| HasClientTccPending | form | bool? | No | |
| HasHadClientTcc | form | bool? | No | |
| IsDeactivated | form | bool? | No | |
| DeactivatedDate | form | DateTime? | No | |
| DiscretionaryAllowance | form | decimal? | No | |
| DaStartDate | form | DateTime? | No | |
| DaEndDate | form | DateTime? | No | |
| ProgressOne | form | bool? | No | |
| ProgressTwo | form | bool? | No | |
| ProgressThree | form | bool? | No | |
| IsEditing | form | bool? | No | |
| HasFicaUpload | form | bool? | No | |
| CreatedByUserId | form | int | No | |
| CompletedNotificationSent | form | bool? | No | |
| HigherRiskClientsChecksDone | form | bool? | No | |
| LessAnnual100k | form | bool? | No | |
| LessAnnual250k | form | bool? | No | |
| LessAnnual500k | form | bool? | No | |
| LessAnnual1mil | form | bool? | No | |
| MoreAnnual1mil | form | bool? | No | |
| SpotForeignExchange | form | bool? | No | |
| ForwardExchange | form | bool? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| ClientId | form | int | No | |
| FullNames | form | string | No | |
| FirstLastName | form | string | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| ApplicationStatus | form | string | No | |
| TccIssuer | form | string | No | |
| TccPin | form | string | No | |
| TccValue | form | decimal? | No | |
| IssueDate | form | DateTime? | No | |
| ExpiryDate | form | DateTime? | No | |
| Charges | form | decimal? | No | |
| ChargesInvoice | form | string | No | |
| ChargesDate | form | DateTime? | No | |
| ChargesType | form | string | No | |
| Comments | form | string | No | |
| InitialSend | form | DateTime? | No | |
| UpdatedAt | form | DateTime? | No | |
| TimeElapsed | form | double | No | |
| HasTccDocs | form | bool? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| ClientId | form | int | No | |
| FirstLastName | form | string | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| CifNumber | form | string | No | |
| DaRemainder | form | decimal? | No | |
| InputDate | form | DateTime? | No | |
| TotalTrades | form | decimal? | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| ClientId | form | int | No | |
| FirstLastName | form | string | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| TccRemainders | form | decimal? | No | |
| CifNumber | form | string | No | |
| DaRemainder | form | decimal? | No | |
| InputDate | form | DateTime? | No | |
| TccValue | form | decimal? | No | |
| TotalTrades | form | decimal? | No | |
| ApplicationStatus | form | string | No | |
| ExpiredPreviousYear | form | bool? | No | |
| Pin | form | string | No | |
| TccId | form | int | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| ClientId | form | int | No | |
| FirstLastName | form | string | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| CifNumber | form | string | No | |
| AccountNumber | form | string | No | |
| AccountCurrency | form | string | No | |
| CurrentBalance | form | decimal | No | |
| InputDate | form | DateTime | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Id | form | int | No | |
| ClientId | form | int | No | |
| FullNames | form | string | No | |
| FirstLastName | form | string | No | |
| PartnerId | form | int | No | |
| PartnerName | form | string | No | |
| IdNumber | form | string | No | |
| UpdatedAt | form | DateTime? | No | |
| Nationality | form | string | No | |
| NationalityRiskLevelDescription | form | string | No | |
| NationalityRiskLevelScore | form | int? | No | |
| AccountDomicile | form | string | No | |
| AccountDomicileRiskLevelDescription | form | string | No | |
| AccountDomicileRiskLevelScore | form | int? | No | |
| CountryOfResidence | form | string | No | |
| CountryOfResidenceRiskLevelDescription | form | string | No | |
| CountryOfResidenceRiskLevelScore | form | int? | No | |
| Occupation | form | string | No | |
| OccupationRiskLevelDescription | form | string | No | |
| OccupationRiskLevelScore | form | int? | No | |
| SourceOfFunds | form | string | No | |
| SourceOfFundsRiskLevelDescription | form | string | No | |
| SourceOfFundsRiskLevelScore | form | int? | No | |
| SourceOfWealth | form | string | No | |
| SourceOfWealthRiskLevelDescription | form | string | No | |
| SourceOfWealthRiskLevelScore | form | int? | No | |
| ThirdParty | form | string | No | |
| ThirdPartyRiskLevelDescription | form | string | No | |
| ThirdPartyRiskLevelScore | form | int? | No | |
| InvestmentValue | form | string | No | |
| InvestmentValueRiskLevelDescription | form | string | No | |
| InvestmentValueRiskLevelScore | form | int? | No | |
| SanctionsScreen | form | string | No | |
| SanctionsScreenRiskLevelDescription | form | string | No | |
| SanctionsScreenRiskLevelScore | form | int? | No | |
| SumScore | form | int? | No | |
| SumScoreDescription | form | string | No | |
| InitialFicaDate | form | DateTime? | No | |
| NextFicaDate | form | DateTime? | No | |
| RequireRefica | form | bool? | No | |
| Comments | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Result | form | bool | No | |
| Message | form | string | 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 /trade_quotes/save HTTP/1.1
Host: api.fxhub.co.za
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
tradeQuotes:
{
id: 0,
partnerId: 0,
partnerName: String,
userId: 0,
userName: String,
adminId: 0,
adminName: String,
clientId: 0,
firstLastName: String,
selectedRate: String,
tradeType: String,
enteredZar: False,
crossCurrency: String,
tradeCurrency: String,
tradeTiming: String,
commissionRate: 0,
commissionRateInclVat: 0,
buyZarTradeZarValue: 0,
buyZarTradeCrossValue: 0,
sellZarTradeZarValue: 0,
sellZarTradeCrossValue: 0,
crossTradeValue: 0,
crossTradeCrossValue: 0,
tradeValue: 0,
crossValue: 0,
quotedRate: 0,
clientRate: 0,
initialSend: 0001-01-01,
initialSendTime: String,
initialReplyTime: String,
quoteStatus: String,
quoteAccepted: False,
quoteAcceptedDate: 0001-01-01,
quoteAcceptedTime: String,
quoteDeclinedDate: 0001-01-01,
quoteDeclinedTime: String,
acHasReplied: False,
zarAccountNumber: String,
fcaAccountNumber1: String,
fcaAccountNumber2: String,
tradeAccountNumber: String,
fcaCurrency1: String,
fcaCurrency2: String,
hasClientTcc: False,
tccApplicationStatus: String,
sdaRemainder: 0,
tccRemainder: 0,
currentZarCashBalance: 0,
currentFca1CashBalance: 0,
currentFca2CashBalance: 0,
currentTradeCashBalance: 0,
hasChatEnabled: False,
doesHaveChat: String,
hasSufficientCashBalance: String,
hasSufficientSdaBalance: String,
hasSufficientTccBalance: String,
riskStatus: String,
actualTradedRate: 0,
tradeQuoteMessages:
[
{
message: String,
sentBy: String,
updatedAt: String
}
]
},
retailClient:
{
id: 0,
partnerId: 0,
partnerIds:
[
0
],
partnerName: String,
clientType: String,
firstName: String,
middleName: String,
lastName: String,
fullNames: String String String,
firstLastName: String String,
title: String,
gender: String,
race: String,
residencyStatus: String,
taxRefNumber: String,
idNumber: String,
dateOfBirth: 0001-01-01,
placeOfBirth: String,
nationality: String,
countryOfResidence: String,
passportNumber: String,
passportIssueDate: 0001-01-01,
passportExpiryDate: 0001-01-01,
passportCountry: String,
tempResNumber: String,
tempResDate: String,
emailAddress: String,
contactNumber1: String,
contactNumber2: String,
contactNumber3: String,
address: String,
suburb: String,
city: String,
province: String,
postalCode: String,
country: String,
postalSameAsStreet: False,
postalAddress: String,
postalSuburb: String,
postalCity: String,
postalProvince: String,
postalPostalCode: String,
postalCountry: String,
isSoleProprietor: False,
tradingSameAsStreet: False,
tradingAddress: String,
tradingSuburb: String,
tradingCity: String,
tradingProvince: String,
tradingPostalCode: String,
tradingCountry: String,
occupation: String,
occupationSpecify: String,
designation: String,
designationSpecify: String,
businessType: String,
isZarAccount: False,
fcaRequired: False,
fcaCurrency1: String,
fcaCurrency2: String,
fcaDetails: String,
tradeLimit: String,
lessR10k: False,
lessR20k: False,
lessR50k: False,
lessR100k: False,
moreR100k: False,
monthlyIncome: String,
accountPurpose: String,
sourceOfFunds: String,
sourceOfFundsSpecify: String,
sourceOfWealth: String,
sourceOfWealthSpecify: String,
accountDomicile: String,
thirdPartyAccount: String,
investmentValue: String,
usPersonYes: False,
usPersonNo: False,
tinNumber: String,
exSaTaxResidentYes: False,
exSaTaxResidentNo: False,
country1: String,
tinNumber1: String,
country2: String,
tinNumber2: String,
currentDate: 0001-01-01,
multipleSignatories: False,
capacity1: String,
clSignFullNames2: String,
capacity2: String,
mustSign: String,
signedAt: String,
status: String,
cifNumber: String,
zarAccountNumber: String,
fcaAccountNumber1: String,
fcaAccountNumber2: String,
faceToFace: False,
nonFaceToFace: False,
brokerIntroduced: False,
tradingAccount: False,
resident: False,
nonResident: False,
emigrantBlockedAccount: False,
ebaSavings: False,
ebaCurrent: False,
ebaTradingAccount: False,
externalReference: String,
geoCode: String,
exchangeControl1: False,
exchangeControl2: False,
exchangeControl3: False,
theAgent: String,
ipIntroducer: String,
isSwitchClient: False,
previousIntermediary: String,
resignationDate: 0001-01-01,
isPartnerClient: False,
clientAllocatedToPartner: False,
havePopiPermission: False,
isSanctionsCheckComplete: False,
sanctionsScreen: String,
hasForm25Data: False,
hasClientTcc: False,
hasClientTccPending: False,
hasHadClientTcc: False,
isDeactivated: False,
deactivatedDate: 0001-01-01,
discretionaryAllowance: 0,
daStartDate: 0001-01-01,
daEndDate: 0001-01-01,
progressOne: False,
progressTwo: False,
progressThree: False,
isEditing: False,
hasFicaUpload: False,
createdByUserId: 0,
completedNotificationSent: False,
higherRiskClientsChecksDone: False,
lessAnnual100k: False,
lessAnnual250k: False,
lessAnnual500k: False,
lessAnnual1mil: False,
moreAnnual1mil: False,
spotForeignExchange: False,
forwardExchange: False
},
clientTcc:
{
id: 0,
clientId: 0,
fullNames: String,
firstLastName: String,
partnerId: 0,
partnerName: String,
applicationStatus: String,
tccIssuer: String,
tccPin: String,
tccValue: 0,
issueDate: 0001-01-01,
expiryDate: 0001-01-01,
charges: 0,
chargesInvoice: String,
chargesDate: 0001-01-01,
chargesType: String,
comments: String,
initialSend: 0001-01-01,
updatedAt: 0001-01-01,
timeElapsed: 0,
hasTccDocs: False
},
sdaRemainder:
{
id: 0,
clientId: 0,
firstLastName: String,
partnerId: 0,
partnerName: String,
cifNumber: String,
daRemainder: 0,
inputDate: 0001-01-01,
totalTrades: 0
},
tccRemainder:
{
id: 0,
clientId: 0,
firstLastName: String,
partnerId: 0,
partnerName: String,
tccRemainders: 0,
cifNumber: String,
daRemainder: 0,
inputDate: 0001-01-01,
tccValue: 0,
totalTrades: 0,
applicationStatus: String,
expiredPreviousYear: False,
pin: String,
tccId: 0
},
cashBalances:
{
id: 0,
clientId: 0,
firstLastName: String,
partnerId: 0,
partnerName: String,
cifNumber: String,
accountNumber: String,
accountCurrency: String,
currentBalance: 0,
inputDate: 0001-01-01
},
riskRating:
{
id: 0,
clientId: 0,
fullNames: String,
firstLastName: String,
partnerId: 0,
partnerName: String,
idNumber: String,
updatedAt: 0001-01-01,
nationality: String,
nationalityRiskLevelDescription: String,
nationalityRiskLevelScore: 0,
accountDomicile: String,
accountDomicileRiskLevelDescription: String,
accountDomicileRiskLevelScore: 0,
countryOfResidence: String,
countryOfResidenceRiskLevelDescription: String,
countryOfResidenceRiskLevelScore: 0,
occupation: String,
occupationRiskLevelDescription: String,
occupationRiskLevelScore: 0,
sourceOfFunds: String,
sourceOfFundsRiskLevelDescription: String,
sourceOfFundsRiskLevelScore: 0,
sourceOfWealth: String,
sourceOfWealthRiskLevelDescription: String,
sourceOfWealthRiskLevelScore: 0,
thirdParty: String,
thirdPartyRiskLevelDescription: String,
thirdPartyRiskLevelScore: 0,
investmentValue: String,
investmentValueRiskLevelDescription: String,
investmentValueRiskLevelScore: 0,
sanctionsScreen: String,
sanctionsScreenRiskLevelDescription: String,
sanctionsScreenRiskLevelScore: 0,
sumScore: 0,
sumScoreDescription: String,
initialFicaDate: 0001-01-01,
nextFicaDate: 0001-01-01,
requireRefica: False,
comments: String
},
tradeQuoteMessages:
{
message: String,
sentBy: String,
updatedAt: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
result: False,
message: String
}