Skip to content

Commit

Permalink
docs: create readme
Browse files Browse the repository at this point in the history
  • Loading branch information
erikgreasy committed Mar 17, 2023
1 parent ef6ed16 commit c5dc110
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# SuperFaktúra PHP api client
PHP api klient pre komunikáciu s REST api systémom SuperFaktúra.

## Všebecné / Motivácia
Motiváciou k vytvoreniu tohto balíčku bolo časté využívanie (výborného) fakturačného softvéru SuperFaktúra. Existujúci first party [PHP api klient](https://github.com/superfaktura/apiclient) je bohužiaľ už nekompatibilný s novými PHP verziami a jeho používanie na projektoch bolo čím ďalej náročnejšie. Preto som sa rozhodol vytvoriť vlastný api klient, ktorý by bol použiteľný v novších projektoch, do budúcna zjednodušenie práce s api, strongly typed parametre... Oficiálnu REST api dokumentáciu je možné nájsť na [tejto adrese](https://github.com/superfaktura/docs).

**Projekt je vyvíjaný ako víkendový projekt, nápady na zlepšenia a PR sú vítané.**

## Požiadavky
PHP >= 8.1

## Inštalácia
Inštalácia je možná cez nástroj Composer:
```
composer require erikgreasy/superfaktura-client
```

## Použitie

### Vytvorenie klienta
Pre komunikáciu s api, je v prvom kroku potrebné vytvoriť inštanciu triedy Superfaktura, pomocou ktorej prebiehajú všetky volania.

Vytvorenie klienta (údaje email a apiKey je možné nájsť vo vašej administrácii SuperFaktúry v časti Nástroje - API)
```PHP
use Erikgreasy\Superfaktura\Superfaktura;

$sf = new Superfaktura(
email: 'email@example.com',
apiKey: 'vygenerovany_api_kluc',
isSandbox: true // pouzitie sandbox modu - optional parameter
);
```

### Vytvorenie faktúry
Pre vytváranie faktúr v systéme je možné využiť nasledujúcu ukážku kódu. Štruktúra parametrov metód vychádza zo [štruktúry REST api pre vyváranie faktúry](https://github.com/superfaktura/docs/blob/master/invoice.md#add-invoice).
```PHP
$response = $sf
->newInvoice()
->setClient([
'name' => 'Klient s.r.o.'
])
->addItem([
'name' => 'Položka 1',
'unit_price' => 20,
])
->addItem([
'name' => 'Položka 2',
'unit_price' => 20,
'quantity' => 2,
])
->save();
```

0 comments on commit c5dc110

Please sign in to comment.