v1.0.0 - Laravel 12 Ready

GsmSdk

Dhru Fusion API SDK for Laravel with Livewire Admin Dashboard. Built with PHP 8.4 features and modern Tailwind CSS.

Powerful Features

Everything you need to integrate Dhru Fusion API into your Laravel application.

PHP 8.4 Features

Property Hooks, Asymmetric Visibility for better encapsulation and developer experience.

6 API Actions

Full support for accountinfo, imeiservicelist, placeimeiorder, placeimeiorderbulk, getimeiorder, getimeiorderbulk.

Livewire Dashboard

Beautiful admin dashboard with Tailwind CSS. Manage orders, services, and settings.

Secure API Keys

UUID format validation (GSMSDK-XXXXXXXX-XXXX-XXXX-XXXX) with automatic masking.

Action Pattern

Scalable, modular API handling with the Action pattern. Easy to extend and maintain.

Eloquent Models

Built-in models for orders and services with full relationship support.

Installation

Get started in minutes with simple composer installation

1 Install Package

composer require shamimstack/gsmsdk

2 Publish Config

php artisan vendor:publish --provider="ShamimStack\GsmSdk\GsmSdkServiceProvider" --tag="gsmsdk-config"

3 Configure .env

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

4 Run Migrations

php artisan migrate

Dashboard Routes

/gsmsdk/dashboard Main dashboard
/gsmsdk/services Service list
/gsmsdk/orders Order list
/gsmsdk/orders/create Place order
/gsmsdk/settings API settings

Usage

Simple and intuitive API facade for all operations

Get Account Info

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
//     ]
// ]

Get Service List

$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'],
//             ...
//         ]
//     ]
// ]

Place IMEI Order

$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'
//     ]
// ]

Get Order Status

$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 Order

$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
//     ]
// ]
LIVE
STEP
01
FPS
60
SPEED
1x
MINIMAP
CL
AC
DB
LW

How It Works

Interactive Architecture & Data Flow

GsmSdk Architecture & Data Flow D Laravel Client Web/Mobile/App GsmSdk Facade Static API GsmSdkClient Core SDK DhruAction Action Pattern Laravel HTTP POST Request Dhru Fusion External API Database Orders/Services Livewire Admin Dashboard
Zoom: 100%
1
Client Request
User initiates request from Laravel application

Entity Relationship Diagram

Database schema and relationships with live visual connections (Drag cards to reposition)

users

Laravel users table

Column Type
id BIGINT PK
name VARCHAR(255)
email VARCHAR(255)
password VARCHAR(255)
hasMany → 1:N

gsmsdk_orders

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)
belongsTo ← N:1

gsmsdk_services

Available services

Column Type
id BIGINT PK
service_id VARCHAR(50)
service_name VARCHAR(255)
price DECIMAL(10,2)
is_active BOOLEAN
hasMany → 1:N

Relationship Legend

hasMany (1:N)
One to Many
belongsTo (N:1)
Many to One
Foreign Keys
user_id, service_id

API Request Flow Scenario

User → Request → API Server ← Response Flow (Interactive)

REQ API RES

User / Client

Laravel Application

GsmSdk::placeImeiOrder(
  '123456789012345',
  358
);
→ POST /api/placeorder
   {imei, serviceId}
← Response: 200 OK
   {order_id: 12345}

API Gateway

Dhru Fusion API

→ Validating IMEI...
→ Checking Balance...
⚡ Processing:
   IMEI: 123456789012345
   Service: 358
   Price: $18.00
✅ Order Placed!
   ID: 1004523
   Status: Pending

Server / DB

Data Processing

Waiting for request...
💾 INSERT INTO orders
   (imei, service_id)
   VALUES
   ('123456789012345', 358)
✅ Saved: order_id=12345
✅ Balance: $18.00

Request

API Request Details

Field Value
Method POST
Endpoint /api/placeorder
IMEI 123456789012345
Service ID 358
Price $18.00
Signature md5(username+api_key)

Response

API Response Details

Field Value
Status 200 OK
SUCCESS true
Order ID 1004523
Status Pending
ETA 1-24 Hours
Time 245ms

Workflow Simulations

Interactive step-by-step workflow demonstrations with live animation

Auto-playing every 1.5s

Place IMEI Order Workflow

1

Input IMEI

User enters 15-digit IMEI number and selects service

2

Validate

System validates IMEI format and checks service

3

API Request

Sends POST request to Dhru Fusion API

4

Process

API processes order and returns order ID

5

Save & Return

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
Total Cost: $18.00 USD

Check Account Balance Workflow

Bulk Order Workflow

Check Order Status Workflow

Sync Services Workflow

Real-time Data Flow Animation

Client
Facade
SDK
DB

Live Simulation

Try the API interactions in real-time

API Simulation

API Response

ms SUCCESS ERROR

                

Click "Execute API Call" to see the response

Request Preview