Integrate Sign in with Phone on your website

Supported Technologies
phone email
phone email
phone email
phone email
phone email
phone email
phone email
phone email
phone email
phone email

Introduction

Try Sign In Demo

Sign in with Phone is a phone verification plugin that works on the frontend, similar to Sign in with Gmail. It simplifies global phone number verification by using OTP/pass code. Sign in with Phone eliminates the need for complex telecom registration and SMS API Gateway integration for each country.

Phone email

To seamlessly integrate the plugin into your website, follow the instructions provided below.

Step 1. Get Sign in button code

To verify phone numbers on your website, you need to first register on our Admin Dashboard.

Admin Dashboard

Register with us to generate Sign in with Phone button code for your business.

Integrate as a Single Button

This integration type is good for you if you want to use it as a "Sign-In with Phone" button without asking user to supply any other personal information.

How to Integrate?
Simply copy and paste this button on your login page.

Integrate it in existing forms

This integration type is good for you if you want to use it as a "Sign-In with Phone" button in your existing forms (e.g. Sign-up/Register/Contact Us) where you are also taking other personal information together with Phone Number.

How to Integrate?
Simply copy and paste this button in your form page by replacing your "Submit" button.
Apply class="pe_phone_number" on phone number field of your form.

Download Login/Signup HTML Templates

This integration type is good for you if you are looking for pre-built HTML templates for Sign-in or register pages.

How to Integrate?
Simply download the template which has pre-integrated button and use it.

Step 2. Get verified phone number (Backend)

For enhanced security you must implement this step in your application backend.

We have supplied user_json_url (Example - https://user.phone.email/user_abcxd123fgbfg43454.json) in phoneEmailListener JS function as explained in step 1.

Please read authenticated phone number from JSON URL using PHP, Python, Node JS, JAVA etc as explained below.


 <?php
// Assuming $user_json_url contains the URL path
$json_data = file_get_contents($user_json_url);
$data = json_decode($json_data, true);

$user_country_code = $data['user_country_code'];
$user_phone_number = $data['user_phone_number'];
$user_first_name= $data['user_first_name'];
$user_last_name= $data['user_last_name'];
// Now you can use $user_country_code, $user_phone_number, user_first_name and user_last_name as needed
?> 
const https = require('https');
// URL of the JSON file
const user_json_url = "URL_OF_YOUR_JSON_FILE";

https.get(user_json_url, (res) => {
  let data = '';

  // A chunk of data has been received.
  res.on('data', (chunk) => {
    data += chunk;
  });

  // The whole response has been received.
  res.on('end', () => {
    const jsonData = JSON.parse(data);

    // Access user_country_code and user_phone_number
    const user_country_code = jsonData.user_country_code;
    const user_phone_number = jsonData.user_phone_number;
    const user_first_name = jsonData.user_first_name;
    const user_last_name = jsonData.user_last_name;

    console.log("User Country Code:", user_country_code);
    console.log("User Phone Number:", user_phone_number);
    console.log("User First Name:", user_first_name);
    console.log("User Last name:", user_last_name);
  });

}).on("error", (err) => {
  console.log("Error: " + err.message);
});
import urllib.request
import json

# URL of the JSON file
user_json_url = "URL_OF_YOUR_JSON_FILE"

# Read JSON data from the URL
with urllib.request.urlopen(user_json_url) as url:
    data = json.loads(url.read().decode())

# Access user_country_code and user_phone_number
user_country_code = data["user_country_code"]
user_phone_number = data["user_phone_number"]
user_first_name = data["user_first_name"]
user_last_name = data["user_last_name"]

print("User Country Code:", user_country_code)
print("User Phone Number:", user_phone_number)
print("User First Name:", user_first_name)
print("User Last Name:", user_last_name)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.JSONObject;

public class ReadJsonFromUrl {
    public static void main(String[] args) {
        String userJsonUrl = "URL_OF_YOUR_JSON_FILE";
        try {
            URL url = new URL(userJsonUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.connect();

            // Read JSON response
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();

            // Parse JSON response
            JSONObject jsonObject = new JSONObject(response.toString());
            String userCountryCode = jsonObject.getString("user_country_code");
            String userPhoneNumber = jsonObject.getString("user_phone_number");
            String userFirstName = jsonObject.getString("user_first_name");
            String userLastName = jsonObject.getString("user_last_name");

            System.out.println("User Country Code: " + userCountryCode);
            System.out.println("User Phone Number: " + userPhoneNumber);
            System.out.println("User First Name: " + userFirstName);
            System.out.println("User Last Name: " + userLastName);

            connection.disconnect();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Should you encounter any technical challenges during the integration process, please don't hesitate to reach out to us for assistance.

Contact us WhatsApp Us


Frequently Asked Questions

  • For the first 6 months, you receive 1000 SMS per month.

  • After this initial period, please refer to the pricing page for more details on SMS costs.

  • No, you cannot change it as it is pre-approved.

  • Your business name appears in all OTP/Pass codes that you configure under the profile section in the Admin Dashboard.

  • No, you are not required to register for DLT/10DLC or equivalent because we’ve already handled it for Phone.Email.

  • We saved you the DLT registration cost (approximately 5800 INR) and the efforts needed to get approval for the Sender ID and SMS template.

  • No, our frontend plugin for web and mobile apps includes an inbuilt OTP API.

  • You do NOT need to call the OTP API separately.