developers:admin:walktrhough

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developers:admin:walktrhough [2025/04/24 20:27] chaddevelopers:admin:walktrhough [2025/04/24 21:13] (current) – external edit 127.0.0.1
Line 13: 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 27: Line 27:
 This endpoint creates a base user profile in the system. This endpoint creates a base user profile in the system.
  
 +''POST https://api-sim.t4login.com/admin/users''
 ==== Request ==== ==== Request ====
  
Line 117: Line 118:
 </code> </code>
  
-**Important:** Make note of the ''userID'' value in the response. This will be needed for Step 2.+<bootnote important> 
 +Make note of the ''userID'' value in the response. This will be needed for Step 2. 
 +</bootnote> 
 + 
  
 ===== Step 2: Create Trading Account ===== ===== Step 2: Create Trading Account =====
Line 123: 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.
  
 +''POST http://api-sim.t4login.com/admin/v1/accounts''
 ==== Request ==== ==== Request ====
  
Line 238: Line 244:
  
 This step configures the market data feeds accessible to the user. This step configures the market data feeds accessible to the user.
 +
 +''GET https://api-sim.t4login.com/admin/v1/users/{USERID}/marketdata''
 +
 +''PATCH https://api-sim.t4login.com/admin/v1/users/{USERID}/marketdata''
 +
 +
 +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 243: Line 267:
 <code> <code>
 { {
-  // Market data selection configuration + "updates":
-  // Documentation coming soon+   { 
 +     "clearingExchange": "CME", 
 +     "marketDataType": "Depth" 
 +   } 
 + ]
 } }
 </code> </code>
 +
 +==== Response ====
 +
 +<code>
 +{
 +    "data": {
 +        "exchangeMarketData": [
 +            {
 +                "clearingExchange": "CBOT",
 +                "description": "CBOT",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 3.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 12.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +            {
 +                "clearingExchange": "CFE",
 +                "description": "CFE",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 8.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 16.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +            {
 +                "clearingExchange": "CME",
 +                "description": "CME",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 3.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 12.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +
 +             ...            
 +             
 +        ],
 +        "totalCount": 40
 +    },
 +    "metadata": {
 +        "timestamp": "2025-04-24T18:05:55.0110086Z",
 +        "requestId": "0HNC3B7647GLB:00000007"
 +    }
 +}
 +</code>
 +
 +
 +
 +
 +==== 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 ====
 +
 +<code>
 +{
 +    "data": {
 +        "exchangeMarketData": [
 +            {
 +                "clearingExchange": "CBOT",
 +                "description": "CBOT",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 3.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 12.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +            {
 +                "clearingExchange": "CFE",
 +                "description": "CFE",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 8.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 16.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +            {
 +                "clearingExchange": "CME",
 +                "description": "CME",
 +                "marketDataType": "None",
 +                "options": [
 +                    {
 +                        "type": "TOB",
 +                        "description": "Top Of Book",
 +                        "fee": 3.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Depth",
 +                        "description": "Depth",
 +                        "fee": 12.0,
 +                        "currency": "USD"
 +                    },
 +                    {
 +                        "type": "Delayed",
 +                        "description": "Delayed",
 +                        "currency": "USD"
 +                    }
 +                ],
 +                "hasExecutingAccount": true
 +            },
 +
 +             ...            
 +             
 +        ],
 +        "totalCount": 40
 +    },
 +    "metadata": {
 +        "timestamp": "2025-04-24T18:05:55.0110086Z",
 +        "requestId": "0HNC3B7647GLB:00000007"
 +    }
 +}
 +</code>
 +
 +
 +
 +
 +
  
 ===== Step 4: User Signs EULAs ===== ===== Step 4: User Signs EULAs =====
Line 252: 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 ====+''GET https://api-sim.t4login.com/admin/v1/users/{USERID}/eula'' 
 +''POST https://api-sim.t4login.com/admin/v1/users/{USERID}/eula'' 
 + 
 +Always GET the lastest EULA document before POST'ing for the user. 
 + 
 +The GET response includes a "signatureTemplate". Use this and add timestamps to POST the EULA for the user. 
 + 
 +<bootnote critical> 
 +The user will not be able to log into the T4 system without valid signed EULA document. 
 +</bootnote> 
 + 
 + 
 +==== GET Response ====
  
 <code> <code>
 { {
-  // EULA acceptance configuration +    "data":
-  // Documentation coming soon+        "documents":
 +            { 
 +                "documentName": "LegalEULA", 
 +                "title": "End User License Agreement", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/EULA_Updated_Plus500US_Futures_Technologies_2025-02.pdf" 
 +            }, 
 +            { 
 +                "documentName": "LegalPP", 
 +                "title": "Privacy Policy", 
 +                "url": "https://futures-technologies.plus500.com/privacy-policy/" 
 +            }, 
 +            { 
 +                "documentName": "LegalMDSA", 
 +                "title": "Market Data Subscription Agreement", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/MDSA.html" 
 +            }, 
 +            { 
 +                "documentName": "LegalUSA", 
 +                "title": "Uniform Subscriber Addendum", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/USA.html" 
 +            }, 
 +            { 
 +                "documentName": "LegalNPSCF", 
 +                "title": "Non-Professional Self-Certification Form", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/NPSCF.html", 
 +                "nonProfessionalOnly": true 
 +            }, 
 +            { 
 +                "documentName": "CMEInformationLicenseAgreement", 
 +                "title": "CME Information License Agreement", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/CME%20information-license-agreement-september-2024.pdf" 
 +            }, 
 +            { 
 +                "documentName": "ICESubscriberAgreement", 
 +                "title": "ICE Subscriber Agreement", 
 +                "url": "https://admin.sim.t4login.com/disclaimers/ICE_Subscriber_Addendum.pdf" 
 +            } 
 +        ], 
 +        "lastUserSignature":
 +            "signatures": [] 
 +        }, 
 +        "signatureTemplate":
 +            "collectedBy": "", 
 +            "eulaVersion": "2", 
 +            "signatures":
 +                { 
 +                    "documentName": "LegalEULA", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "LegalPP", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "LegalMDSA", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "LegalUSA", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "LegalNPSCF", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "CMEInformationLicenseAgreement", 
 +                    "signed": null 
 +                }, 
 +                { 
 +                    "documentName": "ICESubscriberAgreement", 
 +                    "signed": null 
 +                } 
 +            ] 
 +        }, 
 +        "isNonProfessional": true 
 +    }, 
 +    "metadata":
 +        "timestamp": "2025-04-24T18:04:18.1844784Z", 
 +        "requestId": "0HNC3B7647GLB:00000004" 
 +    }
 } }
 </code> </code>
  
