Consumer Creation - as a Consumer
Enduser can create his "own" Consumer object before being logged-in. As a Partner, you won't have anything to do (but you can receive events webhooks).
Moreover this is mandatory before going further with password initialization, as only created Consumers can request password initialization.
Here are the steps :
- Terms & conditions
- Create the consumer
- Initialize credentials
- Password setup
- Login
- Start the KYC procedure
- Verify email adress
Here is the regular sequence diagram :
1. Terms & Conditions
Signing Terms & Conditions is mandatory to be able to use banking features.
To do this, you can download TCs directly from our APIs, so you will always get the last version! By default, language is English, but if you need a specific language, feel free to ask your customer care!
You will need to use this Endpoint every time we update our TCs. Once TCs are updated, fieldtermsAccepted
will change into false
state. Then, you will have to PATCH your consumer.2. Consumer Creation
Then start to create the consumer with the "Create a Consumer" endpoint, using his phone number.
Phone County Code has to be entered correctly, otherwise SMS won't be received as expected. For the country code, you can use the "+" or not, we will add it on our side, both format are valid.
countryCode
: "1", "1242", "1246", "1264", "1268", "1284", "1340", "1345", "1441", "1473", "1649", "1664", "1670", "1671", "1684", "1721", "1758", "1767", "1784", "1787", "1809", "1829", "1849", "1868", "1869", "1876", "1939", "20", "211", "212", "213", "216", "218", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "248", "249", "250", "251", "252", "253", "254", "255", "256", "257", "258", "260", "261", "262", "263", "264", "265", "266", "267", "268", "269", "27", "290", "291", "297", "298", "299", "30", "31", "32", "33", "34", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "36", "370", "371", "372", "373", "374", "375", "376", "377", "378", "379", "380", "381", "382", "383", "385", "386", "387", "389", "39", "40", "41", "420", "421", "423", "43", "44", "441481", "441534", "441624", "45", "46", "47", "48", "49", "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", "51", "52", "53", "54", "55", "56", "57", "58", "590", "591", "592", "593", "595", "597", "598", "599", "60", "61", "62", "63", "64", "65", "66", "670", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", "682", "683", "685", "686", "687", "688", "689", "690", "691", "692", "7", "81", "82", "84", "850", "852", "853", "855", "856", "86", "880", "886", "90", "91", "92", "93", "94", "95", "960", "961", "962", "963", "964", "965", "966", "967", "968", "970", "971", "972", "973", "974", "975", "976", "977", "98", "992", "993", "994", "995", "996", "998"
Optionnaly, more information can be provided, as Consumer's source of funds or occupation. At last, you should indicate the acceptance of T&Cs by indicating the version. This can be done at a later stage, by updating the consumer, but it is recommended to have it done right away so it won't be a blocking point to use financial service later.
Request Body schema: application/json
partnerName | string The partnerName, mandatory if you create a consumer as anonymous. Ignored if requesting as a partner. |
externalId | string [ 0 .. 511 ] characters A unique identifier that you can use to link this consumer to a user in your system. |
required | object (PhoneRequestDto) |
emailAddress | string |
sourceOfFunds | string Enum: "COMPENSATION_PAYOUT" "COMPANY_PROFITS" "COMPANY_SALE" "DIVIDEND_PAYMENTS" "DIVORCE_SETTLEMENT" "FIXED_DEPOSITS" "GIFT" "INHERITANCE" "INSURANCE_PAYOUT" "LOAN" "LOTTERY_OR_GAMBLING_WIN" "RETIREMENT_INCOME" "SALE_OF_INVESTMENT" "SALE_OF_PROPERTY" "SAVINGS_FROM_SALARY" "OTHER" |
otherSourceOfFunds | string [ 0 .. 511 ] characters Description of source of funds if 'OTHER' was chosen. |
occupation | string The consumer usual or principal work or business as a means of earning a living. |
otherOccupation | string [ 0 .. 511 ] characters Description of occupation if 'OTHER' was chosen. |
lastTermsAccepted | string The version of the terms and conditions signed by the consumer. |
object (Metadata) A custom field to save data. This field's size is limited to 3000 characters. |
{- "partnerName": "string",
- "externalId": "string",
- "phone": {
- "countryCode": "33",
- "number": "string"
}, - "emailAddress": "string",
- "sourceOfFunds": "COMPENSATION_PAYOUT",
- "otherSourceOfFunds": "string",
- "occupation": "BUSINESS_OWNER",
- "otherOccupation": "string",
- "lastTermsAccepted": "1.0",
- "metadata": {
- "property1": { },
- "property2": { }
}
}
Answer will contains only the id of create Consumer :
Created
Response Schema: application/json
id required | string <uuid> The new consumer identifier. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
3. Initialize password by sending the Secret
Then the Consumer can start initializing his password by requesting a secret, to be able to log-in and use other API endpoints.
To do so, please refer to Authentication Setup page of this Guide.
The correct password initialization will act as a phone number verification method.
The Secret received by the Enduser have a lifetime of few seconds.
4. First password set up
Once secret received, you can then set up the first password. You will have to provide :
{
"newPassword": "string",
"passwordChangeSecret": "string"
}
5. Login to the App
Once the first password is set up, you can log into the application to receive a bearer token and a refresh token.
Bearer Token have a limited life time that you can fetch by decoding the JWT.
6. Start the KYC procedure
At last, once Enduser is logged, you can move on with the KYC. KYC is mandatory to be able to open financial instruments for an Enduser. You can find all the procedure Here.
Full KYC process take less than a minute and verification process can be between 2 and 5 minutes.
- Get Link and send it to consumer
- Wait for consumer to be validated
7. Email address verification
We higly suggest you to validate the email address of your Endsuer. To do this, you can use the Endpoint : "Send an email verification link by email".
When you trigger this Endpoint, a clickable link will be sent to you Enduser. You can customize sender domain or template if necessary. To see customizable options, please check Here.
Email can be provided in two way. You can patch your Consumer to provide the email address, or you can wait the end of the KYC proccess which already request the email address.
Send email containing a clickable verification link