5dvision / directo
Production-ready PHP SDK for Directo XMLCore API
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/5dvision/directo
Requires
- php: ^8.2
- ext-dom: *
- ext-libxml: *
- guzzlehttp/guzzle: ^7.0
- psr/log: ^3.0
Requires (Dev)
- laravel/pint: ^1.27
- pestphp/pest: ^3.8
- pestphp/pest-plugin-type-coverage: ^3.6
- phpstan/phpstan: ^2.1
- rector/rector: ^2.3
This package is auto-updated.
Last update: 2026-01-30 14:05:30 UTC
README
Production-ready PHP 8.2+ SDK for the Directo XMLCore API. Directo XMLCore Documentation
A modern, type-safe, and testable PHP SDK for integrating with the Directo ERP system via its XMLCore API. It provides a simple fluent interface for managing Customers, Items, Receipts, and more.
Installation
Requires PHP 8.2+.
⚡️ Get started by requiring the package using Composer:
composer require 5dvision/directo
Usage
<?php use Directo\Config; use Directo\Client; $client = new Client(new Config( token: 'your-api-token', )); // List customers $customers = $client->customers()->list(); // List items with filters $items = $client->items()->list([ 'class' => 'ELECTRONICS', 'ts' => '12.01.2026', ]);
Documentation
| Topic | Description |
|---|---|
| Endpoints | |
| Customers | Customer records API (list, put, putBatch) |
| Items | Item/product records API (list, put, putBatch) |
| Receipts | Payment receipt records API (list) |
| Guides | |
| Schema Validation | XSD validation configuration |
| Error Handling | Exception types and handling |
| Testing | Unit and integration testing |
| Adding Endpoints | Extending the SDK |
Configuration
use Directo\Config; $config = new Config( token: 'your-api-token', // Required: API token tokenParamName: 'token', // 'token' or 'key' (default: 'token') timeout: 30.0, // Request timeout (default: 30s) connectTimeout: 10.0, // Connection timeout (default: 10s) validateSchema: false, // XSD validation (default: false) treatEmptyAsNull: true, // Empty string handling (default: true) ); $client = new Client($config);
License
MIT License. See LICENSE for details.