Overview

Sinch offers a platform for phone number verification. It consists of different software development kits (the Sinch SDKs) that you integrate with your smartphone or web application and cloud based back-end services. Together they enable SMS, Flashcall, Callout and Data verification in your application.

Supported verification methods

When using Sinch for Verification, the Sinch dashboard provides 4 possible ways of verifying a phone number available both on iOS and Android devices. In some cases the SDK can automatically intercept the verification code and pass it back to the Sinch backend, however your application should always be prepared to present a text input field in case of automatic extraction failure. The verification methods that are currently supported are:

  1. SMS - The user enters a code they receive via SMS message. On Android, automatic code extraction is available, however on iOS an input field must be always presented and the number has to be typed manually by the user.
  2. Flashcall - Sinch makes a flashcall (missed call) and detects the incoming calling number (CLI).
  3. Callout - The user gets the verification code by answering an incoming Sinch phone call and responds by pressing the requested code or number.
  4. Data verification - Sinch uses telephony provider infrastructure to verify the phone number without any user interaction. Because of that, mobile data must be enabled.

The Sinch Verification service takes care of all the different steps in a verification process and lets developers focus on building great applications while easily reinforcing their sign up and login processes.

Getting started

Getting started with the Sinch Verification API and SDK is simple thanks to the extensive documentation for each platform and the different tutorials and sample application available together with the SDKs.

In most cases, Sinch can be used without needing a back-end or any configuration just follow these steps.

  1. Create an account,
  2. Get started in minutes by following one of the user guides below.
  3. iOS
  4. Android
  5. JVM
  6. Rest

Verification SDKs

The Sinch SDK is currently available for iOS, Android, and JVM.

Note:

If you use SDK it's mandatory to use callbacks to secure all transactions. When the application is configured as "public" security, the callback is used to allow/deny each transaction.

Back-end services such as authorization or data consolidation are also exposed over REST APIs, primarily for back-end to back-end integration.

Using the SDKs and the REST API

The SDK and REST API work together to ensure you the highest possible security and a full control over the verification solution. We recommend the following approach to integrate any of the Verification SDK in your apps:

  1. Use the SDK to initiate verification requests.
  2. Use the Verification Request Event callback to:

    • Authorize a given verification request to be started.
    • Control the amount of retries a single user can attempt.
    • Control if a given phone number can be associated to multiple accounts.
  3. Let the SDK automatically intercept (Android only) and report flash calls/SMS to the Sinch backend.
  4. Consolidate the final verification status in your backend using the Verification Result Event callback.
    verification_flow.png

Verification results and success rates

Keep track of verification success rates and results in real time through the Sinch Dashboard. For each verification method, get accurate metrics on how your app is performing:

  • Delivery rate: percentage of numbers who could successfully be reached, phone ringing or SMS delivered.
  • Conversion rate: percentage of unique numbers who could successfully be verified.

Verification pricing

Verification pricing is calculated on a per request basis. A fixed price is charged for each flash call attempted and a SMS price (depending on country and operator) is charged for each SMS verification attempt.