SDK Integration
1. Email us: Get your company app Id
Request your company_app_id
to the Silt Team at the email
address
customers@getsilt.com. This Id is unique for you, and it will be the same that the one
required in the API integration flow.
2. Frontend: Add SDK on mobile with company app id
iOS: https://github.com/getsilt/ios-sdk
What happens next on Native Apps integration: On-click mobile sdk will
open a webview using the company app id. Once verified the webview will
close and return the silt_user_id
and a
company_app_token
. You can see more info in the examples
provided in the SDK code.
Here you can see a list of available query parameters.
Query param key | Value type | Description |
---|---|---|
company_app_id | String (Required) |
Mandatory field to get the configuration of the company app. Create
your company app now from the dashboard.getsilt.com.
Ex: &company_app_id=c11d1782-bcdc-4854-b5c9-32fd160fba8b |
customer_user_id | String (Optional) |
This can be your internal user id, the one in your database. This
field can be useful to track which user got verified when you receive
a webhook. You can also search by this field in the
dashboard.getsilt.com.
Ex: &customer_user_id=172345 |
user_email | String (Optional) |
Used to prefill the email field in the signup screens. If the user
already has a Silt account, he will be prompt to be able to skip
taking pictures of the Id we already have.
Ex: &user_email=steve@apple.com |
meta | JSON (Optional) |
You can use this field to store information a silt user that you will
receive whenever a webhook is sent or in GET /status. Similar to
customer_user_id, but without search option.
Ex: &meta={"abc":"123", "grumpy_cat": "miao"}
There is no need to encode the url.
|
redirect_url | String (Optional) |
Url that will point the button in the verification complete screen.
Ex: &redirect_url=https://YOURURL.com |
hide_redirect_button | Boolean (Optional) |
Used to hide the button of redirect in the verification complete
screen. Some customers use it in the iframe integration.
Ex: &hide_redirect_button=true |
hide_manual_review | Boolean (Optional) |
Not recomended. This option hides the option of sending a document to
manual review.
Ex: &hide_manual_review=true |
3. Store silt_user_id
3.1. Frontend: Send silt_user_id to your BE
Make the POST request to your own backend described in step 4. This
request requires as parameters silt_user_id
&
company_app_token
.
3.2. Backend: Create an endpoint to receive silt_user_id from your FE
Create a backend endpoint to receive the silt_user_id and company_app_token (as described in step 3). After receiving this, you have the data required to ask the info of that user to Silt's backend as described in step 4.
Store silt_user_id
to your database so you can easily
reference the verification status at any time.
4. Backend: Check user's verification status to Silt
Use company_app_token
against Silt's backend to the
endpoint
GET https://api.siltapp.com/v1/users/{silt_user_id}/status/
Auth Header
Use a Bearer Header: Authorization: Bearer {access_token}
or Temporary-Token Header: X-Company-App-Temporary-Token: {company_app_token}
or X-Company-App-API-Token Header: X-Company-App-API-Token: {company_app_api_token}
Don't forget that you should still use the
X-Company-App-Id
Header.
Check status: SUCCESS | MANUAL_REVIEW | PENDING | ERROR
to
know if a user is verified or not. Use the
national_id | passport | driving_license
objects to retreive
the data extracted from the documents.
You are not required to store any of these, just what suits you best.
5. (Optional, for better UX) Backend: Webhook to get notifications after user status update
When the status of a document of a user is created or updated, we can notify you to your Backend with a webhook pointing to the endpoint you provide us.
Some cases (less than 5%) require a manual verification. For obvious
reasons, we cannot verify users instantly this way. We inform the user by
email once we have finished the verification verification, but you can
also be notified once this happens. When you have changed the status of a
document we will make a POST request to the endpoint you provide us. The
response will return the same response as /status request under user
field, the processing_attempt
that triggered the webhook, its status
.