Customer creation
You can create a customer on the Shaype platform in two ways:
- With Shaype KYC feature
- Without Shaype KYC feature (assuming you are responsible for the KYC for your customer).
Steps to create a customer with personal account
Create Case - (Required only with KYC)
Create a case is the first step to onboard a customer on the platform when using Shaype KYC functionality
If using KYC, the field scanCase.id from the create case endpoint, should be sent to identityVerificationCaseId in the create customer request. This will link the id verification case to the customer creation request.
API reference: Create new identity verification case and first submission
Create Customer
Customer is the entry point for a user in the Shaype platform, it allows you to then create accounts and cards.
We have a single endpoint to create a customer, distinguished by the skipKyc
field in the request. The default value for skipKyc
field is false.
ATTRIBUTES | DESCRIPTION |
---|---|
Address | The residential address of the individual |
Customer Details | The full name and date of birth of the individual |
Email Address | |
Phone Number | The phone number of the individual, both Australian and International numbers are support. This must be a mobile not a landline as it is used for 2FA security, text notifications and use in 3DS for applicable Visa transactions. |
The customer will become active automatically when the KYC is successful
API reference: Create Customer
Activate Customer - (Required only with non-KYC)
The default the customer status would be PENDING_APPROVAL
. This means that the application is under evaluation or the customer has not yet completed all required onboarding steps.
If Shaype is doing the KYC for you, the platform will execute this step automatically at the end of a successful KYC procedure.
If you are not using Shaype KYC, you will need to manually update the customer status to ACTIVE
.
For all possible customer status detail please refer to Customer Status
API reference: Update Customer status
Create an Account
Create an account for the customer.
productId
is required to an create an account. What is productId and to retrieve the productId please refer product doc.
API reference: Create Account
Update Account Risk Level
Risk levels are one of the parameters arranged with our Product Team when integration options are discussed, so the exact meaning of this option might vary.
The default functionality defines two risk levels: HIGH and LOW - with HIGH assigned by default and denoting accounts that didn't go through all regulatory checks yet. Once you're ready to allow the account to transact, you should set its risk level to LOW. Before that, all movement of funds will be blocked.
API reference: Update Account Risk Level
Duplication Checks on Customer Creation
The Shaype platform does not support creating a customer with the same details under a single client. To prevent customer duplication, the platform has internal checks on the following fields in the Create Customer API request:
- Email Address
- Phone Number
- Combination of Document Type and Number
- Combination of First Name, Last Name and DOB
Some of our duplicate checks can be disabled. This might be useful to test our KYC process in staging with the same user and set of documents. Please contact the Shaype Client Integration team to disable these checks.
Configurable | Not configurable |
---|---|
firstName + lastName + dateOfBirth | phoneNumber |
identityDocumentNumber + identityDocumentType |
Points to Note
- If a duplicate is found, customer creation will fail.
- If a customer is INACTIVE, they will be excluded from duplicate checks.
Customer Operations
Get All Customers
- API retrieves a list of all customers belongs to the client. This endpoint is useful for obtaining a list of customers, including their details.
API definition: Get All Customer
Search Customers
- The search endpoint allows you to search customer based on various criteria such as dateOfBirth, email, firstName, phoneNumber etc. Please refer API definition page for details.
API definition: Search Customer
Get Customer by ID
- Retrieves the details of a specific customer based on their unique customerId.
API definition: Get Customer by ID
Update Customer Details
- Updates the details of a specific customer using their unique customer Id except customer status.
- This operation also sends a webhook event with the type CUSTOMER_DETAILS_CHANGE along with the customerDetailsChangeEvent object.
API definition: Update Customer Details
Update Customer Status
- Updates the status of a specific customer using their unique customerId. Please refer to Customer Status section for all status.
- This operation also sends a webhook event with the type CUSTOMER_STATUS_UPDATED along with the customerStatusUpdatedEvent object.
API definition: Update Customer Status
Block Customer
- Block a specific customer using their unique customerId. Blocking will change the customer status to BLOCKED and sends a webhook event with the type CUSTOMER_STATUS_UPDATED. Requesting client to handle the blocking scenario at their end.
API definition: Block Customer
Unblock Customer
- Unblock a blocked customer using their unique customerId. Unblock customer will change the customer status to ACTIVE and sends a webhook event with the type CUSTOMER_STATUS_UPDATED. Requesting client to handle the unblocking scenario at their end.
API definition: Unblock Customer
Webhook Events
Shaype platform will send various below webhook events on different operations performed on customers and accounts. Please find the sample events payloads
ONBOARDING_PASSED
{
"customerHayId": "42f5b631-edd5-00f0-9f17-cd17da0ca0d9",
"idempotencyKey": "42f5b631-edd5-00f0-9f17-cd17da0ca0d9",
"type": "ONBOARDING_PASSED",
"firebaseDeviceToken": "fD3ZhPHr3UxGsi81Xc_zGt:APA91bFuuqvv4pUJ39sXE79RJK3kBvgYwUmfH2E9F9wUdlgurBkvWNyxv8vsLL93RCKKyyaZ9i4hk5rM1oxgCvTH6rtOozmoAge0_VPdJg32eNVHvdfZlKpAUhsaPKtV3JfriZsdf234sd"
}
ONBOARDING_FAILED
{
"customerHayId": "c1c476dd-6c1a-23dd-8e4f-a4229f9563bf",
"idempotencyKey": "3971e549-a178-23dd-9d76-737328a6ce40",
"type": "ONBOARDING_FAILED",
"firebaseDeviceToken": "dbRQCIhFLEsIn3_SSDE8r9:APA91bHTpCuhS6sjHG6uRMnP_tn7mOmy0QebEprYDQPVoJf7oXspxhagt9Ai1OuDqZHssU7BMk-sxII85WcFoxqruW8NXCykwvPzyjTh9UiYbKYdUdS6tg-TPsaPuAeQGQblasdd32sdfsZ",
"onboardingFailedEvent": {
"state": "KYC_AML_SCAN",
"isSubmissionFailure": true
}
}
CUSTOMER_STATUS_UPDATED
{
"customerHayId": "74b7aaa9-dwe3-4a09-a618-f1bd405c3ead",
"idempotencyKey": "f7ec6a11-df3t-4eff-a5d9-31e948e8210f",
"type": "CUSTOMER_STATUS_UPDATED",
"actionOwner": "CLIENT",
"customerStatusUpdatedEvent": {
"customerStatus": "ACTIVE"
}
}
ACCOUNT_STATUS_CHANGE
{
"customerHayId": "0964ac36-a1dd-8dj8-b0a1-f01eca1941b4",
"idempotencyKey": "ff1531ca-d069-6537-bede-95db70c12a91",
"type": "ACCOUNT_STATUS_CHANGE",
"actionOwner": "PLATFORM",
"accountStatusChangeEvent": {
"accountHayId": "92000f75-11f6-4ec1-h892-6a98591ab95f",
"accountStatus": "APPROVED"
}
}
Updated about 2 months ago