From 1386354e8f26f9d1493eaa9eec5ecf33f1566fd7 Mon Sep 17 00:00:00 2001 From: Github Workflow Date: Sun, 23 Jun 2024 11:20:17 +0000 Subject: [PATCH] JSON Schema Update --- config/v3/landing_company/receive.json | 359 ++++++++++-------- config/v3/mt5_login_list/receive.json | 17 +- config/v3/mt5_new_account/receive.json | 11 + config/v3/mt5_new_account/send.json | 19 +- .../v3/transfer_between_accounts/receive.json | 3 +- 5 files changed, 235 insertions(+), 174 deletions(-) diff --git a/config/v3/landing_company/receive.json b/config/v3/landing_company/receive.json index 23090582..55f8f6ce 100644 --- a/config/v3/landing_company/receive.json +++ b/config/v3/landing_company/receive.json @@ -970,171 +970,12 @@ "additionalProperties": false, "properties": { "swap_free": { - "description": "Landing Company for MT5 combined all Synthetic and financial", - "type": [ - "null", - "object" - ], - "additionalProperties": false, - "properties": { - "address": { - "description": "Landing Company address", - "type": [ - "array", - "null" - ], - "items": { - "type": "string" - } - }, - "changeable_fields": { - "description": "Special conditions for changing sensitive fields", - "type": "object" - }, - "country": { - "description": "Landing Company country of incorporation", - "type": "string" - }, - "currency_config": { - "title": "Currency Config Structure", - "description": "The configuration of each currency.", - "type": "object" - }, - "has_reality_check": { - "description": "Flag to indicate whether reality check is applicable for this Landing Company. `1`: applicable, `0`: not applicable. The Reality Check is a feature that gives a summary of the client's trades and account balances on a regular basis throughout his session, and is a regulatory requirement for certain Landing Companies.", - "type": "integer", - "enum": [ - 0, - 1 - ] - }, - "legal_allowed_contract_categories": { - "description": "Allowed contract types", - "type": "array", - "items": { - "type": "string" - } - }, - "legal_allowed_currencies": { - "description": "Allowable currencies", - "type": "array", - "items": { - "type": "string" - } - }, - "legal_allowed_markets": { - "description": "Allowable markets", - "type": "array", - "items": { - "type": "string" - } - }, - "legal_default_currency": { - "description": "Default account currency", - "type": "string" - }, - "name": { - "description": "Landing Company legal name", - "type": "string" - }, - "requirements": { - "description": "Legal requirements for the Landing Company", - "type": "object", - "additionalProperties": false, - "properties": { - "after_first_deposit": { - "description": "After first deposit requirements", - "type": "object", - "additionalProperties": false, - "properties": { - "financial_assessment": { - "description": "Financial assessment requirements", - "type": "array", - "items": { - "type": "string", - "examples": [ - "financial_information", - "trading_experience" - ] - } - } - } - }, - "compliance": { - "description": "Compliance requirements", - "type": "object", - "additionalProperties": false, - "properties": { - "mt5": { - "description": "Compliance MT5 requirements", - "type": "array", - "items": { - "type": "string", - "examples": [ - "expiration_check", - "fully_authenticated" - ] - } - }, - "tax_information": { - "description": "Compliance tax information requirements", - "type": "array", - "items": { - "type": "string", - "examples": [ - "tax_identification_number", - "tax_residence" - ] - } - } - } - }, - "signup": { - "description": "Sign up requirements", - "type": "array", - "items": { - "type": "string", - "examples": [ - "first_name", - "residence", - "salutation" - ] - } - }, - "withdrawal": { - "description": "Withdrawal requirements", - "type": "array", - "items": { - "type": "string", - "examples": [ - "address_city", - "address_line_1" - ] - } - } - } - }, - "shortcode": { - "description": "Landing Company short code", - "type": "string" - }, - "support_professional_client": { - "description": "Flag that indicates whether the landing company supports professional accounts or not", - "type": "integer", - "enum": [ - 0, - 1 - ] - }, - "tin_not_mandatory": { - "description": "Flag that indicates whether tax identifier number is not mandatory for the current country and landing company.", - "type": "integer", - "enum": [ - 0, - 1 - ] - } - } + "$ref": "#/$defs/landingCompanyDetails", + "description": "Landing Company for MT5 combined all Synthetic and financial" + }, + "zero_spread": { + "$ref": "#/$defs/landingCompanyDetails", + "description": "Contain details for landing company for zero_spread sub account type." } } }, @@ -1748,5 +1589,193 @@ "description": "Optional field sent in request to map to response, present only when request contains `req_id`.", "type": "integer" } + }, + "$defs": { + "afterFirstDepositRequirements": { + "description": "After first deposit requirements", + "type": "object", + "additionalProperties": false, + "properties": { + "financial_assessment": { + "description": "Financial assessment requirements", + "type": "array", + "items": { + "type": "string", + "examples": [ + "financial_information", + "trading_experience" + ] + } + } + } + }, + "complianceRequirements": { + "description": "Compliance requirements", + "type": "object", + "additionalProperties": false, + "properties": { + "mt5": { + "description": "Compliance MT5 requirements", + "type": "array", + "items": { + "type": "string", + "examples": [ + "expiration_check", + "fully_authenticated" + ] + } + }, + "tax_information": { + "description": "Compliance tax information requirements", + "type": "array", + "items": { + "type": "string", + "examples": [ + "tax_identification_number", + "tax_residence" + ] + } + } + } + }, + "landingCompanyDetails": { + "type": [ + "null", + "object" + ], + "additionalProperties": false, + "properties": { + "address": { + "description": "Landing Company address", + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + }, + "changeable_fields": { + "description": "Special conditions for changing sensitive fields", + "type": "object" + }, + "country": { + "description": "Landing Company country of incorporation", + "type": "string" + }, + "currency_config": { + "title": "Currency Config Structure", + "description": "The configuration of each currency.", + "type": "object" + }, + "has_reality_check": { + "description": "Flag to indicate whether reality check is applicable for this Landing Company. `1`: applicable, `0`: not applicable. The Reality Check is a feature that gives a summary of the client's trades and account balances on a regular basis throughout his session, and is a regulatory requirement for certain Landing Companies.", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "legal_allowed_contract_categories": { + "description": "Allowed contract types", + "type": "array", + "items": { + "type": "string" + } + }, + "legal_allowed_currencies": { + "description": "Allowable currencies", + "type": "array", + "items": { + "type": "string" + } + }, + "legal_allowed_markets": { + "description": "Allowable markets", + "type": "array", + "items": { + "type": "string" + } + }, + "legal_default_currency": { + "description": "Default account currency", + "type": "string" + }, + "name": { + "description": "Landing Company legal name", + "type": "string" + }, + "requirements": { + "$ref": "#/$defs/legalRequirements", + "description": "Legal requirements for the Landing Company" + }, + "shortcode": { + "description": "Landing Company short code", + "type": "string" + }, + "support_professional_client": { + "description": "Flag that indicates whether the landing company supports professional accounts or not", + "type": "integer", + "enum": [ + 0, + 1 + ] + }, + "tin_not_mandatory": { + "description": "Flag that indicates whether tax identifier number is not mandatory for the current country and landing company.", + "type": "integer", + "enum": [ + 0, + 1 + ] + } + } + }, + "legalRequirements": { + "description": "Legal requirements for the Landing Company", + "type": "object", + "additionalProperties": false, + "properties": { + "after_first_deposit": { + "$ref": "#/$defs/afterFirstDepositRequirements", + "description": "After first deposit requirements" + }, + "compliance": { + "$ref": "#/$defs/complianceRequirements", + "description": "Compliance requirements" + }, + "signup": { + "$ref": "#/$defs/signUpRequirements", + "description": "Sign up requirements" + }, + "withdrawal": { + "$ref": "#/$defs/withdrawalRequirements", + "description": "Withdrawal requirements" + } + } + }, + "signUpRequirements": { + "description": "Sign up requirements", + "type": "array", + "items": { + "type": "string", + "examples": [ + "first_name", + "residence", + "salutation" + ] + } + }, + "withdrawalRequirements": { + "description": "Withdrawal requirements", + "type": "array", + "items": { + "type": "string", + "examples": [ + "address_city", + "address_line_1" + ] + } + } } } diff --git a/config/v3/mt5_login_list/receive.json b/config/v3/mt5_login_list/receive.json index 380d8a79..11f59471 100644 --- a/config/v3/mt5_login_list/receive.json +++ b/config/v3/mt5_login_list/receive.json @@ -362,25 +362,30 @@ ] }, "sub_account_category": { - "description": "Sub account category", + "description": "Sub account category refer to the additional risk management", "type": "string", "enum": [ "", "swap_free", "swap_free_high_risk", - "ibt", - "stp", - "lim" + "lim", + "hr", + "ab", + "ba", + "stp" ] }, "sub_account_type": { - "description": "Sub account type refer to classic MT5 account", + "description": "Sub account type refer to different offerings that we have for mt5", "type": "string", "enum": [ "standard", "financial", "financial_stp", - "swap_free" + "swap_free", + "ibt", + "stp", + "zero_spread" ] }, "webtrader_url": { diff --git a/config/v3/mt5_new_account/receive.json b/config/v3/mt5_new_account/receive.json index 6900cdd9..6a7c7d38 100644 --- a/config/v3/mt5_new_account/receive.json +++ b/config/v3/mt5_new_account/receive.json @@ -77,6 +77,17 @@ "standard", "stp" ] + }, + "sub_account_type": { + "description": "Indicate the different offerings for mt5 account.", + "type": "string", + "enum": [ + "standard", + "stp", + "ibt", + "swap_free", + "zero_spread" + ] } } }, diff --git a/config/v3/mt5_new_account/send.json b/config/v3/mt5_new_account/send.json index 1c28cd9e..f5243c32 100644 --- a/config/v3/mt5_new_account/send.json +++ b/config/v3/mt5_new_account/send.json @@ -164,11 +164,26 @@ "pattern": "^.{0,50}$" }, "sub_account_category": { - "description": "[Optional] Indicate the sub account category that we have in the cfd group naming convention.", + "description": "[Optional] Indicate the additional risk management for each account", "type": "string", "enum": [ + "", + "swap_free", + "ab", + "ba", + "lim", + "hr" + ] + }, + "sub_account_type": { + "description": "[Optional] Indicate the different offerings for mt5 account", + "type": "string", + "enum": [ + "standard", + "stp", + "ibt", "swap_free", - "swap_free_high_risk" + "zero_spread" ] }, "zipCode": { diff --git a/config/v3/transfer_between_accounts/receive.json b/config/v3/transfer_between_accounts/receive.json index 4398068d..80f048d6 100644 --- a/config/v3/transfer_between_accounts/receive.json +++ b/config/v3/transfer_between_accounts/receive.json @@ -133,7 +133,8 @@ "financial", "financial_stp", "standard", - "swap_free" + "swap_free", + "zero_spread" ] }, "transfers": {