There exist two possible trader attribution flows.
The process diagrams summarise both flows.
Flow 1 (New Partner) passes through the following stages.
The user (User 1) registers as a partner in the broker’s CRM. If they do not have a cTID, they first pass the user creation flow.
The broker’s backend registers a new partner either at the account level or the user level. The mechanism for registering a new partner is left entirely to the broker’s choice.
The broker’s backend issues a referral link containing a unique partner identifier of User 1; this identifier will be later be used to set the partnerId
parameter.
The broker’s backend sends a request to set the partnerId
parameter (API call 3.6) to the cTrader backend.
On success, the cTrader backend assigns User 1 with the provided partnerId
either at the account (via the ctidTraderAccountId
parameter) or the user level (via the userId
parameter). Depending on the level, the cTrader backend returns either the ctidTraderAccountId
or the userId
back to the broker’s backend (API call 3.6).
The cTrader backend sends the partnerId
of User 1 back to the cTrader application.
User 1 generates a cTrader link inside the cTrader application (e.g., by sharing a direct link to a Copy strategy).
The cTrader application generates the link requested by User 1; this link contains the partnerId
of User 1.
The cTrader application displays the requested link to User 1.
User 1 shares the cTrader link with User 2.
User 2 clicks on the cTrader link provided by User 1.
For User 2, the cTrader application opens a predefined URL to the login/signup screen. This URL contains the partnerId
of User 1 as a query parameter.
User 2 fills out the signup form; afterward, the web browser sends a request for user creation to the broker’s backend containing partnerId
.
The broker’s backend successfully creates a user; the user creation flow is continued further.
When the user creation flow is completed, User 2 is attributed to User 1.
User 1 logs into the broker’s client area and opens a page containing a list of their referrals.
The broker’s client area successfully fetches data about the referrals of User 1 and displays this information on the requested page.
User 1 sees User 2 among their referrals.
Flow 2 (Existing Partner) passes through the following stages.
User 1, having already registered as a partner inside the broker’s client area some time ago, requests to create a new cTID.
The cTrader application opens a predefined URL to the login/signup screen. As User 1 is a first-time cTrader user, this screen displays appropriate information for a signup action.
User 1 fully completes the user creation flow.
The broker’s backend recognizes that User 1 is an existing partner and provides a new referral link containing a unique partnerId
.
The broker’s backend sends a request to the cTrader backend to set a new partnerId
(API call 3.6).
The cTrader backend assigns the new partnerId
to User 1 either at the account or the user level. As part of (API call 3.6), it returns either a userId
or a ctidTraderAccountId
.
User 1 generates a cTrader link inside the cTrader application (e.g., by sharing a direct link to a Copy strategy).
The cTrader application generates the link requested by User 1; this link contains the partnerId
of User 1.
The cTrader application displays the requested link to User 1.
User 1 shares the cTrader link with User 2.
User 2 clicks on the cTrader link provided by User 1.
For User 2, the cTrader application opens a predefined URL to the login/signup screen. This URL contains the partnerId
of User 1 as a query parameter.
User 2 fills out the signup form; afterward, the web browser sends a request for user creation to the broker’s backend containing partnerId
.
The broker’s backend successfully creates a user; the user creation flow is continued further.
When the user creation flow is completed, User 2 is attributed to User 1.
User 1 logs into the broker’s client area and opens a page containing a list of their referrals.
The broker’s client area successfully fetches data about the referrals of User 1 and displays this information on the requested page.
User 1 sees User 2 among their referrals.