Setting up the SMS SDK

How to set up the SDK on your Android application

Installing the SDK

The Oraculi SDK is a Java native application that can be embedded into any mobile development framework that can instantiate Java within a mobile app. For the purpose of this documentation, it would be assumed to be a React Native application.

The Java SDK is available on Github on a private repo. To get access, please get in touch with The installation instructions are also available on the repo README.

  • Install package from NPM

npm install lendsqr-oraculi-react-native-1.2.10.tgz --save
  • Add the native package as a dependency in android/app/build.grad

dependencies {
implementation files("../../node_modules/@lendsqr/oraculi-react-native/android/oraculisdk/oraculisdk.aar")
  • Add needed permissions to AndroidManifest.x

<!-- contacts -->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<!-- apps -->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
<!-- device -->
<uses-permission android:name="android.permission.READ_PHONE_NUMBERS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- sms -->
<uses-permission android:name="android.permission.READ_SMS" />
<!-- accounts -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- calls -->
<uses-permission android:name="android.permission.READ_CALL_LOG" /


You'd need to initialize the SDK with a bvn, session_id and key to properly identify a distinct scrapping session, and also data options.

import * as Oraculi from '@lendsqr/oraculi-react-native';
const options = ['contacts', 'apps', 'device', 'sms', 'accounts', 'calls']
Oraculi.init({ bvn, session_id, key }, options);

Android Permissions

The SDK requires the READ_SMS and RECEIVE_SMS permissions which must be explicitly defined within your application Android Manifest.

These two permissions are classified as dangerous by Google; beyond just declaring them in your application, there are specific guidelines for getting them approved by Google.

For guidance, please get in touch with

Oraculi SDK User Journey

When the mobile app that has the Oraculi SDK is installed, it prompts the user to grant permissions for the required functionality. Kindly note that Google requires extensive screen information to provide clear guidance for the users. Therefore, the mobile app would need to be updated with additional screens to provide the disclaimer and data consent information to users as required by Google's Play Store policy.

Kindly note that you can access the template text for the screens here - Figma design. If you require guidance, please get in touch with

Once the permissions have been granted, the SDK would collect the data from the phone, encrypt them, and send them to the Lendsqr backend services for parsing and analysis.

The developer can then connect to the Lendsqr API endpoints to access the parsed and analyzed data for the loan underwriting workflow.

For the sake of data consistency, every single transaction is uniquely identified against the user to ensure that even if they uninstall the developer app and reinstall it again, data would not be duplicated.

The Oraculi SDK does not fetch personal SMS from users’ phones. Only data from senders such as banks, telcos, etc. are collected.

Last updated