Welcome to the Ubudu RTLS SDK documentation. This SDK provides TypeScript/JavaScript bindings for the Ubudu Real-Time Location System API.
| Guide | Description |
|---|---|
| Getting Started | Installation, configuration, first API calls |
| Asset Tracking | Asset CRUD, positions, history, statistics |
| Zone & Geofencing | Zones, spatial queries, presence detection |
| Navigation | POIs, paths, indoor routing |
| WebSocket Streaming | Real-time positions, zones, alerts |
| Error Handling | Error types, retry strategies |
| Advanced Patterns | Pagination, filtering, batch processing |
| Migration to v2 | Migrating to default context API |
| Release Setup | CI/CD for GitHub and npm publishing |
See the examples directory for runnable TypeScript and JavaScript examples.
cd examples
npm install
npm run ts:all # Run all TypeScript examplesSee the API Reference for detailed documentation of all classes and methods.
import { createRtlsClient } from 'ubudu-rtls-sdk';
const client = createRtlsClient({
apiKey: 'your-api-key',
});
// List assets
const assets = await client.assets.list('namespace');
// Get cached positions
const positions = await client.positions.listCached('namespace');
// Spatial query
const nearbyZones = await client.spatial.nearestZones('namespace', {
lat: 48.8566,
lon: 2.3522,
limit: 5,
});The SDK provides access to these API resources:
| Resource | Class | Description |
|---|---|---|
| Assets | client.assets |
Asset CRUD, history, statistics |
| Positions | client.positions |
Real-time and historical positions |
| Venues | client.venues |
Venues, maps, POIs, paths |
| Zones | client.zones |
Zone management and presence |
| Spatial | client.spatial |
Spatial queries |
| Alerts | client.alerts |
Alert rules |
| Dashboards | client.dashboards |
Dashboard configuration |
| Navigation | client.navigation |
Indoor routing |
| WebSocket | RtlsWebSocketClient |
Real-time streaming |
- GitHub Issues - Report bugs or request features
- API Documentation - RTLS API reference