PHP code example of gando / partner
1. Go to this page and download the library: Download gando/partner 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/ */
gando / partner example snippets
declare(strict_types=1);
ient;
use Gando\Partner\Connect\UrlBuilder;
$api = new Client(apiKey: getenv('GANDO_API_KEY') ?: 'gando_pk_...');
$response = $api->accounts->list();
$builder = new UrlBuilder(
connectSecret: getenv('GANDO_CONNECT_SECRET') ?: 'gando_cs_...',
partnerSlug: 'fleetee',
baseUrl: 'https://dashboard.gando.app',
);
$signupUrl = $builder->signupUrl(externalId: 'fleet_acct_42');
declare(strict_types=1);
use Gando\Partner\Api\Client;
use Psr\EventDispatcher\EventDispatcherInterface;
use Psr\Http\Client\ClientInterface as HttpClientInterface;
use Psr\Http\Message\RequestFactoryInterface;
use Psr\Log\LoggerInterface;
use Psr\SimpleCache\CacheInterface;
/** @var HttpClientInterface $httpClient */
/** @var RequestFactoryInterface $requestFactory */
/** @var LoggerInterface $logger */
/** @var CacheInterface $cache */
/** @var EventDispatcherInterface $events */
$api = new Client(
apiKey: $_ENV['GANDO_API_KEY'],
httpClient: $httpClient,
requestFactory: $requestFactory,
logger: $logger,
cache: $cache,
events: $events,
);
declare(strict_types=1);
ando\Partner\Models\Components;
$sdk = Partner\Gando::builder()
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
$response = $sdk->accounts->list(
page: 1,
limit: 20
);
if ($response->object !== null) {
// handle response
}
declare(strict_types=1);
ando\Partner\Models\Components;
$sdk = Partner\Gando::builder()
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
$response = $sdk->accounts->list(
page: 1,
limit: 20
);
if ($response->object !== null) {
// handle response
}
declare(strict_types=1);
ando\Partner\Models\Components;
use Gando\Partner\Utils\Retry;
$sdk = Partner\Gando::builder()
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
$response = $sdk->accounts->list(
page: 1,
limit: 20,
options: Utils\Options->builder()->setRetryConfig(
new Retry\RetryConfigBackoff(
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
retryConnectionErrors: false,
))->build()
);
if ($response->object !== null) {
// handle response
}
declare(strict_types=1);
ando\Partner\Models\Components;
use Gando\Partner\Utils\Retry;
$sdk = Partner\Gando::builder()
->setRetryConfig(
new Retry\RetryConfigBackoff(
initialInterval: 1,
maxInterval: 50,
exponent: 1.1,
maxElapsedTime: 100,
retryConnectionErrors: false,
)
)
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
$response = $sdk->accounts->list(
page: 1,
limit: 20
);
if ($response->object !== null) {
// handle response
}
declare(strict_types=1);
ando\Partner\Models\Components;
use Gando\Partner\Models\Errors;
$sdk = Partner\Gando::builder()
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
try {
$response = $sdk->accounts->list(
page: 1,
limit: 20
);
if ($response->object !== null) {
// handle response
}
} catch (Errors\ErrorEnvelopeThrowable $e) {
// handle $e->$container data
throw $e;
} catch (Errors\ErrorEnvelopeThrowable $e) {
// handle $e->$container data
throw $e;
} catch (Errors\APIException $e) {
// handle default exception
throw $e;
}
declare(strict_types=1);
ando\Partner\Models\Components;
$sdk = Partner\Gando::builder()
->setServerURL('http://localhost:3000')
->setSecurity(
new Components\Security(
partnerApiKeyAuth: '<YOUR_API_KEY_HERE>',
)
)
->build();
$response = $sdk->accounts->list(
page: 1,
limit: 20
);
if ($response->object !== null) {
// handle response
}
declare(strict_types=1);
ions\WebhookSignatureException;
use Gando\Partner\WebhookVerifier;
$rawBody = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_GANDO_SIGNATURE'] ?? '';
$timestamp = $_SERVER['HTTP_X_GANDO_TIMESTAMP'] ?? '';
$secret = getenv('GANDO_WEBHOOK_SECRET'); // your signing secret
try {
WebhookVerifier::verify($rawBody, $signature, $timestamp, $secret);
} catch (WebhookSignatureException $e) {
// $e->getReason() is "invalid" or "expired"
http_response_code(400);
exit;
}
$payload = json_decode($rawBody, true, flags: JSON_THROW_ON_ERROR);
// handle $payload...