Skip to main content

ABHA SDK - Implementation

This guide provides everything you need to integrate the ABHA SDK into your application.

Overview

The ABHA SDK allows you to integrate flows—such as Create ABHA, Login, Profile KYC, Consent Management, and Scan & Share—into your healthcare application, while offering customizable theme options. It provides:
  • Create ABHA: Create a new ABHA using Mobile or Aadhaar.
  • Login with ABHA: Login to your exisiting ABHA using PHR Address, ABHA number, Aadhaar number or Mobile number.
  • ABHA Consent Management: Manage Consent requests raised by healthcare providers to share medical records securely.
  • ABHA Profile KYC: Get your ABHA address KYC verified.
  • ABHA Scan & Share: Get your Appointments Booked through ABHA.
  • Customizing the Theme: Customize the ABHA SDK colors to match your application’s branding.

Installation

Prerequisites

  • A modern web browser.
  • Your domain must be whitelisted with Eka Care to avoid CORS(Cross-Origin Resource Sharing) error. (Contact Eka Care to request API access and domain whitelisting.)
  • A valid HTML container element where the SDK will mount.

Setup

Add the following HTML and script tags to your webpage:
For staging/dev environments, replace the SDK URLs with:
  • JS: https://unpkg.com/@eka-care/abha-stg/dist/sdk/abha/js/abha.js
  • CSS: https://unpkg.com/@eka-care/abha-stg/dist/sdk/abha/css/abha.css

Core Functions

1. initAbhaApp

Initializes and renders the ABHA SDK in your specified container. Parameters:

Callback Parameters

onSuccess Callback

The onSuccess callback is triggered when the ABHA flow completes successfully. It returns verified user details and tokens, which can be used to log in or continue the user’s session. Callback Signature:
Type Definitions
Parameters Example:

onKYCSuccess Callback

The onKYCSuccess callback is triggered when the ABHA KYC flow completes successfully. It returns a confirmation message indicating that the KYC has been verified. Callback Signature:
Type Definitions
Parameters Example:

onConsentSuccess Callback

The onConsentSuccess callback is triggered when the ABHA Consent flow completes successfully. It returns a confirmation message indicating that the Consent flow ended successfully. Callback Signature:
Type Definitions
Parameters Example:

onAppointmentBookedSuccess Callback

The onAppointmentBookedSuccess callback is triggered when the appointment is booked and token gets generated successfully. It returns a confirmation message indicating that the Appointment is booked. Callback Signature:
Type Definitions
Parameters Example:

onSkipAbha Callback

The onSkipAbha callback is triggered when the ABHA SDK flow is skipped. The callback is functional when skipABHAEnable is set to true in the data parameter while initializing the SDK. Callback Signature:
Example:
Type Definitions
Parameters

onAbhaClose Callback

The onAbhaClose callback is triggered when the ABHA SDK flow gets closed. Callback Signature:
Example:

onError Callback

The onError callback is triggered whenever an ABHA flow fails or is interrupted. It provides details about the failure through structured parameters, allowing you to handle or forward the error appropriately (for example, to native apps or monitoring tools). Callback Signature:
Type Definitions
Parameters Example:
Suggest Handling
  • Always log the full error response (params) for debugging.
  • Display friendly error messages for known error.code values.
  • If params.response is present, inspect response.error.message for more detail.
  • If integrating with native apps, forward the serialized error object:

Container Styling

Ensure your container has sufficient space:

Troubleshooting

Common Issues

1. SDK Not Rendering

Problem: Nothing appears in the container. Solution:
  • Ensure containerId matches an existing HTML element.
  • Verify the SDK JS and CSS are correctly loaded.
  • Check browser console for errors.

2. APIs Not Being Called

Problem: API requests are not triggered after the SDK is mounted. Solution:
  • Ensure that the accessToken is passed correctly (do not include the Bearer prefix) and that the token has not expired.
  • To prevent CORS-related issues, ensure that your domain is whitelisted.

3. Callback Not Triggered

Problem: onSuccess, onError, onKYCSuccess, onConsentSuccess, onAbhaClose isn’t firing. Solution:
  • Make sure callbacks are passed as valid functions.
  • Avoid race conditions (e.g., calling before SDK fully loads).

4. Styling Issues

Problem: SDK content appears misaligned or clipped. Solution:
  • Give your container a fixed height (e.g., 600px).
  • Ensure no parent element uses overflow: hidden.