Overview
Welcome to the React Web SDK for Altibbi services, your comprehensive solution for integrating health consultation services into your React web applications. This SDK enables video and text consultations, real-time notifications, and many other features to provide a seamless healthcare experience in the browser.
react-web-altibbi is the web port of react-native-altibbi — same functionality, same public API, running in the browser instead of on a native mobile runtime.
| Layer | React Native SDK | React Web SDK |
|---|---|---|
| REST API | fetch + React Native FormData | fetch + browser File/Blob |
| Constants / Init | init() | Identical |
| Types & static data | Identical | Identical |
| Realtime socket | Native Pusher bridge | pusher-js (same TBISocket API) |
| Video / VOIP | Native OpenTok | @opentok/client (same TBISession/TBIPublisher/TBISubscriber/TBISubscriberView components) |
| Chat | @sendbird/chat | @sendbird/chat (platform-agnostic, unchanged) |
Features
- Video and VOIP Consultation: Facilitate live video and VOIP sessions between patients and healthcare professionals using OpenTok.js.
- GSM Consultation: Facilitate GSM (phone calls) sessions between patients and healthcare professionals.
- Text Consultation: Offer real-time text messaging for healthcare inquiries.
- User Management: Easily manage user information with our comprehensive API.
- Media Management: Upload and manage media files (images, PDFs) attached to consultations.
- AI Models: Leverage machine learning for specialty prediction, consultation summaries, SOAP notes, and transcriptions.
- Sina AI Chat: Integrate the Sina AI assistant for intelligent health-related conversations.
- Real-time Notifications: Keep users updated with realtime socket events and server-to-server callbacks.
Below is an illustration of the SDK development journey:

Differences from react-native-altibbi
Since the SDK runs in a browser rather than on a native device, a few APIs differ in shape:
uploadMedia(file, type, fileName)anduploadSinaMedia(file, type, fileName)take aFile/Blob(e.g. from an<input type="file">element) instead of a native file path string.getPrescription(consultation_id)returns the rawfetchResponseobject. On web you read it withawait response.blob()and turn it into a downloadable URL withURL.createObjectURL(blob).- Realtime and video functionality are backed by
pusher-jsand OpenTok.js under the hood, but the component and function names (TBISocket,TBISession,TBIPublisher,TBISubscriber,TBISubscriberView) are unchanged, so code ported from the React Native app needs minimal changes.
Peer Dependencies
react-web-altibbi relies on the following packages, which must be installed alongside it:
react/react-dom(^18)@opentok/client— video/VOIP calling@sendbird/chat— chat consultationspusher-js— realtime socket eventsreact-router-dom,uuid— used internally by the SDK
See the Installation guide for exact steps.