# SDK migration guide
Our new SDK provides secure interfaces that enable greater control of applicants’ required documents. It does this by shifting the responsibility for the verification flow to the backend during access token generation. Moreover, a new and simplified style management system for SDK customization allows the merging of most customization settings into one flow.
# Reference info
- Migration start date: 9/1/2021
- Planned end of migration and the removal of deprecated methods: 2022-02-01
- Migration affects each client who uses MSDKs or WebSDKs, and who attained access to a production environment before 9/1/2021
On 2022-02-01, the old SDK will be deprecated and removed. We cannot guarantee adequate support for this service thereafter.
# Backward compatibility
- You will be able to edit existing levels and flows. However, new ones will not be compatible with old SDK versions
- All existing levels and flows, from the migration start date & time, will be backward compatible with the old SDK
- Every level and flow that has been reconfigured for the new SDK will have backward compatibility with the old SDK until the end of the migration period.
To create new levels, you have to succeed with migration on your side
# Advantages of the new SDK
- More secure: the level is tied access token on the backend, making it impossible to initialize the SDK with a non-intended set of steps
- Easier:
- Now, if you don't want a customized look and feel, it's enough to create just one level
- Decoupled customization from what is required from an applicant: you configure the customization once per sdk type and then attach it to as many levels as you want
- More unified: now everything works around levels, whether you use our SDK or API
- More robust. Before, we haven't been saving with the SDK flow that we initialized, the level persisted. Thus, when launching the SDK from a dashboard, for example, we had to guess which flow should be used (in the case where there are multiple flows attached to the same level).
# Test-API to Sandbox
Previously, we used two different domains: test-api.sumsub.com
and api.sumsub.com
.
Support for test-api.sumsub.com
will be stopped on May 10th 2022.
With an update api.sumsub.com
was separated into Production and Sandbox.
- Sandbox: this is only needed when testing out your integration with Sumsub. No real checks are performed when in the sandbox environment.
- Production: In order to provide you with access to the production environment, we require that the integration is tested first. We just want to make sure that everything works the way it should.
Both environments are available via api.sumsub.com and are controlled by the switch in the top right-hand corner of the dashboard. API accesses are regulated through the use of the X-App-Token authorization header value.
If you'd like to use the Sandbox environment within api.sumsub.com
and it's not available, please contact our technical support team.
# WebSDK migration steps
- Reconfigure existing levels according to the guide at our helpdesk (question mark button in the upper right corner of the dashboard) - you can find it by name "Building Your Verification Process [New UI]" - Developer skills are not required.
- Add the
levelName
request argument in access token generation. - Replace
snsWebSdk.Builder(apiUrl, flowName).withAccessToken(accessToken, expiredTokenCallback)
with thesnsWebSdk.init(accessToken, expiredTokenCallback)
according to the actual documentation. - Change placement of
onMessage
andonError
callbacks with.on()
function according to example. - In case you'd like to use
test-api.sumsub.com
add.onTestEnv()
to initialization function on the same level as SDK callbacks.
# MSDK migration steps
- Reconfigure existing levels according to the guide at our helpdesk (question mark button in the upper right corner of the dashboard) - you can find it by name "Building Your Verification Process [New UI]" - Developer skills are not required.
- Add the
levelName
request argument in access token generation. - Get the latest MSDK version: iOS, Android
- Replace
SNSMobileSDK.Builder(requireActivity(), apiUrl, flowOrAction)
with theSNSMobileSDK.Builder(requireActivity())
according to the actual documentation for Android. - Replace
SNSMobileSDK(baseUrl, flowName, accessToken, locale, supportEmail)
with theSNSMobileSDK(accessToken: accessToken)
according to the actual documentation for iOS. - In case you'd like to use
test-api.sumsub.com
add.onTestEnv()
to initialization function for Android andenvironment: .test
as SNSMobileSDK parameter for iOS.