abb / fakturownia
PHP client for Fakturownia API
Installs: 37 980
Dependents: 1
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 3
Open Issues: 1
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- nyholm/psr7: ^1.8
- psr/http-client: ^1.0
- symfony/http-client: ^5.4 || ^6.0 || ^7.0
- symfony/http-client-contracts: ^2.5 || ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.65
- phpunit/phpunit: ^9.6
README
PHP client for Fakturownia (InvoiceOcean) API.
Requirements
- PHP 7.4 or higher with curl and json extensions.
Installation
The recommended way to install is through Composer.
$ composer require abb/fakturownia
Example of usage
$config = new \Abb\Fakturownia\Config('your_subdomain', 'api_token'); $fakturownia = new \Abb\Fakturownia\Fakturownia($config); // Get invoice with ID 123 $response = $fakturownia->invoices()->getOne(123); // Get invoices by parameters $params = [ 'period' => 'this_month', 'page' => '1', ]; $response = $fakturownia->invoices()->getAll($params); // Get invoice with ID 123 as PDF and save it to file $pdfContent = $fakturownia->invoices()->getPdf(123); file_put_contents('/path/to/invoice_123.pdf', $pdfContent); // Create an invoice $invoiceData = [ 'kind' => 'vat', 'number' => null, 'sell_date' => '2013-01-16', 'issue_date' => '2013-01-16', 'payment_to' => '2013-01-23', 'seller_name' => 'Wystawca Sp. z o.o.', 'seller_tax_no' => '5252445767', 'buyer_name' => 'Klient1 Sp. z o.o.', 'buyer_email' => 'buyer@testemail.pl', 'buyer_tax_no' => '5252445767', 'positions' => [ [ 'name' => 'Produkt A1', 'tax' => 23, 'total_price_gross' => 10.23, 'quantity' => 1, ], [ 'name' => 'Produkt A2', 'tax' => 0, 'total_price_gross' => 50, 'quantity' => 3, ], ], ]; $response = $fakturownia->invoices()->create($invoiceData); // Update invoice with ID 123 $invoiceData = [ 'buyer_name' => 'Nowa nazwa klienta Sp. z o.o.', 'positions' => [ [ 'id' => 32649087, 'name' => 'Nowa nazwa pozycji na fakturze', ], ], ]; $response = $fakturownia->invoices()->update(123, $invoiceData); // Delete invoice with ID 123 $response = $fakturownia->invoices()->delete(123);
Error handling
$fakturownia = new \Abb\Fakturownia\Fakturownia($config); $invoiceData = [ // ... ]; try { $response = $fakturownia->invoices()->create($invoiceData); } catch (\Abb\Fakturownia\Exception\ApiException $e) { $msg = $e->getMessage(); // error message $statusCode = $e->getCode(); // status code, e.g. 400, 401, 500 etc. $details = $e->getDetails(); // error details (if available) } catch (\Abb\Fakturownia\Exception\RuntimeException $e) { $msg = $e->getMessage(); } $lastResponse = $fakturownia->getLastResponse(); // last API response or NULL if not available
API documentation
More info about the required parameters for each method can be found here: PL | EN.