PHPackages                             gradiwapp/gradiwapp-php-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. gradiwapp/gradiwapp-php-sdk

ActiveLibrary[API Development](/categories/api)

gradiwapp/gradiwapp-php-sdk
===========================

Official PHP SDK for GradiWapp External API - Multi-tenant WhatsApp SaaS Messaging Platform

v1.0.0(5mo ago)00MITPHPPHP &gt;=7.4

Since Nov 15Pushed 5mo agoCompare

[ Source](https://github.com/ahmednaserdev/gradiwapp-php-sdk)[ Packagist](https://packagist.org/packages/gradiwapp/gradiwapp-php-sdk)[ RSS](/packages/gradiwapp-gradiwapp-php-sdk/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Official PHP SDK for the GradiWapp External API (Multi-Tenant WhatsApp SaaS Messaging Platform)
===============================================================================================

[](#official-php-sdk-for-the-gradiwapp-external-api-multi-tenant-whatsapp-saas-messaging-platform)

 [![](https://camo.githubusercontent.com/ce0c70c519047d0e507604f03e6e8ae6c27bcc072027e899680d9bf93804dc76/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d372e342532422d626c7565)](https://camo.githubusercontent.com/ce0c70c519047d0e507604f03e6e8ae6c27bcc072027e899680d9bf93804dc76/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d372e342532422d626c7565) [![](https://camo.githubusercontent.com/e7de943d0d026343ad8105fc085d5244229f8dab293f115a1abe565046be475a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d372d2d31322d726564)](https://camo.githubusercontent.com/e7de943d0d026343ad8105fc085d5244229f8dab293f115a1abe565046be475a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d372d2d31322d726564) [![](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e)](https://camo.githubusercontent.com/5caa455d8debc46fb23abbadb45a733a937f3910a73fc875c2f7820468e1bb54/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e) [![](https://camo.githubusercontent.com/a4885636fad3efc81b3fcf575b03c8ccca1419e802de70d5a4519cbf0f2db61f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53444b2d537461626c652d73756363657373)](https://camo.githubusercontent.com/a4885636fad3efc81b3fcf575b03c8ccca1419e802de70d5a4519cbf0f2db61f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53444b2d537461626c652d73756363657373)

📘 Overview
----------

[](#-overview)

The GradiWapp PHP SDK provides a clean, developer-friendly wrapper around the GradiWapp External API, powering multi-tenant WhatsApp messaging at scale.

It supports:

- All message types (text, image, media, file, location…)
- Webhooks
- Timezone-aware scheduling
- Multi-session messaging
- Laravel 7–12 integration
- Full HMAC authentication

This SDK is production-ready and built with Stripe/Twilio-level documentation quality.

📑 Table of Contents
-------------------

[](#-table-of-contents)

- [Overview](#-overview)
- [Features](#-features)
- [Requirements](#-requirements)
- [Installation](#-installation)
    - [Non-Laravel](#non-laravel-installation)
    - [Laravel 7–12](#laravel-installation)
- [Configuration](#-configuration)
- [Quick Start](#-quick-start)
    - [Plain PHP](#plain-php-example)
    - [Laravel DI](#laravel--dependency-injection)
    - [Laravel Facade](#laravel--facade)
- [Messaging](#-messaging)
    - [Text](#text-messages)
    - [Image](#image-messages)
    - [Media](#media-messages)
    - [Location](#location-messages)
    - [Link](#link-messages)
    - [File](#file-messages)
    - [Contact](#contact-vcard)
    - [Reply](#reply-messages)
    - [Combined](#text--media-combination)
- [Scheduling](#-timezone-aware-scheduling)
- [Message Status](#-message-status)
- [Webhooks](#-webhooks)
- [Error Handling](#-error-handling)
- [Advanced Usage](#-advanced-usage)
- [Response Format](#-response-format)
- [Versioning](#-versioning--sdk-stability)
- [Contributing](#-contributing)
- [License](#-license)

🚀 Features
----------

[](#-features)

- ✔ Framework-agnostic (PHP 7.4+)
- ✔ First-class Laravel 7–12 integration
- ✔ Fully typed methods + PHPDoc
- ✔ Timezone-aware scheduling (ISO8601 + IANA)
- ✔ Webhook creation + signature verification
- ✔ All message types supported
- ✔ Clean exceptions &amp; error classes
- ✔ Internal base URL (cannot be changed)
- ✔ Production-ready architecture

🧩 Requirements
--------------

[](#-requirements)

ComponentVersionPHP&gt;= 7.4Laravel7 → 12ExtensionscURL + JSON📥 Installation
--------------

[](#-installation)

### Non-Laravel Installation

[](#non-laravel-installation)

```
composer require gradiwapp/gradiwapp-php-sdk
```

**Before publishing on Packagist:**

```
{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/ahmednaserdev/gradiwapp-php-sdk.git"
    }
  ],
  "require": {
    "gradiwapp/gradiwapp-php-sdk": "dev-main"
  }
}
```

### Laravel Installation

[](#laravel-installation)

```
composer require gradiwapp/gradiwapp-php-sdk
```

**Publish config:**

```
php artisan vendor:publish --provider="GradiWapp\Sdk\Laravel\GradiWappServiceProvider" --tag=config
```

This generates:

- `config/gradiwapp.php`

**Add environment variables:**

```
GRADIWAPP_API_KEY=your_key
GRADIWAPP_API_SECRET=your_secret
GRADIWAPP_TIMEOUT=30
GRADIWAPP_MAX_RETRIES=1
GRADIWAPP_VERIFY_SSL=true
```

> **Note:** Base URL is internal and cannot be changed.

⚡ Quick Start
-------------

[](#-quick-start)

### Plain PHP Example

[](#plain-php-example)

```
use GradiWapp\Sdk\Client;
use GradiWapp\Sdk\Config;

$config = new Config(
    apiKey: 'your_key',
    apiSecret: 'your_secret'
);

$client = new Client($config);

$response = $client->messages()->sendText(
    to: '+123456',
    body: 'Hello from GradiWapp!'
);
```

### Laravel — Dependency Injection

[](#laravel--dependency-injection)

```
public function send(GradiWapp\Sdk\Client $client)
{
    return $client->messages()->sendText(
        to: '+123456',
        body: 'Hello!'
    );
}
```

### Laravel — Facade

[](#laravel--facade)

```
use GradiWapp\Sdk\Laravel\Facades\GradiWapp;

GradiWapp::messages()->sendText('+123456', 'Hello!');
```

💬 Messaging
-----------

[](#-messaging)

### Text Messages

[](#text-messages)

```
$client->messages()->sendText('+123', 'Hello!');
```

### Image Messages

[](#image-messages)

```
$client->messages()->sendImage(
    '+123',
    'https://example.com/image.jpg',
    caption: 'Check this out!'
);
```

### Media Messages

[](#media-messages)

```
$client->messages()->sendMedia('+123', 'https://example.com/video.mp4');
```

### Location Messages

[](#location-messages)

```
$client->messages()->sendLocation(
    '+123',
    40.7128,
    -74.0060,
    name: 'NYC',
    address: 'New York'
);
```

### File Messages

[](#file-messages)

```
$client->messages()->sendFile(
    '+123',
    fileUrl: 'https://example.com/doc.pdf',
    filename: 'Invoice.pdf'
);
```

### Contact (vCard)

[](#contact-vcard)

```
$client->messages()->sendContact(
    '+123',
    contactsId: 'whatsapp_contact_id'
);
```

### Reply Messages

[](#reply-messages)

```
$client->messages()->sendReply(
    '+123',
    'This is a reply',
    replyToMessageId: '01ABC...'
);
```

### Text + Media Combination

[](#text--media-combination)

```
$client->messages()->sendBoth(
    '+123',
    'Hello!',
    mediaUrl: 'https://example.com/pic.jpg',
    caption: 'Nice image'
);
```

⏰ Timezone-Aware Scheduling
---------------------------

[](#-timezone-aware-scheduling)

### ISO8601 Example

[](#iso8601-example)

```
ScheduleOptions::fromIso8601('2025-11-15T08:02:00+03:00');
```

### IANA Timezone

[](#iana-timezone)

```
ScheduleOptions::at(
    new DateTimeImmutable('2025-11-15 08:00'),
    'Africa/Cairo'
);
```

📡 Message Status
----------------

[](#-message-status)

```
$client->messages()->getStatus('01ABC...');
```

🧩 Webhooks
----------

[](#-webhooks)

### Create Webhook

[](#create-webhook)

```
$client->webhooks()->create(
    'delivery',
    'https://yourdomain.com/webhooks',
    secret: 'secret'
);
```

### Verify Signature

[](#verify-signature)

```
Webhooks::verifySignature($payload, $signature, $secret);
```

❗ Error Handling
----------------

[](#-error-handling)

Built-in typed exceptions:

- `AuthenticationException`
- `ValidationException`
- `HttpException`
- `GradiWappException`

**Example:**

```
try {
    $client->messages()->sendText('+123', 'Hi');
} catch (ValidationException $e) {
    print_r($e->getErrors());
}
```

🔧 Advanced Usage
----------------

[](#-advanced-usage)

### Multiple Sessions

[](#multiple-sessions)

```
$client->messages()->sendText(
    '+123',
    'Hi',
    sessionId: 'session_01'
);
```

### Priority

[](#priority)

```
$client->messages()->sendText('+123', 'Hi', priority: 'high');
```

📦 Response Format
-----------------

[](#-response-format)

Your backend returns:

```
{
  "success": true,
  "message": "Message queued successfully",
  "data": {
    "id": "01ARZ3N...",
    "status": "queued"
  }
}
```

🧭 Versioning &amp; SDK Stability
--------------------------------

[](#-versioning--sdk-stability)

This SDK follows Semantic Versioning (SemVer):

- **MAJOR** → Breaking changes
- **MINOR** → New features
- **PATCH** → Bug fixes

🤝 Contributing
--------------

[](#-contributing)

Pull Requests are welcome!

📄 License
---------

[](#-license)

MIT License.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance74

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

175d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/25f909000d59f19804320ab59d505a176801493e8b7f883160e02d27c33bf4d1?d=identicon)[ahmednaserdev](/maintainers/ahmednaserdev)

---

Top Contributors

[![ahmednaserdev](https://avatars.githubusercontent.com/u/196178141?v=4)](https://github.com/ahmednaserdev "ahmednaserdev (4 commits)")

---

Tags

apilaravelsdkmessagingwhatsappgradiwapp

### Embed Badge

![Health badge](/badges/gradiwapp-gradiwapp-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/gradiwapp-gradiwapp-php-sdk/health.svg)](https://phpackages.com/packages/gradiwapp-gradiwapp-php-sdk)
```

###  Alternatives

[openai-php/laravel

OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with the Open AI API

3.7k7.6M74](/packages/openai-php-laravel)[mozex/anthropic-laravel

Anthropic PHP for Laravel is a supercharged PHP API client that allows you to interact with the Anthropic API

71226.4k1](/packages/mozex-anthropic-laravel)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

762.6k](/packages/scriptdevelop-whatsapp-manager)[missael-anda/laravel-whatsapp

A Whatsapp Business Cloud API wrapper for Laravel.

677.5k](/packages/missael-anda-laravel-whatsapp)[crenspire/laravel-whatsapp

Laravel WhatsApp Business API package

133.0k](/packages/crenspire-laravel-whatsapp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
