Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
developers:admin:walktrhough [2025/04/24 20:18] – created chad | developers:admin:walktrhough [2025/04/24 21:13] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
+ | |||
+ | This walkthrough demonstrates the process for integrating with the T4 backend to create user accounts for third-party applications. | ||
- | The User Creation API provides endpoints for creating and managing users on the T4 platform. This documentation outlines the step-by-step process required to set up new users through the API. | ||
===== Overview ===== | ===== Overview ===== | ||
Line 12: | Line 13: | ||
* Step 4: User signs EULAs | * Step 4: User signs EULAs | ||
- | Each step must be completed in sequence to ensure proper user setup. | + | The order of these steps is important. |
===== Default User and Account ===== | ===== Default User and Account ===== | ||
Line 18: | Line 19: | ||
New users and accounts are created using the firm default user and account as a template. Proper configuration of the firm default will simplify integration by reducing the amount of customization needed for each new user. | New users and accounts are created using the firm default user and account as a template. Proper configuration of the firm default will simplify integration by reducing the amount of customization needed for each new user. | ||
- | **Note: | + | < |
+ | For different user types, you can override the default by using the '' | ||
+ | </ | ||
===== Step 1: Create User Account ===== | ===== Step 1: Create User Account ===== | ||
Line 24: | Line 27: | ||
This endpoint creates a base user profile in the system. | This endpoint creates a base user profile in the system. | ||
+ | '' | ||
==== Request ==== | ==== Request ==== | ||
Line 114: | Line 118: | ||
</ | </ | ||
- | **Important: | + | < |
+ | Make note of the '' | ||
+ | </ | ||
+ | |||
===== Step 2: Create Trading Account ===== | ===== Step 2: Create Trading Account ===== | ||
Line 120: | Line 128: | ||
This endpoint creates a trading account and links it to the user created in Step 1. | This endpoint creates a trading account and links it to the user created in Step 1. | ||
+ | '' | ||
==== Request ==== | ==== Request ==== | ||
Line 235: | Line 244: | ||
This step configures the market data feeds accessible to the user. | This step configures the market data feeds accessible to the user. | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | We bill for market data based on the selection made in this step. Therefore these values are not copied from a default or template user. | ||
+ | |||
+ | How to proceed with this step depends on how you plan to assign market data to a user: | ||
+ | |||
+ | - All users get a specific exchange(s) by default. | ||
+ | - User is presented with an interface to choose. | ||
+ | |||
+ | |||
+ | ==== Step 3a: Fixed Market Data Selection ==== | ||
+ | |||
+ | In this case, simply PATCH the same Json for all users. | ||
+ | |||
==== Request ==== | ==== Request ==== | ||
Line 240: | Line 267: | ||
< | < | ||
{ | { | ||
- | | + | " |
- | // Documentation coming soon | + | |
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
} | } | ||
</ | </ | ||
+ | |||
+ | ==== Response ==== | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | | ||
+ | |||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Step 3d: Dynamic Market Data Selection ==== | ||
+ | |||
+ | Call the GET endpoint to get the available options and associated fees in a document that you can build an interface with. | ||
+ | |||
+ | ==== Response ==== | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | |||
+ | | ||
+ | |||
+ | ], | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Step 4: User Signs EULAs ===== | ===== Step 4: User Signs EULAs ===== | ||
Line 249: | Line 480: | ||
This step completes the user creation process by confirming acceptance of required End User License Agreements. | This step completes the user creation process by confirming acceptance of required End User License Agreements. | ||
- | ==== Request | + | '' |
+ | '' | ||
+ | |||
+ | Always GET the lastest EULA document before POST' | ||
+ | |||
+ | The GET response includes a " | ||
+ | |||
+ | < | ||
+ | The user will not be able to log into the T4 system without valid signed EULA document. | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== GET Response | ||
< | < | ||
{ | { | ||
- | | + | " |
- | // Documentation coming soon | + | " |
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
} | } | ||
</ | </ | ||
- | ===== User Creation Flowchart ===== | ||
- | {{: | + | ==== POST Request ==== |
- | ===== Common Parameters | + | < |
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Response | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ==== Request ==== | ||
+ | |||
+ | < | ||
+ | { | ||
+ | // EULA acceptance configuration | ||
+ | // Documentation coming soon | ||
+ | } | ||
+ | </ | ||
- | ^ Parameter ^ Description ^ Type ^ Required ^ | ||
- | | username | Unique identifier for the user | String | Yes | | ||
- | | account | Trading account identifier | String | Yes | | ||
- | | templateUser | Optional user template override | String | No | | ||
- | | templateAccount | Optional account template override | String | No | | ||
- | | apptype | User market data permissions type | String | Yes | | ||
- | ===== Common Response Codes ===== | ||
- | ^ Code ^ Description ^ | ||
- | | 200 | Success | | ||
- | | 400 | Bad Request - Check request format | | ||
- | | 401 | Unauthorized - Authentication failed | | ||
- | | 404 | Not Found - Resource doesn' | ||
- | | 500 | Server Error - Contact support | | ||
===== Support ===== | ===== Support ===== |