smartilabs / metakocka
dev-master
2021-04-18 08:57 UTC
Requires
- php: ^7.3 | ^8.0
- guzzlehttp/guzzle: dev-master
- nesbot/carbon: ^2.45
- netresearch/jsonmapper: ^4.0
Requires (Dev)
- phpunit/phpunit: 9.*
This package is auto-updated.
Last update: 2024-10-18 16:30:00 UTC
README
usage
init client
$companyID = 1234; $secretKey = "secret_code"; $client = new \Smarti\Metakocka\Client($companyID, $secretKey);
get product list
$data = new \Smarti\Metakocka\Resource\Product\ListRequest(); $data->setSales(true); $productList = $client->getProductList($data); $count = $productList->getProductListCount(); foreach ($productList->getProductList() as $product) { echo $product->getName(); }
create product
$data = new \Smarti\Metakocka\Resource\Product\ItemRequest(); $data->setCode('unique_code_123456'); $data->setName('Beautiful product name'); $data->setSales(true); $data->setService(true); $product = $client->createProduct($data);
create bill
$data = new \Smarti\Metakocka\Resource\Sales\BillRequest(); $data->setBillDate(new DateTime()); $data->setPaymentDate((new DateTime())->add(new DateInterval('P8D'))); $partner = new \Smarti\Metakocka\Resource\Partner\PartnerRequest(); $partner->setBusinessEntity(false); $partner->setCustomer('John Doe'); $partner->setStreet('Elm street 10'); $partner->setPostNumber('1000'); $partner->setPlace('Ljubljana'); $data->setPartner($partner); $product1 = new \Smarti\Metakocka\Resource\Product\ItemRequest(); $product1->setMkId(555500000000); // or $product1->setCountCode('unique_code_123456'); $product1->setAmount(1); $product1->setPrice(round(55.9 / 1.22, 4)); // price without tax $product1->setTax(\Smarti\Metakocka\Enum\Tax::TAX_220); $data->addProduct($product1); $bill = $client->createBill($data);
get bill PDF
$data = new \Smarti\Metakocka\Resource\Sales\BillPdfRequest(); $billCountCode = '2016-123456'; $data->setHideCode(true); $data->setCountCode($billCountCode); $rawPdfData = $client->getBillPdf($data); // write response into file $fileName = $billCountCode . '.pdf'; $fh = fopen($fileName, 'w'); fwrite($fh, $rawPdfData); fclose($fh);
!! important note !!
Currently API only has some methods. Other methods will (maybe) come eventually, if needed. Warning: this is not official API, nor is officially supported, so use it at your own risk. But you can contact me for any questions :)