Create a new consumer customer
You have various options for how to onboard B2C consumer customers when they purchase your products. Typically you would automate the process by integrating 10Duke APIs with your other systems, such as a customer relationship management (CRM) or e-commerce system.
This article describes a few different ways to onboard B2C consumer customers using API integrations. For example, the customer can be onboarded during the purchase process in your webshop, or they can be onboarded later when they redeem an activation code received after the purchase.
If needed, you can also use the 10Duke Sysadmin tool to manually invite a consumer customer to register as a user.
Customer registers during purchase process
With this implementation option, your e-commerce system requires the consumer customer to register as a user in 10Duke Enterprise in order to complete their purchase.
As a result of the registration, the user is now authenticated and logged in to 10Duke Enterprise, so your e-commerce system knows the user’s identity and can provision licenses to them for the products being purchased.
With this option, the user is directed out of your e-commerce website to their email, so it involves a possible risk of disruption to the user’s purchase flow if they end up in a different browser.
Your e-commerce system can handle the registration in different ways, for example:
Start an OpenID Connect (OIDC)/OAuth authentication flow through the 10Duke Authentication API.
Prompt the user to select whether they’re a new user or if they already have a user account, and then use parameters in the authentication flow to open either the registration or login page for the user.
Based on the Login callback URL setting in the SysAdmin client application configuration for the e-commerce system, the user is redirected back to the e-commerce system when the registration or login is completed.
Create and send an email invitation to the customer through the 10Duke Identity Management REST API.
The customer accepts the invitation and registers as a user. If they’re an existing user, they can choose to log in instead.
Use parameters in the invitation to redirect the user back to your e-commerce system when the registration or login is completed.
Next, you can proceed to provisioning the personal licenses to the user through the Entitlement Management REST API. This will also automatically create a personal entitlement for them to hold the licenses, if they’re a new user.
Create or import customer during purchase process
With this implementation option, your e-commerce system creates a user account for the consumer customer in 10Duke Enterprise based on data collected from the customer during the purchase process.
This option is more straightforward from the customer’s point of view, because they don’t have to register to complete the purchase. After the purchase, the customer just needs to activate their user account by setting a password.
The onboarding process can be handled as follows:
Your e-commerce system creates the user using the Identity Management REST API operation POST
/users. This creates a user account in 10Duke Enterprise without a password.
By default, at least the user’s email address and their first and last name are required in the request, but this depends on your 10Duke Enterprise configuration.
Use the query parameters to send an account activation email to the user through 10Duke Enterprise.
The user clicks the link in the email to open the account activation page in 10Duke Enterprise, and defines a password for themselves.
To reduce the risk of the user providing a wrong email address during the purchase process and never receiving the account activation email, the e-commerce system should, for example, prompt the user to enter their email address twice as a form of validation.
To handle returning customers, before creating a new user your e-commerce system back-end can check if a user account already exists in 10Duke Enterprise. Use POST
/users/byEmail to check if there’s a user account with the customer’s email address.
After the user account has been created (after step 1), you can already proceed to provisioning the personal licenses to the user through the Entitlement Management REST API. This will also automatically create a personal entitlement for them to hold the licenses, if they’re a new user.
Customer registers when redeeming activation code
With this implementation option, your e-commerce system provides the consumer customer with a license activation code when the purchase is completed, and the customer is onboarded later when they redeem the activation code.
This option allows for a smooth purchase process for the customer, because no registration is required until they take the purchased product into use. At that point you also get the benefits of self-registration: the user creates their own password and your e-commerce system doesn’t have to handle any user passwords.
The key aspects are the following:
You have the configurations in place in SysAdmin for provisioning the licenses and generating the license activation codes.
Your e-commerce system stores the pregenerated license activation codes and you have a restocking process in place.
When a customer completes a purchase, your e-commerce system provides them with a license activation code. It also provides them with instructions on the next steps (for example, on the web page or by email), such as how to register as a user and redeem the code in the software application.
When the customer redeems the license activation code:
The user registration can be handled, for example, in your e-commerce system in the same way as when the customer registers during the purchase process. This allows handling also those cases where an activation code is redeemed by a returning customer who already has a user account.
The user registration can also be handled in the software application as part of the same flow where the customer redeems the activation code.
Your e-commerce system provisions the personal licenses to the user based on the activation code through the Entitlement Management REST API. This also automatically creates a personal entitlement for them to hold the licenses, if they’re a new user.