Dhru Fusion API SDK for Laravel with Livewire Admin Dashboard. Built with PHP 8.4 features and modern Tailwind CSS.
Everything you need to integrate Dhru Fusion API into your Laravel application.
Property Hooks, Asymmetric Visibility for better encapsulation and developer experience.
Full support for accountinfo, imeiservicelist, placeimeiorder, placeimeiorderbulk, getimeiorder, getimeiorderbulk.
Beautiful admin dashboard with Tailwind CSS. Manage orders, services, and settings.
UUID format validation (GSMSDK-XXXXXXXX-XXXX-XXXX-XXXX) with automatic masking.
Scalable, modular API handling with the Action pattern. Easy to extend and maintain.
Built-in models for orders and services with full relationship support.
Get started in minutes with simple composer installation
composer require shamimstack/gsmsdk
php artisan vendor:publish --provider="ShamimStack\GsmSdk\GsmSdkServiceProvider" --tag="gsmsdk-config"
GMSDK_API_DOMAIN=https://your-dhru-api-domain.com
GMSDK_API_USERNAME=your_username
GMSDK_API_KEY=GSMSDK-XXXXXXXX-XXXX-XXXX-XXXX
GMSDK_API_TIMEOUT=30
GMSDK_CURRENCY=USD
php artisan migrate
/gsmsdk/dashboard
Main dashboard
/gsmsdk/services
Service list
/gsmsdk/orders
Order list
/gsmsdk/orders/create
Place order
/gsmsdk/settings
API settings
Simple and intuitive API facade for all operations
use ShamimStack\GsmSdk\Facades\GsmSdk;
$account = GsmSdk::getAccountInfo();
// Returns:
// [
// 'SUCCESS' => true,
// 'RESULT' => [
// 'ID' => 12345,
// 'USERNAME' => 'shamim_gsm',
// 'BALANCE' => 1250.75,
// 'CURRENCY' => 'USD',
// 'STATUS' => 'Active',
// 'MONTHLYLIMIT' => 5000,
// 'ORDERSTHISMONTH' => 847
// ]
// ]
$services = GsmSdk::getServiceList();
// Returns:
// [
// 'SUCCESS' => true,
// 'RESULT' => [
// 'TOTAL' => 156,
// 'SERVICES' => [
// ['SERVICEID' => 358, 'SERVICENAME' => 'iPhone 14 Pro Max - UK T-Mobile', 'CREDIT' => 18.00, 'TIME' => '1-24 Hours'],
// ['SERVICEID' => 362, 'SERVICENAME' => 'Samsung S24 Ultra - USA AT&T', 'CREDIT' => 25.50, 'TIME' => '24-48 Hours'],
// ...
// ]
// ]
// ]
$order = GsmSdk::placeImeiOrder(
'861234567890123', // IMEI (15 digits)
358, // Service ID (iPhone 14 Pro Max - UK T-Mobile)
['notes' => 'Unlock iPhone 14 Pro Max']
);
// Returns:
// [
// 'SUCCESS' => true,
// 'RESULT' => [
// 'ID' => 1004523,
// 'IMEI' => '861234567890123',
// 'SERVICEID' => 358,
// 'STATUS' => 'Pending',
// 'COST' => 18.00,
// 'ETA' => '1-24 Hours'
// ]
// ]
$status = GsmSdk::getImeiOrder(1004523);
// Returns:
// [
// 'SUCCESS' => true,
// 'RESULT' => [
// 'ID' => 1004523,
// 'IMEI' => '861234567890123',
// 'STATUS' => 'Completed',
// 'CODE' => '352099001234567', // Unlock code
// 'DONETIME' => '2025-02-28 10:45:30',
// 'SERVICENAME' => 'iPhone 14 Pro Max - UK T-Mobile'
// ]
// ]
$bulk = GsmSdk::placeImeiOrderBulk([
['imei' => '861234567890123', 'serviceid' => 358],
['imei' => '869876543210987', 'serviceid' => 358],
['imei' => '358987654321012', 'serviceid' => 371],
], 50);
// Returns:
// [
// 'SUCCESS' => true,
// 'RESULT' => [
// 'BULKID' => 'BLK-20250228123456',
// 'TOTALORDERS' => 3,
// 'ACCEPTED' => 3,
// 'TOTALCOST' => 48.00
// ]
// ]
Interactive Architecture & Data Flow
Database schema and relationships with live visual connections (Drag cards to reposition)
Laravel users table
| Column | Type |
|---|---|
| id | BIGINT PK |
| name | VARCHAR(255) |
| VARCHAR(255) | |
| password | VARCHAR(255) |
Order records
| Column | Type |
|---|---|
| id | BIGINT PK |
| user_id | BIGINT FK |
| service_id | INT FK |
| order_number | VARCHAR(50) |
| imei | VARCHAR(15) |
| status | ENUM |
| price | DECIMAL(10,2) |
Available services
| Column | Type |
|---|---|
| id | BIGINT PK |
| service_id | VARCHAR(50) |
| service_name | VARCHAR(255) |
| price | DECIMAL(10,2) |
| is_active | BOOLEAN |
User → Request → API Server ← Response Flow (Interactive)
Laravel Application
GsmSdk::placeImeiOrder( '123456789012345', 358 );
→ POST /api/placeorder
{imei, serviceId}
← Response: 200 OK
{order_id: 12345}
Dhru Fusion API
→ Validating IMEI... → Checking Balance...
⚡ Processing: IMEI: 123456789012345 Service: 358 Price: $18.00
✅ Order Placed! ID: 1004523 Status: Pending
Data Processing
Waiting for request...
💾 INSERT INTO orders
(imei, service_id)
VALUES
('123456789012345', 358)
✅ Saved: order_id=12345 ✅ Balance: $18.00
API Request Details
| Field | Value |
|---|---|
| Method | POST |
| Endpoint | /api/placeorder |
| IMEI | 123456789012345 |
| Service ID | 358 |
| Price | $18.00 |
| Signature | md5(username+api_key) |
API Response Details
| Field | Value |
|---|---|
| Status | 200 OK |
| SUCCESS | true |
| Order ID | 1004523 |
| Status | Pending |
| ETA | 1-24 Hours |
| Time | 245ms |
Interactive step-by-step workflow demonstrations with live animation
User enters 15-digit IMEI number and selects service
System validates IMEI format and checks service
Sends POST request to Dhru Fusion API
API processes order and returns order ID
Order saved to database
// Step 1: User inputs IMEI $imei = '861234567890123'; $serviceId = 358; // Get service details first $services = GsmSdk::getServiceList(); $service = $services->firstWhere('SERVICEID', $serviceId);// Step 2: Validate input & check balance if (strlen($imei) !== 15) { throw new \Exception('Invalid IMEI format'); } $account = GsmSdk::getAccountInfo(); if ($account['BALANCE'] < $service['CREDIT']) { throw new \Exception('Insufficient balance'); }// Step 3: Call API $response = GsmSdk::placeImeiOrder( imei: $imei, serviceId: $serviceId, notes: 'Unlock iPhone 14 Pro Max' );// Step 4: API returns order $orderId = $response['RESULT']['ID']; // Order: 1004523 // Status: Pending echo "Order placed: #{$orderId}";// Step 5: Save to database $order = GsmOrder::create([ 'imei' => $imei, 'api_order_id' => $orderId, 'service_id' => $serviceId, 'status' => 'pending', 'cost' => 18.00, 'user_id' => auth()->id() ]);
| Field | Value | Type |
|---|---|---|
| imei | 861234567890123 | string |
| service_id | 358 | integer |
| order_id | 1004523 | integer |
| status | Pending | enum |
| cost | 18.00 USD | decimal |
Try the API interactions in real-time
| Field | Value |
|---|---|
| ID | Service Name | Price | Time |
|---|---|---|---|
| IMEI | Order ID | Status | Unlock Code |
|---|---|---|---|
Click "Execute API Call" to see the response