# 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 the snsWebSdk.init(accessToken, expiredTokenCallback) according to the actual documentation.
  • Change placement of onMessage and onError 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 the SNSMobileSDK.Builder(requireActivity()) according to the actual documentation for Android.
  • Replace SNSMobileSDK(baseUrl, flowName, accessToken, locale, supportEmail) with the SNSMobileSDK(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 and environment: .test as SNSMobileSDK parameter for iOS.
Last Updated: 2/8/2022, 8:45:02 AM