Skip to content

Commit

Permalink
JSON Schema Update
Browse files Browse the repository at this point in the history
  • Loading branch information
nobody committed Dec 5, 2024
1 parent 5be8b42 commit b36258f
Show file tree
Hide file tree
Showing 4 changed files with 304 additions and 0 deletions.
2 changes: 2 additions & 0 deletions _data/v3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ groups:
title: 'New Real-Money Account: Default Landing Company'
- name: new_account_virtual
title: New Virtual-Money Account
- name: new_partner_account
title: 'New Real-Partner Account: Default Landing Company'
- name: oauth_apps
title: OAuth Applications
- name: p2p_advert_create
Expand Down
20 changes: 20 additions & 0 deletions config/v3/new_partner_account/example.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"new_partner_account": 1,
"address_city": "Melbourne",
"address_line_1": "20 Broadway Av",
"address_line_2": "East Melbourne VIC",
"address_postcode": "3002",
"address_state": "Victoria",
"currency": "USD",
"date_of_birth": "1980-01-31",
"first_name": "Peter",
"last_name": "Pan",
"partner_type": "individual",
"phone": "+10023456789",
"provider": "dynamicworks",
"residence": "au",
"salutation": "Mr",
"secret_answer": "Jones",
"secret_question": "Mother's maiden name",
"website": "xyz.com"
}
64 changes: 64 additions & 0 deletions config/v3/new_partner_account/receive.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "New Real-Partner Account: Default Landing Company (response)",
"description": "Create real partner account - Receive",
"type": "object",
"required": [
"echo_req",
"msg_type"
],
"properties": {
"new_partner_account": {
"title": "new_partner_account",
"description": "New real partner account details",
"type": "object",
"additionalProperties": false,
"required": [
"client_id",
"landing_company",
"oauth_token"
],
"properties": {
"client_id": {
"description": "Client ID of new real partner account",
"type": "string"
},
"currency": {
"description": "Currency of an account",
"type": "string"
},
"currency_type": {
"description": "Currency type against the currency",
"type": "string"
},
"landing_company": {
"description": "Landing company full name",
"type": "string"
},
"landing_company_shortcode": {
"description": "Landing company shortcode",
"type": "string"
},
"oauth_token": {
"description": "OAuth token for client's login session",
"type": "string"
}
}
},
"echo_req": {
"description": "Echo of the request made.",
"type": "object"
},
"msg_type": {
"description": "Action name of the request made.",
"type": "string",
"enum": [
"new_partner_account"
]
},
"req_id": {
"description": "Optional field sent in request to map to response, present only when request contains `req_id`.",
"type": "integer"
}
}
}
218 changes: 218 additions & 0 deletions config/v3/new_partner_account/send.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "New Real-Partner Account: Default Landing Company (request)",
"description": "This call opens a new Real-Partner Account",
"type": "object",
"auth_required": 1,
"auth_scopes": [
"admin"
],
"additionalProperties": false,
"required": [
"new_partner_account",
"partner_type",
"website"
],
"properties": {
"new_partner_account": {
"description": "Must be `1`",
"type": "integer",
"enum": [
1
]
},
"account_turnover": {
"description": "[Optional] The anticipated account turnover.",
"type": "string",
"enum": [
"Less than $25,000",
"$25,000 - $50,000",
"$50,001 - $100,000",
"$100,001 - $500,000",
"Over $500,000"
]
},
"address_city": {
"description": "[Optional] Within 100 characters.",
"type": "string",
"pattern": "^\\p{L}[\\p{L}\\s'.-]{0,99}$"
},
"address_line_1": {
"description": "Within 70 characters, with no leading whitespaces and may contain letters/numbers and/or any of following characters '.,:;()@#/-",
"type": "string",
"pattern": "^[\\p{L}\\p{Nd}'.,:;()\\x{b0}@#/-][\\p{L}\\p{Nd}\\s'’.,:;()\\x{b0}@#/-]{0,69}$"
},
"address_line_2": {
"description": "[Optional] Within 70 characters.",
"type": "string",
"pattern": "^[\\p{L}\\p{Nd}\\s'’.,:;()\\x{b0}@#/-]{0,70}$"
},
"address_postcode": {
"description": "[Optional] Within 20 characters and may not contain '+'.",
"type": "string",
"pattern": "^([A-Za-z0-9][A-Za-z0-9\\s-]{0,20})?$"
},
"address_state": {
"description": "[Optional] Possible value receive from `states_list` call.",
"type": "string",
"pattern": "^[\\p{L}\\p{Nd}\\s'.,-]{0,100}$"
},
"calling_country_code": {
"description": "[Optional] The phone's calling country code.",
"type": [
"null",
"string"
],
"sensitive": 1
},
"citizen": {
"description": "[Optional] Country of legal citizenship, 2-letter country code.",
"type": [
"null",
"string"
],
"pattern": "^([a-z]{2})?$"
},
"client_type": {
"description": "[Optional] Indicates whether this is for a client requesting an account with professional status.",
"type": "string",
"default": "retail",
"enum": [
"professional",
"retail"
]
},
"company_name": {
"description": "[Optional] Company name. Only applicable for partners of type company.",
"type": "string",
"pattern": "^(?!.*\\s{2,})[\\p{L}\\s'.-]{2,50}$",
"sensitive": 1
},
"company_registration_no": {
"description": "[Optional] Company registration number. Only applicable for partners of type company.",
"type": "string",
"pattern": "^(?!^$|\\s+)[A-Za-z0-9.\\/\\s-]{0,25}$"
},
"currency": {
"description": "[Optional] To set currency of the account. List of supported currencies can be acquired with `payout_currencies` call.",
"type": "string",
"pattern": "^[a-zA-Z0-9]{2,20}$"
},
"date_of_birth": {
"description": "Date of birth format: `yyyy-mm-dd`.",
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$"
},
"fatca_declaration": {
"description": "[Optional] Indicates client's self-declaration of FATCA.",
"type": "integer",
"enum": [
0,
1
]
},
"first_name": {
"description": "Within 1-50 characters, use only letters, spaces, hyphens, full-stops or apostrophes.",
"type": "string",
"pattern": "^(?!.*\\s{2,})[\\p{L}\\s'.-]{1,50}$",
"sensitive": 1
},
"landing_company_short": {
"description": "[Optional] If specified, will return only the underlyings for the specified landing company.",
"type": "string",
"enum": [
"maltainvest",
"svg"
]
},
"last_name": {
"description": "Within 1-50 characters, use only letters, spaces, hyphens, full-stops or apostrophes.",
"type": "string",
"pattern": "^(?!.*\\s{2,})[\\p{L}\\s'.-]{1,50}$",
"sensitive": 1
},
"non_pep_declaration": {
"description": "[Optional] Indicates client's self-declaration of not being a PEP/RCA (Politically Exposed Person/Relatives and Close Associates).",
"type": "integer",
"maximum": 1,
"minimum": 0
},
"partner_type": {
"description": "Defines whether this partner is an individual or a company. Only applicable for partners",
"type": "string",
"enum": [
"individual",
"company"
]
},
"phone": {
"description": "[Optional] Starting with `+` followed by 8-35 digits, allowing hyphens or space.",
"type": "string",
"pattern": "^\\+((-|\\s)*[0-9]){8,35}$",
"sensitive": 1
},
"provider": {
"description": "[Optional] Name of the provider platform.",
"type": "string",
"enum": [
"myaffiliate",
"dynamicworks"
]
},
"residence": {
"description": "2-letter country code, possible value receive from `residence_list` call.",
"type": "string",
"pattern": "^[a-z]{2}$"
},
"salutation": {
"description": "[Optional] Accept any value in enum list.",
"type": "string",
"enum": [
"Mr",
"Ms",
"Miss",
"Mrs"
]
},
"secret_answer": {
"description": "[Optional] Answer to secret question, within 4-50 characters. Required for new account and existing client details will be used if client open another account.",
"type": "string",
"pattern": "^[\\w\\-\\,\\.\\' ]+",
"maxLength": 50,
"minLength": 4,
"sensitive": 1
},
"secret_question": {
"description": "[Optional] Accept any value in enum list. Required for new account and existing client details will be used if client open another account.",
"type": "string",
"enum": [
"Mother's maiden name",
"Name of your pet",
"Name of first love",
"Memorable town/city",
"Memorable date",
"Favourite dish",
"Brand of first car",
"Favourite artist"
]
},
"website": {
"description": "Partner's Website URI/Promotional Platform",
"type": "string",
"pattern": "^[\\w_@./:#&+-]*$"
},
"loginid": {
"description": "[Optional] The login id of the user. If left unspecified, it defaults to the initial authorized token's login id.",
"type": "string",
"pattern": "^[A-Za-z]+[0-9]+$"
},
"passthrough": {
"description": "[Optional] Used to pass data through the websocket, which may be retrieved via the `echo_req` output field.",
"type": "object"
},
"req_id": {
"description": "[Optional] Used to map request to response.",
"type": "integer"
}
}
}

0 comments on commit b36258f

Please sign in to comment.