PHP code example of moko-github / api-si-satellite
1. Go to this page and download the library: Download moko-github/api-si-satellite 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/ */
moko-github / api-si-satellite example snippets
'satellite' => [
'driver' => 'daily',
'path' => storage_path('logs/satellite.log'),
'level' => env('SATELLITE_LOG_LEVEL', 'debug'),
'days' => 14,
],
use Moko\\Satellite\\Services\\SatelliteClient;
final class MyApiClient extends SatelliteClient
{
public function __construct()
{
parent::__construct(
baseUrl: (string) config('my-api.url'),
token: (string) config('my-api.token'),
timeout: (int) config('my-api.timeout', 10),
logChannel: 'my-api',
verifySSL: (bool) config('my-api.verify_ssl', true),
);
}
public function getResource(int $id): MyResourceDTO
{
return MyResourceDTO::fromArray($this->get("/api/v1/resources/{$id}"));
}
}
use Moko\\Satellite\\Http\\Middleware\\VerifyWebhookSignature;
// Clé par défaut : config('satellite.webhook_secret')
Route::post('/webhooks/my-api', MyWebhookController::class)
->middleware(VerifyWebhookSignature::class);
// Clé personnalisée (package privé avec sa propre config) :
Route::post('/webhooks/my-api', MyWebhookController::class)
->middleware(VerifyWebhookSignature::class.':my-api.webhook_secret');
use Moko\\Satellite\\Services\\SatelliteException;
try {
$data = $client->getResource(42);
} catch (SatelliteException $e) {
Log::error('API error', [
'status' => $e->statusCode,
'endpoint' => $e->endpoint,
'errors' => $e->errors,
]);
}
bash
php artisan satellite:install
bash
php artisan vendor:publish --tag=satellite-config
php artisan vendor:publish --tag=satellite-stubs
bash
php artisan satellite:install
bash
# Endpoint par défaut (/health)
php artisan satellite:ping
# Endpoint personnalisé (ex : api-si)
php artisan satellite:ping --endpoint=/api/v1/health
# Surcharger l'URL (tester un environnement sans modifier .env)
php artisan satellite:ping --endpoint=/api/v1/health --url=https://api-qualification.example.com
# Appel sans token Bearer (endpoint vraiment public)
php artisan satellite:ping --endpoint=/api/v1/health --no-token
src/
├── SatelliteServiceProvider.php
├── Console/Commands/
│ └── SatelliteInstallCommand.php
├── Http/Middleware/
│ └── VerifyWebhookSignature.php
└── Services/
├── SatelliteClient.php
└── SatelliteException.php
config/
└── satellite.php
stubs/
├── SyncJob.stub
└── WebhookController.stub