logicware / connect-sdk
Official PHP SDK for Logicware Connect — integrate your own courier website with a Logicware-hosted warehouse.
v0.1.1
2026-04-20 14:01 UTC
Requires
- php: >=8.1
- ext-json: *
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.65
- guzzlehttp/guzzle: ^7.8
- phpstan/phpstan: ^1.12
- phpunit/phpunit: ^10.5
Suggests
- guzzlehttp/guzzle: Default HTTP client implementation. Any PSR-18 client works.
README
Official PHP SDK for Logicware Connect.
Integrate your own courier website (Laravel, WordPress, Symfony, etc.) with a Logicware-hosted warehouse — sync shippers, handle pre-alerts, receive webhooks.
Install
composer require logicware/connect-sdk
Requires PHP 8.1+. Any PSR-18 HTTP client works; Guzzle is the suggested default.
Quickstart
use Logicware\Connect\Client; $client = new Client([ 'apiKey' => getenv('LW_API_KEY'), // sk_live_... or sk_test_... 'baseUrl' => 'https://fastship-api.logicware.app', // your courier's API host ]); // Resources are added in v0.2 (see SDK_PLAN.md).
Errors
use Logicware\Connect\Exceptions\LogicwareApiException; use Logicware\Connect\Exceptions\LogicwareNetworkException; try { // ... } catch (LogicwareApiException $e) { echo $e->getStatus(); // 422 echo $e->getErrorCode(); // SHIPPER_CODE_CONFLICT echo $e->getMessage(); // already taken echo $e->getRequestId(); // req_abc123 if ($e->isRetryable()) { // 429 / 5xx — the SDK already retried, surface for your own metrics } } catch (LogicwareNetworkException $e) { // TLS / DNS / connection reset / timeout }
Development
composer install composer test # phpunit composer analyse # phpstan level 8 composer cs-check # php-cs-fixer --dry-run
License
MIT