PHP code example of vzaps / sdk
1. Go to this page and download the library: Download vzaps/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/ */
vzaps / sdk example snippets
Zaps\Sdk\VZapsClient;
$vzaps = new VZapsClient(
clientToken: getenv('VZAPS_CLIENT_TOKEN'),
clientSecret: getenv('VZAPS_CLIENT_SECRET'),
);
$vzaps->messages()->sendText([
'instanceId' => 'VZKB8AU4S4CWY1SLXX4I5WJGRZQMDDFTV6',
'instanceToken' => getenv('VZAPS_INSTANCE_TOKEN'),
'phone' => '5511999999999',
'message' => 'Hello from VZaps',
]);
$token = $vzaps->auth()->getAccessToken();
$vzaps->messages()->sendText([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'phone' => '5511999999999',
'message' => 'Hello',
]);
$vzaps->messages()->sendImage([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'phone' => '5511999999999',
'image' => 'https://example.com/photo.jpg',
'caption' => 'Check this out',
]);
$instance = $vzaps->request('POST', '/instances/get', ['id' => 'VZ...']);
$vzaps->messages()->sendText([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'phone' => '5511999999999',
'message' => 'Hello',
]);
$vzaps->webhooks()->set([
'instanceId' => 'VZ...',
'instanceToken' => 'instance-token',
'webhookURL' => 'https://example.com/webhooks/vzaps',
'events' => ['Message', 'Connected', 'Disconnected'],
]);
use VZaps\Sdk\Models\Realtime\EventSubscribeRequest;
use VZaps\Sdk\Models\Realtime\VZapsEventType;
$subscription = $vzaps->events()->subscribe(new EventSubscribeRequest(
instanceId: 'VZ...',
instanceToken: 'instance-token',
events: [VZapsEventType::Message, VZapsEventType::Connected, VZapsEventType::Disconnected],
reconnect: true,
lastEventId: 'evt_previous_id', // optional resume after disconnect
));
$subscription->on(VZapsEventType::Message, function ($event): void {
echo $event->data['type'] ?? '', PHP_EOL;
});
$subscription->onError(function (\Throwable $error): void {
error_log($error->getMessage());
});
// Blocking loop — run in a worker process
$subscription->awaitClose();
// Graceful shutdown from another signal handler
$subscription->close();
use VZaps\Sdk\Exceptions\VZapsApiException;
use VZaps\Sdk\Exceptions\VZapsAuthenticationException;
use VZaps\Sdk\Exceptions\VZapsException;
use VZaps\Sdk\Exceptions\VZapsTimeoutException;
try {
$vzaps->messages()->sendText([
'instanceId' => $instanceId,
'instanceToken' => $instanceToken,
'phone' => $phone,
'message' => $message,
]);
} catch (VZapsAuthenticationException $e) {
error_log('Check client credentials');
} catch (VZapsTimeoutException $e) {
error_log('Request timed out');
} catch (VZapsApiException $e) {
error_log($e->statusCode . ' ' . $e->getMessage());
} catch (VZapsException $e) {
throw $e;
}
use VZaps\Sdk\Models\Common\InstanceCreateRequest;
use VZaps\Sdk\Models\Messages\SendTextMessageRequest;
use VZaps\Sdk\Models\Realtime\EventSubscribeRequest;
use VZaps\Sdk\Models\Realtime\VZapsEvent;
use VZaps\Sdk\Models\Realtime\VZapsEventType;
use VZaps\Sdk\VZapsClient;
/** @var array<string, mixed> $page */
$page = $vzaps->instances()->list([
'page' => 1,
'pageSize' => 20,
]);
$vzaps->messages()->sendText(new SendTextMessageRequest(
instanceId: 'VZ...',
instanceToken: getenv('VZAPS_INSTANCE_TOKEN'),
phone: '5511999999999',
message: 'Hello from VZaps',
));