Skip to content

5dvision/directo

Repository files navigation

Directo PHP SDK

Production-ready PHP 8.2+ SDK for the Directo XMLCore API. Directo XMLCore Documentation

Build Status PHP Version License

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)
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

Configuration

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);

License

MIT License. See LICENSE for details.

About

Directo SDK for php https://directo.ee/

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages