Download the PHP package tabi/sdk without Composer

On this page you can find all versions of the php package tabi/sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sdk

tabi/sdk

Official PHP SDK for the Tabi WhatsApp Business Messaging API.

Latest Stable Version


Table of Contents


Installation

Getting Started

Credential sources

Value Location
API key / JWT Dashboard → Developer → API Keys (or login flow for JWT)
Base URL https://api.tabi.africa/api/v1 (default when the second constructor argument is omitted)
Channel ID Dashboard → Channels → open a channel → copy the ID from the URL

Configuration


OTP over WhatsApp

Hosted OTP uses Tabi\SDK\Resources\Channels::sendOtp and verifyOtp, which map to POST /channels/{channelId}/otp/send and POST /channels/{channelId}/otp/verify on the Tabi API.

Hosted OTP (recommended)

  1. Create or reuse a workspace API key (or JWT) with the same scopes as messages()->send() (for example messages:send).
  2. Call sendOtp with the channel UUID and an E.164 phone value.
  3. Call verifyOtp with the same channel, phone, and the code the user submitted.

REST: POST /api/v1/channels/{channelId}/otp/send and POST /api/v1/channels/{channelId}/otp/verify.

Security: Call these endpoints only from server-side code. Client applications must talk to the integrator’s backend; the Tabi API key must not be embedded in mobile or browser clients.

Compliance and rate limits

Custom OTP (without hosted routes)

  1. Generate codes and store hashes in application-controlled storage (for example Redis).
  2. Deliver the code with messages()->send(), using messageClass and other fields as required by the HTTP API reference for transactional messages.

Resource groups (feature areas)

The SDK mirrors how the Tabi API is organised. Each method on TabiClient returns a resource object mapped to one REST area.

Group Client methods What it covers
Getting started auth(), workspaces() Login/register/tokens; workspaces, members, invites
Messaging & inbox channels(), messages(), conversations(), contacts(), quickReplies(), notifications() WhatsApp lines, sends, threads, people, shortcuts
Automations & campaigns automationTemplates(), automationInstalls(), campaigns() Template catalog, installed flows, broadcasts
Integrations apiKeys(), webhooks(), integrations() Keys (create with JWT), outbound webhooks, third-party links
Media & insights files(), analytics() Uploads, KPIs

Request parameters: Resource methods document JSON bodies and query maps in PHPDoc using array{ key: type, … } shapes. These mirror the REST DTOs in the HTTP API reference (OpenAPI schemas).


Resources

Auth

Login, register, refresh tokens, session helpers, and invite preview.


Channels

Create, list, connect, and manage WhatsApp channels.


Messages

Send text and rich messages, list timeline, reply, reactions, and media.


Contacts

Create, update, import, tags, and consent.


Conversations

List, update, resolve, reopen, and read state.


Webhooks

Subscriptions, delivery logs, secrets, and test capture.


API Keys

Create and manage API keys. Creating keys requires a user JWT from the dashboard (not an API key).

Field Type Required Description
name string yes Label in the dashboard
channelId string (UUID) no Restrict key to one channel
scopes string[] no e.g. ['channels:read', 'messages:send']; omit for full access in scope
expiresAt ISO 8601 string no Key stops working after this time

Files

List files, metadata, signed URLs, delete.


Campaigns

Draft, schedule, and control broadcast campaigns.


Automation Templates

Browse the template catalog.


Automation Installs

Install, configure, enable/disable, uninstall.


Quick Replies

Canned responses for agents.


Analytics

Dashboard and reporting ranges (pass date/query params as arrays).


Notifications

In-app notification inbox.


Integrations

Third-party providers (CRM, helpdesk, etc.).


Workspaces

Workspaces and team members.


Error Handling

Failed HTTP responses throw Tabi\SDK\TabiException with the status code and decoded body when available.

Common HTTP status codes

Status Meaning
400 Bad request — check your payload
401 Unauthorized — invalid or expired token
403 Forbidden — insufficient permissions
404 Not found
409 Conflict — duplicate or invalid state
429 Rate limited — retry with backoff
500 Server error — contact support

Return values

Successful responses that use the API’s { "success": true, "data": ... } envelope return the data value only (typically an array). Other successful shapes are returned as decoded JSON (mixed). Refer to the API docs for each endpoint’s schema.


Requirements


Related


Support


License

MIT — see LICENSE for details.


All versions of sdk with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-curl Version *
ext-json Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tabi/sdk contains the following files

Loading the files please wait ...