-===== User Creation Flowchart ===== 
  
-{{:api:user_creation_flow.png|User Creation Flow Diagram}}+==== POST Request ====
  
-===== Common Parameters =====+<code> 
 +
 +        "collectedBy": "", 
 +        "eulaVersion": "2", 
 +        "signatures":
 +            { 
 +                "documentName": "LegalEULA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalPP", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalMDSA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalUSA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalNPSCF", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "CMEInformationLicenseAgreement", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "ICESubscriberAgreement", 
 +                "signed": "2025-04-24T09:17:15" 
 +            } 
 +        ] 
 +    }, 
 +    "isNonProfessional": false 
 +
 +</code> 
 + 
 +==== Response ==== 
 + 
 +<code> 
 +
 +    "data":
 +        "collectedBy": "API", 
 +        "eulaVersion": "2", 
 +        "signatures":
 +            { 
 +                "documentName": "LegalEULA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalPP", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalMDSA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalUSA", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "LegalNPSCF", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "CMEInformationLicenseAgreement", 
 +                "signed": "2025-04-24T09:17:15" 
 +            }, 
 +            { 
 +                "documentName": "ICESubscriberAgreement", 
 +                "signed": "2025-04-24T09:17:15" 
 +            } 
 +        ] 
 +    }, 
 +    "metadata":
 +        "timestamp": "2025-04-24T18:04:54.942152Z", 
 +        "requestId": "0HNC3B7647GLB:00000006" 
 +    } 
 +
 +</code> 
 +==== Request ==== 
 + 
 +<code> 
 +
 +  // EULA acceptance configuration 
 +  // Documentation coming soon 
 +
 +</code>
  
-^ 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't exist | 
-| 500 | Server Error - Contact support | 
  
 ===== Support ===== ===== Support =====
  • developers/admin/walktrhough.1745526478.txt.gz
  • Last modified: 2025/04/26 14:29
  • (external edit)