PHP Client Library
Complete documentation for the GroupVAN PHP client library.
Installation
Requirements
- PHP 7.4 or higher
- Composer package manager
Install via Composer
composer require groupvan/client
Quick Example
<?php
require_once 'vendor/autoload.php';
use GroupVAN\Client;
// Initialize client
$client = new Client([
'developer_id' => 'DEV123',
'key_id' => 'KEY001',
'private_key_path' => '/path/to/private_key.pem'
]);
// Generate JWT token
$token = $client->generateToken();
// Make API call
$response = $client->apiCall('GET', '/api/v3/users', $token);
echo json_encode($response);
Configuration
// Using array configuration
$client = new Client([
'developer_id' => 'DEV123',
'key_id' => 'KEY001',
'private_key_path' => '/path/to/private_key.pem',
'base_url' => 'https://api.groupvan.com', // optional
'timeout' => 30 // optional, in seconds
]);
// Using environment variables
$client = Client::fromEnv();
// Looks for:
// - GROUPVAN_DEVELOPER_ID
// - GROUPVAN_KEY_ID
// - GROUPVAN_PRIVATE_KEY_PATH
API Reference
Methods
generateToken($options = [])
Generate a JWT token for API authentication.
$token = $client->generateToken([
'expiration_minutes' => 5, // optional, default: 5
'additional_claims' => [] // optional
]);
apiCall($method, $endpoint, $token = null, $options = [])
Make an authenticated API call.
$response = $client->apiCall(
'POST',
'/api/v3/users',
$token,
[
'data' => ['name' => 'John Doe'],
'params' => ['page' => 1],
'headers' => ['X-Custom' => 'value']
]
);
Error Handling
try {
$token = $client->generateToken();
$response = $client->apiCall('GET', '/api/v3/users', $token);
} catch (\GroupVAN\AuthenticationException $e) {
echo "Authentication failed: " . $e->getMessage();
} catch (\GroupVAN\APIException $e) {
echo "API call failed: " . $e->getMessage();
echo "Status code: " . $e->getStatusCode();
}