d561f69ece0696e0491434300961304cec19c731
Laravel Bitunix API Package
A Laravel package for interacting with the Bitunix cryptocurrency exchange API.
Installation
composer require msr/laravel-bitunix-api
Configuration
1. Environment Variables
Add the following variables to your .env file:
BITUNIX_API_KEY=your-api-key-here
BITUNIX_API_SECRET=your-api-secret-here
BITUNIX_LANGUAGE=en-US
2. Publish Configuration (Optional)
php artisan vendor:publish --tag=bitunix-api-config
3. Verify Configuration
Run the configuration check script:
php scripts/check-config.php
Usage
Change Leverage
use Msr\LaravelBitunixApi\Requests\ChangeLeverageRequestContract;
$api = app(ChangeLeverageRequestContract::class);
$response = $api->changeLeverage('BTCUSDT', 'USDT', 12);
if ($response->getStatusCode() === 200) {
$data = json_decode($response->getBody()->getContents(), true);
if ($data['code'] === 0) {
echo "Leverage changed successfully!";
}
}
Change Margin Mode
use Msr\LaravelBitunixApi\Requests\ChangeMarginModeRequestContract;
$api = app(ChangeMarginModeRequestContract::class);
$response = $api->changeMarginMode('BTCUSDT', 'USDT', 'ISOLATION');
if ($response->getStatusCode() === 200) {
$data = json_decode($response->getBody()->getContents(), true);
if ($data['code'] === 0) {
echo "Margin mode changed successfully!";
}
}
Get Future Kline Data
use Msr\LaravelBitunixApi\Requests\FutureKLineRequestContract;
$api = app(FutureKLineRequestContract::class);
$response = $api->getFutureKline('BTCUSDT', '1h', 100);
if ($response->getStatusCode() === 200) {
$data = json_decode($response->getBody()->getContents(), true);
// Process kline data
}
API Methods
Account Management
changeLeverage(string $symbol, string $marginCoin, int $leverage)- Change leveragechangeMarginMode(string $symbol, string $marginCoin, string $marginMode)- Change margin mode
Market Data
getFutureKline(string $symbol, string $interval, int $limit, ?int $startTime, ?int $endTime, string $type)- Get kline data
Configuration Options
| Option | Description | Default |
|---|---|---|
future_base_uri |
Bitunix API base URI | https://fapi.bitunix.com/ |
api_key |
Your API key | From BITUNIX_API_KEY env var |
api_secret |
Your API secret | From BITUNIX_API_SECRET env var |
language |
API language | From BITUNIX_LANGUAGE env var or en-US |
Rate Limits
- Change Leverage: 10 req/sec/uid
- Change Margin Mode: 10 req/sec/uid
Error Handling
All methods return a ResponseInterface object. Check the response status and parse the JSON response:
$response = $api->changeLeverage('BTCUSDT', 'USDT', 12);
if ($response->getStatusCode() === 200) {
$data = json_decode($response->getBody()->getContents(), true);
if ($data['code'] === 0) {
// Success
echo "Operation successful: " . $data['msg'];
} else {
// API Error
echo "API Error: " . $data['msg'];
}
} else {
// HTTP Error
echo "HTTP Error: " . $response->getStatusCode();
}
Testing
Run the test suite:
vendor/bin/pest
Run specific tests:
vendor/bin/pest tests/ChangeLeverageTest.php
vendor/bin/pest tests/ChangeMarginModeTest.php
vendor/bin/pest tests/HeaderTest.php
Examples
See the examples/ directory for complete usage examples:
ChangeLeverageExample.phpChangeMarginModeExample.php
Troubleshooting
API credentials not loading from .env
- Make sure your
.envfile is in the project root - Check that the variable names match exactly (case-sensitive)
- Restart your application/server after changing .env
- Clear config cache:
php artisan config:clear
Signature generation fails
- Verify API key and secret are correct
- Check that the credentials have the necessary permissions
- Ensure your system time is synchronized
Security
- Never commit API credentials to version control
- Use environment variables for all sensitive data
- Restrict API key permissions to minimum required
- Regularly rotate API keys
License
MIT License. See LICENSE file for details.
Support
For issues and questions, please create an issue on the GitHub repository.
Description
laravel composer package for using bituinx exchange api
183 KiB
0 Stars
1 Watchers
0 Forks