GroupVAN API Client Libraries
Secure, easy-to-use client libraries for GroupVAN V3 API authentication.
Overview
The GroupVAN API Client libraries provide a secure and standardized way to authenticate with GroupVANβs V3 APIs across multiple programming languages. All libraries implement the same authentication pattern using RSA256 (RS256) algorithm for enhanced security through asymmetric cryptography.
Available Libraries
| Platform | Package | Version | Documentation |
|---|---|---|---|
| Flutter/Dart | groupvan | Dart SDK | |
| Python | groupvan-client | Python Docs | |
| Node.js | @groupvan/client | Node.js Docs | |
| PHP | groupvan/client | PHP Docs | |
| C#/.NET | GroupVAN.Client | C# Docs |
Quick Installation
Flutter/Dart
dependencies:
groupvan: ^0.0.1
Python
pip install groupvan-client
Node.js
npm install @groupvan/client
PHP
composer require groupvan/client
C#/.NET
dotnet add package GroupVAN.Client
Key Features
RSA256 Asymmetric Cryptography
Private keys never leave your servers. Only you can create valid tokens with your private key, while GroupVAN servers only need your public key for verification.
Short-lived Tokens
5-minute expiration by default for enhanced security. Automatic expiration handling in all client libraries with support for custom expiration times when needed.
Key Rotation Support
Seamless key updates without downtime. Support for multiple active keys during rotation period with secure storage recommendations for production environments.
Native Package Management
Install via pip, npm, composer, or NuGet. All packages are published to official repositories with semantic versioning and dependency management.
Security Model
RSA256 Algorithm
All tokens are signed using RSA private keys and verified with RSA public keys, ensuring that:
- Only you can create valid tokens with your private key
- GroupVAN servers only need your public key for verification
- Private keys remain secure in your infrastructure
Token Lifecycle
- Tokens expire after 5 minutes by default
- Automatic expiration handling in all client libraries
- Support for custom expiration times when needed
Key Management
- Generate RSA key pairs using built-in utilities
- Support for multiple active keys during rotation
- Secure storage recommendations for production environments
Getting Started
- Generate RSA Keys - Create your public/private key pair
- Register Public Key - Share with your GroupVAN Integration Specialist
- Install Client Library - Choose your preferred language
- Authenticate - Start making authenticated API calls
Example Usage
Flutter/Dart (Complete API Client)
import 'package:groupvan/groupvan.dart';
void main() async {
// Initialize SDK
await GroupVAN.initialize(isProduction: false);
// Authenticate
await GroupVAN.instance.auth.signInWithPassword(
username: 'your-username',
password: 'your-password',
developerId: 'your-developer-id',
);
// Use complete API
final vehicles = await GroupVAN.instance.client.vehicles.getUserVehicles();
final catalogs = await GroupVAN.instance.client.catalogs.getCatalogs();
}
Python (Authentication Only)
from groupvan_client import GroupVANClient
client = GroupVANClient(
developer_id="your_developer_id",
key_id="your_key_id",
private_key_path="path/to/private_key.pem"
)
token = client.generate_token()
response = client.make_api_call("/api/v3/endpoint", token)
Node.js (Authentication Only)
const { GroupVANClient } = require('@groupvan/client');
const client = new GroupVANClient({
developerId: 'your_developer_id',
keyId: 'your_key_id',
privateKeyPath: 'path/to/private_key.pem'
});
const token = client.generateToken();
const response = await client.makeApiCall('/api/v3/endpoint', token);
Support
- π API Documentation - Full API reference
- π Issue Tracker - Report bugs or request features
- π₯ Integration Specialist - Contact your GroupVAN Integration Specialist for support
- π Security - Best practices and vulnerability reporting
Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Code style guidelines
- Testing requirements
- Pull request process
- Development setup
License
This project is licensed under the MIT License. See the LICENSE file for details.