PHP code example of jacobdekeizer / statusweb-client
1. Go to this page and download the library: Download jacobdekeizer/statusweb-client 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/ */
jacobdekeizer / statusweb-client example snippets
$client = (new \JacobDeKeizer\Statusweb\Client())
->setApiKey('api_key')
->setPassword('password');
$deliveryAddress = new \JacobDeKeizer\Statusweb\Resources\Address(
name: 'Gijs Boersma',
street: 'Lange laan',
houseNumber: '29A',
postalCode: '9281EM',
city: 'Zevenaar',
countryCode: \JacobDeKeizer\Statusweb\Enums\CountryCode::NETHERLANDS,
toTheAttentionOf: 'tav',
phoneNumber: '+31612345678',
email: '[email protected]',
);
$labelData = new \JacobDeKeizer\Statusweb\Resources\LabelData(
returnLabel: true, // return the pdf label in the response
labelFormat: \JacobDeKeizer\Statusweb\Enums\LabelFormat::PDF,
);
$shipmentRow = new \JacobDeKeizer\Statusweb\Resources\ShipmentRow(
amount: 1,
unit: \JacobDeKeizer\Statusweb\Enums\Unit::COLLI,
weight: 10,
);
$shipment = new \JacobDeKeizer\Statusweb\Resources\Shipment(
deliveryAddress: $deliveryAddress,
type: 1, // Statusweb -> Tabellen -> Zendingsoorten
directSend: true, // when true the shipment is confirmed and can't be deleted
labelData: $labelData,
reference: 'My reference',
);
// setters remain available for optional values
$shipment->addShipmentRow($shipmentRow); // ->setShipmentRows accepts an array of ShipmentRows
$shipmentResponse = $client->shipments()->create($shipment);
// Show label pdf
$data = base64_decode($shipmentResponse->getLabels());
header('Content-Type: application/pdf');
echo $data;
use JacobDeKeizer\Statusweb\Contracts\SessionStore;
use JacobDeKeizer\Statusweb\Dto\Session;
class DatabaseSessionStore implements SessionStore
{
public function put(string $apiKey, Session $session): void
{
// save in db
}
public function get(string $apiKey): ?Session
{
// retrieve from db
}
}