1. Go to this page and download the library: Download setono/shipmondo-php-sdk 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/ */
setono / shipmondo-php-sdk example snippets
use Setono\Shipmondo\Client\Client;
key');
$paymentGateways = $client
->paymentGateways()
->getPage()
;
foreach ($paymentGateways as $paymentGateway) {
print_r($paymentGateway);
}
$client = new Client('api_username', 'api_key', sandbox: true);
use Setono\Shipmondo\Exception\MalformedWebhookException;
use Setono\Shipmondo\Exception\WebhookVerificationException;
use Setono\Shipmondo\Webhook\WebhookParser;
// $request is a PSR-7 ServerRequestInterface (from your framework / PSR-7 bridge).
// $key is the key you set on the webhook when creating it via $client->webhooks()->create(...).
try {
$event = (new WebhookParser())->parse($request, $key);
} catch (WebhookVerificationException) {
// Forged request or wrong key — do NOT process it.
http_response_code(403);
return;
} catch (MalformedWebhookException) {
http_response_code(400);
return;
}
$event->action; // WebhookAction::Create (typed enum, from the SMD-Action header)
$event->resourceType; // WebhookResourceName::Shipments (from the SMD-Resource-Type header)
$event->resourceId; // int|null (the SMD-Resource-Id header)
$event->data; // array<array-key, mixed> — the resource, snake_case, as in the API docs
$event->data['id'];
// Reply within 3 seconds with a 200, then do the heavy lifting out of band.
http_response_code(200);
$event = (new WebhookParser())->parsePayload($rawBody, $headers, $key);
use CuyZ\Valinor\Cache\FileSystemCache;
use CuyZ\Valinor\MapperBuilder;
use CuyZ\Valinor\NormalizerBuilder;
use Setono\Shipmondo\Client\Client;
normalizerBuilder = Client::registerNormalizerTransformers((new NormalizerBuilder())->withCache($cache));
$client = new Client(
'API_USERNAME',
'API_KEY',
mapperBuilder: $mapperBuilder,
normalizerBuilder: $normalizerBuilder,
);
$order = $client->salesOrders()->getById(123);
$order->id; // typed property
$order->raw['order_status']; // any field, straight from the API payload
$created = $client->salesOrders()->create($request);
$order = $client->salesOrders()->getById($created->id); // available immediately
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.