1. Go to this page and download the library: Download virtualsmslabs/php-sdk 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/ */
virtualsmslabs / php-sdk example snippets
irtualSMS\VirtualSMSClient;
use VirtualSMS\Constants\ActivationStatus;
$client = new VirtualSMSClient('YOUR_API_KEY', 'https://api.virtualsms.de');
// Check balance
$balance = $client->getBalance();
echo "Balance: $" . $balance->balance . PHP_EOL;
// Order a WhatsApp number in Brazil
$number = $client->getNumber('wa', 73, maxPrice: 2.00);
echo "Number: {$number->phoneNumber} (ID: {$number->activationId})" . PHP_EOL;
// Set status to ready (SMS sent)
$client->setStatus($number->activationId, ActivationStatus::READY);
// Poll for SMS code
$status = $client->getStatus($number->activationId);
if ($status->code !== null) {
echo "SMS code: {$status->code}" . PHP_EOL;
// Complete the activation
$client->setStatus($number->activationId, ActivationStatus::COMPLETE);
}
$client = new VirtualSMSClient(
string $apiKey, // Your API key (s.de')
?TransportInterface $transport = null // Optional custom transport
);
use VirtualSMS\Constants\ActivationStatus;
$client->setStatus($activationId, ActivationStatus::READY); // 1 - SMS sent
$client->setStatus($activationId, ActivationStatus::RETRY); // 3 - Request another SMS
$client->setStatus($activationId, ActivationStatus::COMPLETE); // 6 - Finish
$client->setStatus($activationId, ActivationStatus::CANCEL); // 8 - Cancel
$status = $client->getStatus($activationId);
echo $status->status; // STATUS_OK, STATUS_WAIT_CODE, STATUS_CANCEL
echo $status->code; // 123456 (null if not yet received)
ActivationStatus::READY // 1 - SMS has been sent to the number
ActivationStatus::RETRY // 3 - Request another SMS code
ActivationStatus::COMPLETE // 6 - Finish activation
ActivationStatus::CANCEL // 8 - Cancel activation
use VirtualSMS\Exceptions\RateLimitException;
try {
$client->getNumber('wa', 73);
} catch (RateLimitException $e) {
echo "Rate limited. Retry after {$e->retryAfter} seconds." . PHP_EOL;
echo "Limit: {$e->rateLimitLimit}, Remaining: {$e->rateLimitRemaining}" . PHP_EOL;
// $e->rateLimitLimit and $e->rateLimitRemaining may be null if
// the API did not
use VirtualSMS\Transport\TransportInterface;
use VirtualSMS\Transport\Response;
class MyTransport implements TransportInterface
{
public function send(string $url, array $headers = []): Response
{
// Your HTTP implementation
return new Response(200, 'ACCESS_BALANCE:10.50');
}
}
$client = new VirtualSMSClient('API_KEY', 'https://api.example.com', new MyTransport());
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.