kelemen/flexibee-client

与FlexiBee通信的客户端

dev-master 2018-06-20 13:02 UTC

This package is auto-updated.

Last update: 2024-09-18 01:11:17 UTC


README

用于与FlexiBee API通信的简单直接的客户端。

基本使用

use FlexibeeClient\FlexibeeClient;
use FlexibeeClient\Registry;
use DateTime;

// Create new client
$client = new FlexibeeClient($host, $company, $username, $password);

// Every registry can be reached via
$registry = $client->registry(Registry::TYPE_ORDER_IN);
$registry2 = $client->registry('dodavatelska-smlouva');

// Possible calls from https://www.flexibee.eu/api/dokumentace/ref/urls
$result = $registry->callProperties();
$result = $registry->callReports();
$result = $registry->callCount();
$result = $registry->callRelations();
$result = $registry->callRelations(500, 'polozkyDokladu');
$result = $registry->callDetail(500);
$result = $registry->callCreate([
    'kod' => 'myCode12',
    'datVyst' => (new DateTime())->format('c'),
    'typDokl' => 'code:OBP'
]);
$result = $registry->callUpdate(500, [
    'kod' => 'myCode123',
    'datVyst' => (new DateTime())->format('c')
]);

// All properties listed at https://www.flexibee.eu/api/dokumentace/ref/urls can be used via methods
$registry->setDryRun()->setReportLang('sk'); ...

// If you want to remove property you can use
$registry->setDryRun(null);

// Everytime you call registry() method via client you get new clean instance of Registry.

客户端 不会从callXXX()方法抛出异常。每次返回 Result 类。此类可以用作

$result = $registry->callDetail(500);
if (!$result->isOk()) {
    // some error handling code ...
}

$orderData = $result->getData()['objednavka-prijata'][0];
$orderData['id']; // Access to data

在基本实现中,仅支持JSON格式。如果您需要https://www.flexibee.eu/api/dokumentace/ref/format-types中提到的其他格式,您可以实现新的Result类并将其注册到ResultFactory中。基本的JSON结果实现位于FlexibeeClient\Result\JsonResult类中。