PHP code example of aristech / nimbasms

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

    

aristech / nimbasms example snippets


return [
    'serviceId' => env('NIMBA_SMS_SERVICE_ID', ''),
    'secret'    => env('NIMBA_SMS_SECRET', ''),
    'baseUrl'   => env('NIMBA_SMS_BASE_URL', 'https://api.nimbasms.com/'),
    // Contrôle de la vérification SSL (important en production)
    'ssl_verify'=> filter_var(env('NIMBA_SMS_SSL_VERIFY', true), FILTER_VALIDATE_BOOLEAN),
];

use Aristech\NimbaSms\Contracts\SmsClientInterface;

class SmsController extends Controller
{
    protected SmsClientInterface $smsClient;

    public function __construct(SmsClientInterface $smsClient)
    {
        $this->smsClient = $smsClient;
    }
}

try {
    $response = $this->smsClient->send(
        'MonEntreprise',           // Nom de l'expéditeur
        ['+22457123456'],          // Liste des destinataires
        'Votre message ici'        // Contenu du message
    );
    
    // Traitement de la réponse
    return response()->json($response);
    
} catch (NimbaSmsException $e) {
    // Gestion des erreurs
    return response()->json([
        'error' => $e->getMessage(),
        'details' => $e->getErrorDetails()
    ], 400);
}

// Création d'un contact
$response = $smsClient->createContact(
    'John Doe',                   // Nom
    ['Clients', 'VIP'],           // Groupes
    '+22457123456'                // Numéro
);

// Mise à jour d'un contact
$response = $smsClient->updateContact(
    'contact_id',
    'John Doe Updated',
    ['Clients'],
    '+22457123456'
);

// Suppression d'un contact
$response = $smsClient->deleteContact('contact_id');

// Liste des contacts
$contacts = $smsClient->getContacts();

// Création d'un groupe
$response = $smsClient->createGroup('Nouveau Groupe');

// Mise à jour d'un groupe
$response = $smsClient->updateGroup('group_id', 'Nouveau Nom');

// Suppression d'un groupe
$response = $smsClient->deleteGroup('group_id');

// Liste des groupes
$groups = $smsClient->getGroups();

// Envoi d'un code de vérification
$response = $smsClient->createVerification('+22457123456');

// Validation du code
$response = $smsClient->validateVerification(
    '+22457123456',              // Numéro
    '123456'                     // Code reçu
);

$response = $smsClient->scheduleSms(
    'MonEntreprise',             // Expéditeur
    ['+22457123456'],            // Destinataires
    'Message programmé',         // Contenu
    '2024-12-31 23:59:59'         // Date d'envoi
);

// Récupération d'un message spécifique
$message = $smsClient->getMessageById('message_id');

// Rapport de livraison d'un message
$report = $smsClient->getDeliveryReport('message_id');

// Liste des messages envoyés
$messages = $smsClient->getMessages();

try {
    $response = $smsClient->send($sender, $recipients, $message);
} catch (NimbaSmsException $e) {
    // Code d'erreur spécifique
    $errorCode = $e->getErrorCode();
    
    // Détails supplémentaires de l'erreur
    $details = $e->getErrorDetails();
    
    // Message d'erreur
    $message = $e->getMessage();
    
    // Log de l'erreur
    Log::error('Erreur Nimba SMS', [
        'message' => $message,
        'code' => $errorCode,
        'details' => $details
    ]);
}
bash
php artisan vendor:publish --tag=config
env
NIMBA_SMS_SERVICE_ID=votre_service_id
NIMBA_SMS_SECRET=votre_secret
NIMBA_SMS_BASE_URL=https://api.nimbasms.com/
# Désactivez la vérification SSL en développement (à activer en production)
NIMBA_SMS_SSL_VERIFY=false