PHP code example of ashrafcodes / wasenderapi-laravel

1. Go to this page and download the library: Download ashrafcodes/wasenderapi-laravel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

ashrafcodes / wasenderapi-laravel example snippets


use AshrafCodes\WasenderApi\Facades\WasenderApi;

WasenderApi::messages()->text('+1234567890', 'مرحبا من Laravel');

use AshrafCodes\WasenderApi\Facades\WasenderApi;

WasenderApi::messages()->text('+1234567890', 'مرحبا من Laravel');

WasenderApi::messages()->image(
    to: '+1234567890',
    imageUrl: 'https://example.com/image.jpg',
    text: 'صورة مع تعليق'
);

WasenderApi::messages()->video(
    to: '+1234567890',
    videoUrl: 'https://example.com/video.mp4',
    text: 'فيديو جديد'
);

WasenderApi::messages()->document(
    to: '+1234567890',
    documentUrl: 'https://example.com/report.pdf',
    text: 'التقرير',
    fileName: 'report.pdf'
);

WasenderApi::messages()->location(
    to: '+1234567890',
    latitude: 37.7749,
    longitude: -122.4194,
    name: 'Company HQ',
    address: 'San Francisco'
);

WasenderApi::messages()->poll(
    to: '+1234567890',
    question: 'ما اللون المفضل؟',
    options: ['Blue', 'Green', 'Red'],
    multiSelect: false
);

WasenderApi::messages()->info('MESSAGE_ID');
WasenderApi::messages()->edit('MESSAGE_ID', 'النص الجديد');
WasenderApi::messages()->delete('MESSAGE_ID');
WasenderApi::messages()->resend(100000);

WasenderApi::messages()->markAsRead([
    'id' => 'MESSAGE_ID',
    'remoteJid' => '[email protected]',
    'fromMe' => false,
]);

WasenderApi::messages()->uploadBase64(
    base64: 'data:image/png;base64,iVBORw0KGgo...'
);

WasenderApi::messages()->uploadBinary(
    path: storage_path('app/photo.jpg'),
    mimetype: 'image/jpeg'
);

WasenderApi::messages()->decryptMedia($payload['data']);

WasenderApi::sessions()->all();

WasenderApi::sessions()->create([
    'name' => 'Main WhatsApp',
    'webhook_url' => 'https://your-app.com/wasenderapi/webhook',
]);

WasenderApi::sessions()->get(1);
WasenderApi::sessions()->update(1, ['name' => 'Sales']);
WasenderApi::sessions()->connect(1);
WasenderApi::sessions()->qrCode(1);
WasenderApi::sessions()->restart(1);
WasenderApi::sessions()->disconnect(1);
WasenderApi::sessions()->delete(1);
WasenderApi::sessions()->messageLogs(1, ['page' => 1]);
WasenderApi::sessions()->logs(1);
WasenderApi::sessions()->regenerateApiKey(1);

WasenderApi::sessions()->status();
WasenderApi::sessions()->user();
WasenderApi::sessions()->isOnWhatsApp('+1234567890');
WasenderApi::sessions()->sendPresenceUpdate('[email protected]', 'typing');

WasenderApi::contacts()->all();
WasenderApi::contacts()->get('+1234567890');
WasenderApi::contacts()->picture('+1234567890');
WasenderApi::contacts()->block('+1234567890');
WasenderApi::contacts()->unblock('+1234567890');

WasenderApi::contacts()->createOrUpdate([
    'phone' => '+1234567890',
    'name' => 'Customer',
]);

WasenderApi::contacts()->lidFromPhoneNumber('+1234567890');
WasenderApi::contacts()->phoneNumberFromLid('lid-value');

WasenderApi::groups()->create('Team', ['+1234567890', '+1987654321']);
WasenderApi::groups()->all();
WasenderApi::groups()->metadata('[email protected]');
WasenderApi::groups()->participants('[email protected]');
WasenderApi::groups()->sendMessage('[email protected]', 'رسالة للمجموعة');
WasenderApi::groups()->addParticipants('[email protected]', ['+1234567890']);
WasenderApi::groups()->removeParticipants('[email protected]', ['+1234567890']);
WasenderApi::groups()->updateParticipants('[email protected]', ['+1234567890'], 'promote');
WasenderApi::groups()->picture('[email protected]');
WasenderApi::groups()->inviteLink('[email protected]');
WasenderApi::groups()->inviteInfo('INVITE_CODE');
WasenderApi::groups()->acceptInvite('INVITE_CODE');
WasenderApi::groups()->leave('[email protected]');

WasenderApi::channels()->sendMessage('120363xxxx@newsletter', 'رسالة للقناة');

WasenderApi::channels()->send([
    'to' => '120363xxxx@newsletter',
    'text' => 'رسالة مخصصة',
]);

use AshrafCodes\WasenderApi\Events\WasenderWebhookReceived;
use Illuminate\Support\Facades\Event;

Event::listen(WasenderWebhookReceived::class, function (WasenderWebhookReceived $event) {
    logger()->info('Wasender event received', [
        'event' => $event->event,
        'data' => $event->data,
    ]);
});

WasenderApi::get('status');

WasenderApi::post('send-message', [
    'to' => '+1234567890',
    'text' => 'رسالة عامة',
]);

WasenderApi::put('contacts', [
    'phone' => '+1234567890',
    'name' => 'Ali',
]);

WasenderApi::delete('messages/MESSAGE_ID');

use AshrafCodes\WasenderApi\Exceptions\WasenderApiException;

try {
    WasenderApi::messages()->text('+1234567890', 'Hello');
} catch (WasenderApiException $exception) {
    report($exception);
}

