Last updated

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 :

  1. Terms & conditions
  2. Create the consumer
  3. Initialize credentials
  4. Password setup
  5. Login
  6. Start the KYC procedure
  7. Verify email adress

Here is the regular sequence diagram :

UserPartnerLinkcyKYC ServiceT&CsConsumer CreationInitialize credentialsPassword setupLoginKYC VerificationEmail VerificationGet T&CsT&Cs LinkRead and AgreesCreate ConsumerConsumerIDInitialize a PasswordSMS with secretChange user password with received SecretLogin with credentialsJWTCreate a KYC for a consumerKYC LinkPerform KYCKYC ResultRequest Email verificationEmail with verification linkOpen email and click verification linkEmail verifiedUserPartnerLinkcyKYC Service

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!

Terms & Condtions Guide page

You will need to use this Endpoint every time we update our TCs. Once TCs are updated, field termsAccepted 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.

List of available 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.

NameTypeDescription
partnerNamestringThe partnerName, mandatory if you create a consumer as anonymous. Ignored if requesting as a partner.
externalIdstring [ 0 .. 511 ] charactersA unique identifier that you can use to link this consumer to a user in your system.
phoneobject (PhoneRequestDto)The phone details of the consumer.
emailAddressstringThe email address of the consumer.
sourceOfFundsstringEnum: 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.
otherSourceOfFundsstring [ 0 .. 511 ] charactersDescription of source of funds if 'OTHER' was chosen.
occupationstringThe consumer's usual or principal work or business as a means of earning a living. Enum: BUSINESS_OWNER, CLERGY, CRAFTSMAN, ENGINEER, EXECUTIVE, FARMER, FREELANCE, LIBERAL_PROFESSION, POLITICIAN, PROFESSOR, PUBLIC_SERVANT, RETIRED, SHOPKEEPER, STUDENT, UNEMPLOYED, WORKER, OTHER.
otherOccupationstring [ 0 .. 511 ] charactersDescription of occupation if 'OTHER' was chosen.
lastTermsAcceptedstringThe version of the terms and conditions signed by the consumer.
metadataobject (Metadata)A custom field to save data. This field's size is limited to 3000 characters.

Exemple request body

{
"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.

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] (./kyc-procedure.mdx).

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] (./customization.mdx).

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