PHPackages                             tomatom/depoto-php-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. tomatom/depoto-php-client

ActiveLibrary[API Development](/categories/api)

tomatom/depoto-php-client
=========================

Depoto API client

v1.0.10(2y ago)22.5k—10%1MITPHPPHP &gt;=7.4

Since Apr 29Pushed 3mo ago5 watchersCompare

[ Source](https://github.com/TomAtomCZ/depotoPhpClient)[ Packagist](https://packagist.org/packages/tomatom/depoto-php-client)[ Docs](https://depoto.cz/)[ RSS](/packages/tomatom-depoto-php-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (16)Used By (0)

Depoto PHP Client
=================

[](#depoto-php-client)

### Depoto

[](#depoto)

Depoto je skladový, expediční a pokladní systém poskytující GraphQl API s OAuth2 authentifikací. Tato knihovna má za cíl práci s API zpříjemnit;)

### Instalace

[](#instalace)

Doporučujeme instalaci pomocí [Composer](https://getcomposer.org/):

```
composer require tomatom/depoto-php-client
```

### Použití

[](#použití)

[Čtěte best practices ve WIKI !!!](https://github.com/TomAtomCZ/depotoPhpClient/wiki):

```
use Depoto\Client;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use Nyholm\Psr7\Factory\Psr17Factory;
use Symfony\Component\Cache\Adapter\ArrayAdapter;
use Symfony\Component\Cache\Psr16Cache;
use Symfony\Component\HttpClient\Psr18Client;

$httpClient = new Psr18Client(); // PSR-18 Http client
$psr17Factory = new Psr17Factory(); // PSR-17 HTTP Factories,  PSR-7 HTTP message
$cache = new Psr16Cache(new ArrayAdapter()); // PSR-16 Simple cache
$logger = new Logger('Depoto', [new StreamHandler('depoto.log', Logger::DEBUG)]); // PSR-3 Logger

$depoto = new Client($httpClient, $psr17Factory, $psr17Factory, $cache, $logger);
$depoto
    ->setBaseUrl('https://server1.depoto.cz') // Pro testování: https://server1.depoto.cz.tomatomstage.cz
    ->setUsername('username')
    ->setPassword('password');
```

Pokud se z vaší aplikace potřebujete připojovat k různým účtů, možná vašemu service containeru příjde vhod továrna:

```
use Depoto\ClientFactory;

$depotoFactory = new ClientFactory($httpClient, $psr17Factory, $psr17Factory, $cache, $logger);
$depoto = $depotoFactory->createClient('username', 'password', 'https://server1.depoto.cz');
```

### GraphQl

[](#graphql)

- Query pro čtení a Mutation pro czápis.
- Definuji data (stromovou strukturu), která chci vrátit.
- [GraphQL dokumentace](http://graphql.org/learn/)

```
$result = $depoto->query('queryName',
    ['arg1' => $arg1, 'arg2' => $arg2],
    ['returnSchema' => ['field', 'object' => ['field']]]);

$result = $depoto->mutation('mutationName',
    ['arg1' => $arg1, 'arg2' => $arg2],
    ['returnSchema' => ['field', 'object' => ['field']]]);
```

> Pro testování queries a **procházení kompletního aktuálního schématu** použijte [GraphQL Explorer / GraphiQL konzoli](https://server1.depoto.cz/graphql/explorer).

### Ouery

[](#ouery)

#### Detail produktu

[](#detail-produktu)

```
$result = $depoto->query('product',
    ['id' => $id],
    ['data' => [
        'id', 'name', 'ean', 'code',
        'quantities' => [
            'depot' => ['id', 'name'], // Sklad
            'quantityStock', // Množství na skladě
            'quantityReservation', // Množství v rezervaci
            'quantityAvailable', // Dostupné množství
        ],
        // a další viz GraphQL Explorer
    ], 'errors']);
```

#### Výpis produktů

[](#výpis-produktů)

```
$result = $depoto->query('products',
    ['filters' => ['fulltext' => $search]], // Filtry
    ['items' => [
        'id', 'name', 'ean', 'code',
        'quantities' => [
            'depot' => ['id', 'name'], // Sklad
            'quantityStock', // Množství na skladě
            'quantityReservation', // Množství v rezervaci
            'quantityAvailable', // Dostupné množství
        ]
    ]]);
```

#### Detail objednávky

[](#detail-objednávky)

- [Seznam procesních stávů, kterými mohou objednávky procházet](https://github.com/TomAtomCZ/depotoPhpClient/wiki/Procesn%C3%AD-stavy-objedn%C3%A1vky)

```
$result = $depoto->query('order',
    ['id' => $id],
    ['data' => [
        'id', 'reservationNumber'
        'processStatus' => ['id', 'name', 'note', 'created'], // Aktuální procesní stav,
        'items' => ['name', 'amount'],
        'paymentItems' => ['name', 'amount', 'currency'],
        'carrier' => ['id', 'name'],
        'externalId'
    ], 'errors']);
```

#### Výpis objednávek

[](#výpis-objednávek)

```
$result = $depoto->query('orders',
    ['filters' => ['fulltext' => $search]],
    ['items' => [
        'id', 'reservationNumber'
        'processStatus' => ['id', 'name', 'note', 'created'],
        'items' => ['name', 'amount'],
        'paymentItems' => ['name', 'amount', 'currency'],
        'carrier' => ['id', 'name'],
        'externalId'
    ]]);
```

### Mutation

[](#mutation)

#### Vytvoření produktu

[](#vytvoření-produktu)

```
$result = $depoto->mutation('createProduct',
    [
        'name' => 'Testovací produkt',
        'ean' => '123456987123', // EAN musí být unikátní
        'code' => 'kod', // Nemusí být unikátní
        'sellPrice' => 99.9,
        'purchasePrice' => 99.9, // Nepovinné, výchozí nákupní cena
        'externalId' => 'vas-identifikator-123', // Nepovinné, externí identifikátor
    ],
    ['data' => ['id'], 'errors']);
```

#### Úprava produktu

[](#úprava-produktu)

```
$result = $depoto->mutation('updateProduct',
    [
        'id' => $id, // ID produktu v Depotu
        'name' => 'Nový název',
    ],
    ['data' => ['id'], 'errors']);
```

#### Vytvoření souboru/obrázku

[](#vytvoření-souboruobrázku)

```
$result = $depoto->mutation('createFile',
    [
        'text' => 'Popis souboru',
        'originalFilename' => 'původní název souboru.jpg',
        'mimeType' => 'image/jpeg',
        'product' => $productId, // ID produktu v Depotu
        'base64Data' => '...', // jen base64 data bez mimeType na začátku
    ],
    ['data' => ['id'], 'errors']);
```

#### Vytvoření zákazníka

[](#vytvoření-zákazníka)

```
$resultCustomer = $depoto->mutation('createCustomer',
    [
        'firstName' => 'Jméno',
        'lastName' => 'Příjmení',
        'email' => 'email@email.cz',
        'phone' => '777123456',
    ],
    ['data' => ['id'], 'errors']);
```

#### Vytvoření adresy

[](#vytvoření-adresy)

```
$resultAddress = $depoto->mutation('createAddress',
    [
        'customer' => $resultCustomer['data']['id'],  // Nepovinné
        'firstName' => 'Jméno',
        'lastName' => 'Příjmení',
        'email' => 'email@email.cz',
        'phone' => '777123456',
        'street' => 'Ulice 12',
        'city' => 'Město',
        'zip' => '28903',
        'country' => 'CZ', // ISO 3166-1 alpha-2 country code
        'branchId' => 123456, // Nepovinné, identifikátor pobočky např. výdejny pro zásilkovnu, balíkovnu a ostatní výdejny.
        'isStored' => 0, // 0/1 ... 0 pro jednorázové adresy určené pro createOrder. 1 pokud zakládáte adresu pro zákazníka (spolu s createCustomer) a chcete, aby šlo o výchozí adresu, se kterou se bude pracovat na kartě zákaznníka = půjde vybrat do dopravy či platby. V takovém případě je nutné vyplnit pole customer
        'isBilling' => 0, // 0/1 ... 0 = doručovací adresa, 1 = fakturační adresa
    ],
    ['data' => ['id'], 'errors']);
```

#### Vytvoření objednávky

[](#vytvoření-objednávky)

```
$result = $depoto->mutation('createOrder',
    [
        'status' => 'reservation',
        'customer' => $resultCustomer['data']['id'], // Nepovinné
        'invoiceAddress' => $resultAddress['data']['id']],
        'shippingAddress' => $resultAddress['data']['id']],
        'checkout' => 123, // ID pokladny daného eshopu
        'currency' => 'CZK',
        'carrier' => 'ppl',
        'items' => [
            [
                'product' => 123,
                'code' => 'ABCD',
                'name' => 'Název produktu',
                'type' => 'product',
                'quantity' => 2,
                'price' => 123.45, // cena s DPH
                'vat' => 12345
            ], // name na produktu je nepovinný, Depoto si jej dotáhne. Je však doporučené jej posílat.
            [
                'product' => 456,
                'code' => 'XYZ',
                'name' => 'Název zlevněného produktu',
                'type' => 'product',
                'quantity' => 2,
                'sale' => 20, // 20% sleva
                'price' => 123.45, // základní cena s DPH před slevou
                'vat' => 12345
            ], // name na produktu je nepovinný, Depoto si jej dotáhne.
            [
                'code' => 'volna1',
                'name' => 'Volná položka servisní poplatek',
                'type' => 'product',
                'quantity' => 1,
                'price' => 666,
                'vat' => 12345
            ], // Volná položka
            [
                'code' => 'doprava',
                'name' => 'Doprava za stovku',
                'type' => 'shipping',
                'quantity' => 1,
                'price' => 100,
                'vat' => 12345
            ],
            [
                'code' => 'platba',
                'name' => 'Dobírka za dvacku',
                'type' => 'payment',
                'quantity' => 1,
                'price' => 20,
                'vat' => 12345
            ],
        ],
        'paymentItems' => [
            [
                'payment' => 789,
                'amount' => 589.5,
                'isPaid' => true // Zaplaceno - true/false
            ],
        ],
    ]
    ['data' => ['id'], 'errors']);
```

#### Přidání položky do objednávky

[](#přidání-položky-do-objednávky)

```
$result = $depoto->mutation('createOrderItem',
    [
        'order' => 123,
        'product' => 123,
        'quantity' => 5,
        'price' => 31.5,
        'sale' => 10, // 10% z výše uvedené ceny s DPH
        'vat' => 666,
    ],
    ['data' => ['id'], 'errors']);
```

#### Úprava položky objednávky

[](#úprava-položky-objednávky)

```
$result = $depoto->mutation('updateOrderItem',
    [
        'id' => $id,
        'quantity' => 5,
    ],
    ['data' => ['id'], 'errors']);
```

#### Smazání položky objednávky

[](#smazání-položky-objednávky)

```
$result = $depoto->mutation('deleteOrderItem',
    ['id' => $id],
    ['errors']);
```

#### Úprava objednávky

[](#úprava-objednávky)

```
$result = $depoto->mutation('updateOrder',
    [
        'id' => $id,
        'shippingAddress' => 753951, // Změna doručovací adresy
        'items' => [
            ['product' => 123, 'quantity' => 2, 'price' => 123.45], // Nové položky
            // items a typy obdobně viz createOrder
        ],
        'paymentItems' => [
            [
                'payment' => 789,
                'amount' => 589.5,
                'isPaid' => true // Zaplaceno - ano/ne
            ],
        ],
    ],
    ['data' => ['id'], 'errors']);
```

#### Zrušení rezervace

[](#zrušení-rezervace)

Zručit jde jen objednávky ve stavu rezervace (status="reservation").

```
$result = $depoto->mutation('deleteReservation',
    ['id' => $id],
    ['errors']]);
```

#### Vytvoření skladového pohybu

[](#vytvoření-skladového-pohybu)

```
$result = $depoto->mutation('createProductMovePack',
    [
        'type' => "in", // "out" pro výdej, resp. "transfer" pro převodku
        'moves' => [
            [
                'product' => 123,
                'depotTo' => 666, // ID skladu. Pokud jde o type "out", použijte "depotFrom"
                'amount' => 1,
                'supplier' => 123, // ID dodavatele
                'purchasePrice' => 10.01,
                'purchaseCurrency' => 'CZK',
                'note' => 'Sync'
            ],
            // moves pro další produkty v pohybu
        ],
    ],
    ['data' => ['id'], 'errors']);
```

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance54

Moderate activity, may be stable

Popularity24

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 63.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~127 days

Recently: every ~143 days

Total

14

Last Release

914d ago

Major Versions

v0.9 → v1.02021-09-01

v0.9.1 → v1.0.52022-04-21

### Community

Maintainers

![](https://www.gravatar.com/avatar/4b48157319455da51aeeb00249e27e6ac3b8d61a2fd389dfa95c18a75a2378d6?d=identicon)[sajfi](/maintainers/sajfi)

---

Top Contributors

[![sajfi](https://avatars.githubusercontent.com/u/597035?v=4)](https://github.com/sajfi "sajfi (37 commits)")[![deries](https://avatars.githubusercontent.com/u/4479489?v=4)](https://github.com/deries "deries (13 commits)")[![b3da-cz](https://avatars.githubusercontent.com/u/16703735?v=4)](https://github.com/b3da-cz "b3da-cz (6 commits)")[![Matys333](https://avatars.githubusercontent.com/u/84638491?v=4)](https://github.com/Matys333 "Matys333 (1 commits)")[![microHoffman](https://avatars.githubusercontent.com/u/61500778?v=4)](https://github.com/microHoffman "microHoffman (1 commits)")

---

Tags

apiwmsFullfilmentdepoto

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tomatom-depoto-php-client/health.svg)

```
[![Health](https://phpackages.com/badges/tomatom-depoto-php-client/health.svg)](https://phpackages.com/packages/tomatom-depoto-php-client)
```

###  Alternatives

[openai-php/client

OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API

5.8k22.6M232](/packages/openai-php-client)[opensearch-project/opensearch-php

PHP Client for OpenSearch

15224.3M65](/packages/opensearch-project-opensearch-php)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)[getbrevo/brevo-php

Official Brevo provided RESTFul API V3 php library

963.1M35](/packages/getbrevo-brevo-php)[deeplcom/deepl-php

Official DeepL API Client Library

2616.2M66](/packages/deeplcom-deepl-php)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69433.0M114](/packages/algolia-algoliasearch-client-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
