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.
Requires PHP 8.2+.
⚡️ Get started by requiring the package using Composer:
composer require 5dvision/directo<?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',
]);| Topic | Description |
|---|---|
| Endpoints | |
| Customers | Customer records API (list, put, putBatch) |
| Items | Item/product records API (list, put, putBatch) |
| Receipts | Payment receipt records API (list) |
| XmlCore (Custom) | Custom queries (put, putArray, putRaw) |
| Guides | |
| Schema Validation | XSD validation configuration |
| Error Handling | Exception types and handling |
| Testing | Unit and integration testing |
| Adding Endpoints | Extending the SDK |
use Directo\Config;
$config = new Config(
baseUrl: 'https://login.directo.ee/...', // Optional: Base URL
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);MIT License. See LICENSE for details.