PHP code example of aristide / nimbasms

1. Go to this page and download the library: Download aristide/nimbasms 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/ */

    

aristide / nimbasms example snippets


use Nimbasms\Nimbasms\Facades\Nimbasms;
use Nimbasms\Nimbasms\Exceptions\NimbaSmsException;

try {
    $account = Nimbasms::account();
} catch (NimbaSmsException $exception) {
    report($exception);
}

$account = Nimbasms::account();

$account['sms_balance'];
$account['whatsapp_balance'];

Nimbasms::sendSms('624000000', 'Bonjour depuis Nimba SMS');

Nimbasms::sendSms(['624000000', '625000000'], 'Message groupé', 'MASOCIETE');

Nimbasms::sendWhatsApp('624000000', 'commande_confirmee', [
    'Fodé',
    '45 000 GNF',
]);

Nimbasms::messages()->send([
    'channel' => 'whatsapp',
    'to' => ['624000000'],
    'template_name' => 'commande_confirmee',
    'template_variables' => [
        'body' => [
            '1' => 'Fodé',
            '2' => '45 000 GNF',
        ],
    ],
]);

Nimbasms::messages()->get('11111111-1111-1111-1111-111111111111');

$verification = Nimbasms::verifications()->request(
    to: '624000000',
    message: 'Votre code de vérification est <1234>',
    expiryTime: 5,
    attempts: 3,
    codeLength: 4,
    channels: ['sms', 'whatsapp'],
    language: 'fr',
);

$result = Nimbasms::verifications()->check(
    $verification['verificationid'],
    '1234',
);

$result['status']; // approved, expired, too_many_attemps, ...

Nimbasms::contacts()->list(limit: 50, offset: 0);

Nimbasms::contacts()->create([
    'name' => 'Utilisateur Test',
    'numero' => '624000000',
    'groups' => ['TestGroup'],
]);

Nimbasms::groups()->list();
Nimbasms::senderNames()->list();
Nimbasms::purchases()->list();

$extensions = Nimbasms::extensions();

$extension = $extensions->create([
    'name' => 'Acme',
    'category' => 'communication',
    'description' => 'Intégration Acme',
    'base_api_url' => 'https://api.acme.com',
    'auth_type' => 'none',
    'is_paid' => false,
]);

$extensions->updateLogo($extension['extensionid'], storage_path('app/logo.png'));
$extensions->publish($extension['extensionid']);

$actions = $extensions->actions($extension['extensionid']);
$actions->create([
    'name' => 'Send',
    'method' => 'POST',
    'endpoint' => '/send',
    'description' => 'Envoyer un message',
]);

use Illuminate\Http\Request;
use Nimbasms\Nimbasms\Facades\Nimbasms;

Route::post('/webhooks/nimbasms', function (Request $request) {
    $payload = Nimbasms::parseWebhook($request->all());

    // $payload->messageId, $payload->status, $payload->contact

    return response()->json(['status' => 'OK']);
});

use Illuminate\Support\Facades\Http;
use Nimbasms\Nimbasms\Facades\Nimbasms;

Http::fake([
    'https://api.nimbasms.com/v1/messages' => Http::response([
        'messageid' => '11111111-1111-1111-1111-111111111111',
        'message_cost' => 1,
        'url' => 'https://api.nimbasms.com/v1/messages/11111111-1111-1111-1111-111111111111',
    ], 201),
]);

Nimbasms::sendSms('624000000', 'Test');

Http::assertSentCount(1);
bash
php artisan vendor:publish --tag="nimbasms-config"