use AshrafCodes\WasenderApi\Facades\WasenderApi;

WasenderApi::messages()->text('+1234567890', 'Hello from Laravel');

use AshrafCodes\WasenderApi\Facades\WasenderApi;

WasenderApi::messages()->text('+1234567890', 'Hello from Laravel');

WasenderApi::messages()->image(
    to: '+1234567890',
    imageUrl: 'https://example.com/image.jpg',
    text: 'Image caption'
);

WasenderApi::messages()->video(
    to: '+1234567890',
    videoUrl: 'https://example.com/video.mp4',
    text: 'New video'
);

WasenderApi::messages()->document(
    to: '+1234567890',
    documentUrl: 'https://example.com/report.pdf',
    text: 'Report file',
    fileName: 'report.pdf'
);

WasenderApi::messages()->location(
    to: '+1234567890',
    latitude: 37.7749,
    longitude: -122.4194,
    name: 'Company HQ',
    address: 'San Francisco'
);

WasenderApi::messages()->poll(
    to: '+1234567890',
    question: 'What is your favorite color?',
    options: ['Blue', 'Green', 'Red'],
    multiSelect: false
);

WasenderApi::messages()->info('MESSAGE_ID');
WasenderApi::messages()->edit('MESSAGE_ID', 'Updated text');
WasenderApi::messages()->delete('MESSAGE_ID');
WasenderApi::messages()->resend(100000);

WasenderApi::messages()->markAsRead([
    'id' => 'MESSAGE_ID',
    'remoteJid' => '[email protected]',
    'fromMe' => false,
]);

WasenderApi::messages()->uploadBase64(
    base64: 'data:image/png;base64,iVBORw0KGgo...'
);

WasenderApi::messages()->uploadBinary(
    path: storage_path('app/photo.jpg'),
    mimetype: 'image/jpeg'
);

WasenderApi::messages()->decryptMedia($payload['data']);

WasenderApi::sessions()->all();

WasenderApi::sessions()->create([
    'name' => 'Main WhatsApp',
    'webhook_url' => 'https://your-app.com/wasenderapi/webhook',
]);

WasenderApi::sessions()->get(1);
WasenderApi::sessions()->update(1, ['name' => 'Sales']);
WasenderApi::sessions()->connect(1);
WasenderApi::sessions()->qrCode(1);
WasenderApi::sessions()->restart(1);
WasenderApi::sessions()->disconnect(1);
WasenderApi::sessions()->delete(1);
WasenderApi::sessions()->messageLogs(1, ['page' => 1]);
WasenderApi::sessions()->logs(1);
WasenderApi::sessions()->regenerateApiKey(1);

WasenderApi::sessions()->status();
WasenderApi::sessions()->user();
WasenderApi::sessions()->isOnWhatsApp('+1234567890');
WasenderApi::sessions()->sendPresenceUpdate('[email protected]', 'typing');

WasenderApi::contacts()->all();
WasenderApi::contacts()->get('+1234567890');
WasenderApi::contacts()->picture('+1234567890');
WasenderApi::contacts()->block('+1234567890');
WasenderApi::contacts()->unblock('+1234567890');

WasenderApi::contacts()->createOrUpdate([
    'phone' => '+1234567890',
    'name' => 'Customer',
]);

WasenderApi::contacts()->lidFromPhoneNumber('+1234567890');
WasenderApi::contacts()->phoneNumberFromLid('lid-value');

WasenderApi::groups()->create('Team', ['+1234567890', '+1987654321']);
WasenderApi::groups()->all();
WasenderApi::groups()->metadata('[email protected]');
WasenderApi::groups()->participants('[email protected]');
WasenderApi::groups()->sendMessage('[email protected]', 'Group message');
WasenderApi::groups()->addParticipants('[email protected]', ['+1234567890']);
WasenderApi::groups()->removeParticipants('[email protected]', ['+1234567890']);
WasenderApi::groups()->updateParticipants('[email protected]', ['+1234567890'], 'promote');
WasenderApi::groups()->picture('[email protected]');
WasenderApi::groups()->inviteLink('[email protected]');
WasenderApi::groups()->inviteInfo('INVITE_CODE');
WasenderApi::groups()->acceptInvite('INVITE_CODE');
WasenderApi::groups()->leave('[email protected]');

WasenderApi::channels()->sendMessage('120363xxxx@newsletter', 'Channel message');

WasenderApi::channels()->send([
    'to' => '120363xxxx@newsletter',
    'text' => 'Custom channel message',
]);

use AshrafCodes\WasenderApi\Events\WasenderWebhookReceived;
use Illuminate\Support\Facades\Event;

Event::listen(WasenderWebhookReceived::class, function (WasenderWebhookReceived $event) {
    logger()->info('Wasender event received', [
        'event' => $event->event,
        'data' => $event->data,
    ]);
});

WasenderApi::get('status');

WasenderApi::post('send-message', [
    'to' => '+1234567890',
    'text' => 'Generic message',
]);

WasenderApi::put('contacts', [
    'phone' => '+1234567890',
    'name' => 'Ali',
]);

WasenderApi::delete('messages/MESSAGE_ID');

use AshrafCodes\WasenderApi\Exceptions\WasenderApiException;

try {
    WasenderApi::messages()->text('+1234567890', 'Hello');
} catch (WasenderApiException $exception) {
    report($exception);
}
bash
php artisan vendor:publish --tag=wasenderapi-config
text
POST /wasenderapi/webhook
bash
php artisan vendor:publish --tag=wasenderapi-config
text
POST /wasenderapi/webhook