@cashfreepayments/deviceintel-js-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Cashfree Device Intelligence SDK Documentation

License Release TestCases Build

The Device Intelligence SDK is a user-friendly solution that allows businesses to gather important data directly from users' browsers. This SDK seamlessly captures essential information about users' browsing behavior and preferences, providing businesses with valuable insights. By leveraging this browser-specific data, businesses can optimize their services, personalize user experiences, and make informed decisions based on accurate and reliable information.

Installation

  1. Using NPM package

    npm install @cashfreepayments/deviceintel-js-sdk
    
  2. Using CDN URL

<script src="https://vssdk-prod.cashfree.com/device-intel-js-sdk/1.0.0/index.mjs"></script>
  1. ES Module Import

     import DeviceIntelligence from 'https://vssdk-prod.cashfree.com/device-intel-js-sdk/1.0.0/index.mjs'
    
    

Note: Make sure only one of the above is present in your application

Installation & Usage

1. Import via URL (ES Module)

To use the SDK directly via an ES module import:

import DeviceIntelligence from 'https://vssdk-prod.cashfree.com/device-intel-js-sdk/1.0.0/index.mjs'
;(async () => {
  const data = await DeviceIntelligence.getBrowserData(100, 300,{ user_ip: false })
  console.log(data)
})()

2. Import via Script Tag

 <script src="https://vssdk-prod.cashfree.com/device-intel-js-sdk/1.0.0/index.mjs"></script>

 <script>
   (async () => {
     const data = await window.DeviceIntelligence.getDeviceData(100,300,{ user_ip: false });
     console.log(data);
   })();
 </script>

3. Using NPM Package

import { getBrowserData } from '@cashfreepayments/deviceintel-js-sdk'
;(async () => {
  const data = await getBrowserData(100, 300,{ user_ip: false })
  console.log(data)
})()

Timeout Configuration

The getBrowserData method (and other SDK methods) allow you to configure two key timeout parameters: taskTimeout and overallTimeout. These parameters are essential for managing the execution time of individual tasks and the overall method.

Parameters

 1.taskTimeout:

     Specifies the maximum allowed time (in milliseconds) for individual tasks within the method to complete.

     Default value: 100ms

 2.overallTimeout:

     Specifies the maximum allowed time (in milliseconds) for the entire execution of the method, including all tasks, to complete.

     Default value: 300ms

Example Usage

const data = await getBrowserData(100, 300,{ user_ip: false })

Example with Custom Timeout Values

const data = await getBrowserData(200, 500,{ user_ip: false })

Optional Parameters

The getBrowserData method accepts an optional configuration object that allows you to control which data points are collected. Each property in this configuration object can be set to false to skip collecting that specific information.

  javascriptCopyconst options = {
    user_ip: false,      // Skip collecting IP address
    location: false,     // Skip collecting geolocation data
    browser_info: false, // Skip collecting browser information
    screen_info: false,  // Skip collecting screen resolution and color depth
    plugins: false,      // Skip collecting browser plugin information
    timezone: false      // Skip collecting timezone information
  }

  // Pass the options as the third parameter
  const data = await getBrowserData(100, 300, options);

By default, all data points are collected (equivalent to setting all options to true). Setting any option to false will: 1.Skip the associated data collection tasks 2.Potentially reduce overall execution time 3.Return NA for those specific properties in the result object

Methods Exposed

Method Description
getDeviceData() Fetches data about the user's browser, including browser version, user agent, and capabilities. Helps in identifying the browser environment.
getRiskData() Gathers risk-related data based on device and network properties, including VPN detection, IP checks, or behavioral analysis.
getBrowserData() Combines the outputs of getDeviceData and getRiskData into a single object, providing a comprehensive overview of browser and risk data for the device.
getEncodedBrowserData() Converts the combined browser and risk data from getBrowserData into a Base64-encoded string, suitable for transmission or storage in Base64 format.

getDeviceData

Key Info
device_type Screen Information: mobile or desktop
device_hash Unique Identifier for Browser
os_name Operating System Name
os_version Device Operating System Version
user_agent Browser User Agent Data
browser_name Browser Application Name
browser_version Browser Version
cookie_enabled Browser Cookies enabled or not
screen_width Device Screen Width
screen_height Device Screen Height
region_timezone Timezone Data
region_timezone_offset Timezone Offset Value
region_language Browser Language
installed_fonts Browser Installed Fonts
installed_plugins Browser Installed Plugins
gpu_renderer GPU Information
cookie_hash Hash of Browser Cookies
browser_hash Hash of Browser User Agent
private_mode Incognito or not
battery_percentage Device Battery Percentage
canvas_device_fingerprint Canvas Device Fingerprint
audio_fingerprint Audio Fingerprint
private_browser Private Browser Detection
flash_or_java_detected Flash or Java Detected
web_rtc_ips WebRTC IPs
architecture Architecture
internet_type Internet Type
visitor_id Unique Visitor ID
session_id Unique Session ID
user_ip User IP

getRiskData

Key Info
installed_bots Check bot installed or not
high_activity Checks Device Activity
tampering_detection Tampering Activities Detection
virtual_machine_detection Virtual Machine Detection
privacy_settings Privacy Settings
privacy_browsers Privacy Browsers (Tor Exit Node)
browser_anti_finger_printing_extension Browser Anti-Fingerprinting Extension
is_dev_tool_open Dev Tools Open

Package Sidebar

Install

npm i @cashfreepayments/deviceintel-js-sdk

Weekly Downloads

130

Version

1.0.0

License

MIT

Unpacked Size

330 kB

Total Files

7

Last publish

Collaborators

  • cashfree-payments
  • kishan.cashfree
  • nikhilkushwah18