Ship faster with production-ready client libraries for JavaScript and PHP. Full coverage of the Tabi API with zero external dependencies.
tabi-sdk on npm
Install
npm install tabi-sdkQuick start
import { TabiClient } from 'tabi-sdk';
const tabi = new TabiClient({
apiKey: 'tk_your_api_key',
baseUrl: 'https://api.tabi.africa/api/v1',
});
// List channels
const channels = await tabi.channels.list();
// Send a WhatsApp message
await tabi.messages.send('channel-id', {
to: '2348012345678',
content: 'Hello from Tabi!',
});The npm package exports TypeScript types for request bodies (for example CreateApiKeyPayload, ChannelSendPayload) and JSDoc on methods for IDE parameter hints. Cross-check the public API docs for full request and response schemas.
tabi/sdk on Packagist
Install
composer require tabi/sdkQuick start
<?php
use Tabi\SDK\TabiClient;
$tabi = new TabiClient(
'tk_your_api_key',
'https://api.tabi.africa/api/v1'
);
// List channels
$channels = $tabi->channels()->list();
// Send a WhatsApp message
$tabi->messages()->send('channel-id', [
'to' => '2348012345678',
'content' => 'Hello from Tabi!',
]);Install: composer require tabi/sdk. Full method reference: vendor/tabi/sdk/README.md (includes hosted OTP: sendOtp, verifyOtp). Product overview: tabi.africa/sdks.
tabi-sdk on PyPI
Install
pip install tabi-sdkQuick start
import os
from tabi_sdk import TabiClient
client = TabiClient(
api_key=os.environ["TABI_API_KEY"],
base_url="https://api.tabi.africa/api/v1",
)
client.messages.send(
"channel-id",
{"to": "2348012345678", "content": "Hello from Python!"},
)Same REST layout as the JS client (TabiClient resource groups). See the package README for send payloads, webhooks, and OTP helpers.
tabi/laravel-sdk on Packagist
Install
composer require tabi/laravel-sdkQuick start
<?php
use Tabi\Laravel\Facades\Tabi;
// Send (configure TABI_API_KEY in .env; provider auto-discovers)
Tabi::messages()->send('channel-id', [
'to' => '2348012345678',
'content' => 'Hello from Laravel!',
]);Wraps tabi/sdk with a service provider and Tabi facade. Set TABI_API_KEY and optional TABI_BASE_URL in .env.
tabi_sdk on pub.dev
Install
# pubspec.yaml
dependencies:
tabi_sdk: ^0.1.0Or run: flutter pub add tabi_sdk
Quick start
import 'package:tabi_sdk/tabi_sdk.dart';
Future<void> main() async {
final tabi = TabiClient(
'tk_your_api_key',
baseUrl: 'https://api.tabi.africa/api/v1',
);
await tabi.channels().list();
await tabi.messages().send('channel-id', {
'to': '2348012345678',
'content': 'Hello from Flutter / Dart!',
});
}Use the same TabiClient in Flutter mobile apps, CLI, or server-side Dart. See pub.dev for the latest constraint and changelog.
Every REST path is described in OpenAPI at /api-docs. The dashboard API reference includes Try it out for authenticated sessions.