Integration Guide

Flow integration guide (hosted solution)
A client represents the individual for whom you need to perform various KYC checks. A client is required to generate a flow session. This must be done in your backend server.
cURL
Node.js
Python
PHP
.NET
curl -X POST https://api.complycube.com/v1/clients \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"type": "person",
"email": "[email protected]",
"personDetails":{
"firstName": "John",
"lastName" :"Doe"
}
}'
const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const client = await complycube.client.create({
type: "person",
email: "[email protected]",
personDetails: {
firstName: "John",
lastName: "Doe"
}
});
from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')
new_client = {
'type':'person',
'email':'[email protected]',
'personDetails': {
'firstName':'John',
'lastName':'Doe'
}
}
client = cc_api.clients.create(**new_client)
use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$result = $ccapi->clients()->create(['type' => 'person',
'email' => '[email protected]',
'personDetails' => ['firstName' => 'John',
'lastName' => 'Doe']]);
using ComplyCube.Net;
using ComplyCube.Net.Resources.Clients;
var clientApi = new ClientApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var newClient = new ClientRequest {
type = "person",
email = "[email protected]",
personDetails = new PersonDetails {
firstName = "John",
lastName = "Doe"
}
}
var client = await clientApi.CreateAsync(newClient);
The response will contain an
id
(the Client ID). It is required for the next step.{
"id": "5eb04fcd0f3e360008035eb1",
"type": "person",
"email": "[email protected]",
"personDetails": {
"firstName": "John",
"lastName": "Doe",
},
"createdAt": "2020-01-04T17:24:29.146Z",
"updatedAt": "2020-01-04T17:24:29.146Z"
}
A session is a unique ComplyCube URL address to redirect your clients to complete identity verification. Once complete, your clients will be redirected to your chosen URL.
cURL
Node.js
Python
PHP
.NET
curl -X POST https://api.complycube.com/v1/flow/sessions \
-H 'Authorization: <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"clientId":"CLIENT_ID",
"checkTypes": ["extensive_screening_check", "identity_check", "document_check"],
"successUrl": "https://www.yoursite.com/success",
"cancelUrl": "https://www.yoursite.com/cancel"
}'
const { ComplyCube } = require("@complycube/api");
const complycube = new ComplyCube({ apiKey: "<YOUR_API_KEY>" });
const session = await complycube.flow.createSession("CLIENT_ID", {
checkTypes: [
"extensive_screening_check",
"identity_check",
"document_check"
],
successUrl: "https://www.yoursite.com/success",
cancelUrl: "https://www.yoursite.com/cancel",
theme: "light"
});
from complycube import ComplyCubeClient
cc_api = ComplyCubeClient(api_key='<YOUR_API_KEY>')
flow_session = {
'clientId': client.id,
'checkTypes':[
'extensive_screening_check',
'identity_check',
'document_check'
],
'successUrl':'https://wwww.yoursite.com/success',
'cancelUrl':'https://wwww.yoursite.com/cancel',
'theme': 'light'
}
session = cc_api.flow.create(**flow_session)
use ComplyCube\ComplyCubeClient;
$ccapi = new ComplyCubeClient('<YOUR_API_KEY>');
$session = $ccapi->flow()->createSession(
['clientId' => $clientId,
'checkTypes' => ['extensive_screening_check',
'identity_check',
'document_check'],
'successUrl' => 'https://www.yoursite.com/success',
'cancelUrl' => 'https://www.yoursite.com/cancel',
'theme' => 'light'])
using ComplyCube.Net;
using ComplyCube.Net.Resources.FlowSessions;
var fSession = new FlowSessionApi(new ComplyCubeClient("<YOUR_API_KEY>"));
var flowSession = new FlowSessionRequest
{
clientId = aClient.id,
checkTypes = new string[] {
"extensive_screening_check",
"identity_check",
"document_check"
},
successUrl = "http://complycube.com",
cancelUrl = "http://complycube.com"
};
var result = fSession.CreateAsync(flowSession).Result;
{
"redirectUrl": "https://flow.complycube.com/test_ODdkNjhiOTU0MzY4YmE5NjRmMDMyY2E5MWYwZjgxNjMzZTcyMWJmNzU2YjZmNDQ4NmFjMTU0ZGZhYTU5MmNhY2NiNjI3ZDE4YWJkYmU2M2M3ZWYzZTlmM2M3MzgxMmM3NzZhMjVlYmQyNDI0ODdkOWQ3M2JiMjkxZTYxNzdhYmExMGEzOGRhYmM2OTIwMjgyYmEzZGY3ZDY0NWZhMjcwN2RlMTFkOTcxZWNhOWI2Zjg0NjllZGNkODVjYzMzMDA5YjdlMWY5OGIwMmZjY2UzNGI2YTMxOGQxNGZmNGFhYjczNzU0YmYwMjFkMzU1M2FjMjQ4ZDQ2ZjJjZTY4YWY0MzIxNjVlMDRjOTIyYTExMTlmMWU3YTYwMDY1NGJmYWM0NTA2MDE5NTg5NTkxYzA4MzYyYTUyM2I0NDM4OGExNWIyMTIzYTBhNDc0NDA4NWM2ZTQwMmNjMGVjMTk2YW?theme=light"
}
Redirect your client to the
redirectUrl
generated in the previous step.Once the client has provided all their details on the hosted solution:
- 1.ComplyCube will perform all the checks you opted for when creating the session (as part of
checkTypes
). - 2.The client will be redirected back to the specified
successUrl
.
You can retrieve the outcomes and breakdown of the checks via the API or Web Portal. If you have set up webhooks, a notification will be sent upon completing each check.
Last modified 1yr ago