Manuál pre vývojárov - Faktúry online API

Manuál použitia Faktúry online API a ukážky zdrojových kódov

Predtým ako začnete...

Inicializácia sedenia

Faktúry:

Vytvorenie novej faktúry

Zobrazenie faktúry

Úhrada faktúry

Status a detail faktúry

Zoznam faktúr

Cenové ponuky:

Vytvorenie novej cenovej ponuky

Zobrazenie cenovej ponuky

Status a detail cenovej ponuky

Zoznam cenových ponúk

Predtým ako začnete...

Je potrebné, aby ste poznali svoj API kľúč. API kľúč je 32 znakový reťazec nutný pre používanie API. Svoj API kľúč nikomu nedávajte. Unikátny API kľúč si nájdete vo Vašom profile hneď po prihlásení sa na uvítacej stránke.

Inicializácia sedenia

Inicializácia sedenia je potrebná pre manipuláciu s dokumentami, napríklad zobrazenie faktúry, úhradu faktúry, detail cenovej ponuky a podobne. Volanie API pre vytvorenie inicializácie sedenia:
https://www.faktury-online.com/api/init?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku, inicializácia sedenia bola vytvorená
102 Chyba Parameter data nebol odoslaný metódou GET.
103 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
104 Chyba API kľúč nie je zadaný správne.
105 Chyba Parameter email nie je zadaný.
106 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
107 Chyba Používateľ neexistuje.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);
$result = json_decode($output, true);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Sedenie bolo vytvorené";
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}

Odpoveď:
Array
(
    [status] => 1
)

Vytvorenie novej faktúry

Volanie API pre vytvorenie novej faktúry:
https://www.faktury-online.com/api/nf?data={JSON}
Nasledujúce tabuľky uvádzajú zoznam parametrov, pomocou ktorých môžete vytvoriť novú faktúru.

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
apitest nepovinný parameter Parameter apitest určuje, či vytvorená faktúra slúži na testovacie účely. Tento parameter by mali použiť iba vývojári, ktorí implementujú Faktúry online API. Systém bude brať vytvorenú faktúru ako testovaciu a v rozmedzí 5 – 10 minút ju odstráni. Odporúčame mať túto hodnotu zapnutú pri testovaní implementácie API. V produkčnej prevádzke túto hodnotu vypnite, inak sa faktúry odstránia automaticky.
Možné hodnoty: 1 alebo 0
Predvolená hodnota: 0
Parametre dodávateľa:
Dodávateľa môžeme vybrať buď pomocou parametra d_id, ktorého máme uloženého v zozname Moje spoločnosti (možnosť 1) alebo všetky potrebné údaje vyplníme v parametroch (možnosť 2).
Parameter Atribút Popis
d_id možnosť 1 / povinný paramater ID dodávateľa (ID nájdete v zozname Moje spoločnosti).
d_name možnosť 2 / povinný paramater Obchodný názov dodávateľa.
d_street možnosť 2 / nepovinný paramater Ulica dodávateľa.
d_city možnosť 2 / nepovinný paramater Mesto dodávateľa.
d_state možnosť 2 / nepovinný paramater Štát dodávateľa.
d_zip možnosť 2 / nepovinný paramater PSČ dodávateľa.
d_ico možnosť 2 / nepovinný paramater IČO dodávateľa.
d_dic možnosť 2 / nepovinný paramater DIČ dodávateľa.
d_icdph možnosť 2 / nepovinný paramater IČDPH dodávateľa.
d_vatpayer možnosť 2 / nepovinný paramater Platiteľ DPH.
Možné hodnoty:
Platiteľ DPH: 1
Nelatiteľ DPH: 0
Predvolená hodnota: 0
d_viewpayer možnosť 2 / nepovinný paramater Zobraziť na faktúre informáciu, či je dodávateľ platiteľom DPH.
Možné hodnoty:
Áno: 1
Nie: 0
Predvolená hodnota: 1
d_info možnosť 2 / nepovinný paramater Info o dodávateľovi.
d_bankaccount možnosť 2 / nepovinný paramater Číslo účtu dodávateľa.
d_bank možnosť 2 / nepovinný paramater Názov banky dodávateľa.
d_iban možnosť 2 / nepovinný paramater IBAN dodávateľa.
d_swift možnosť 2 / nepovinný paramater SWIFT dodávateľa.
d_email možnosť 2 / nepovinný paramater Email dodávateľa.
d_web možnosť 2 / nepovinný paramater Web dodávateľa.
d_phone možnosť 2 / nepovinný paramater Telefón dodávateľa.
d_custom_key_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - kľúč
d_custom_value_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - hodnota
d_custom_key_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - kľúč
d_custom_value_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - hodnota
Parametre odberateľa:
Parameter Atribút Popis
o_name povinný paramater Obchodný názov odberateľa.
o_street nepovinný paramater Ulica odberateľa.
o_city nepovinný paramater Mesto odberateľa.
o_state nepovinný paramater Štát odberateľa.
o_zip nepovinný paramater PSČ odberateľa.
o_ico nepovinný paramater IČO odberateľa.
o_dic nepovinný paramater DIČ odberateľa.
o_icdph nepovinný paramater IČDPH odberateľa.
o_email nepovinný paramater Email odberateľa.
o_name_d nepovinný paramater Adresa dodania - Obchodný názov.
o_street_d nepovinný paramater Adresa dodania - Ulica.
o_city_d nepovinný paramater Adresa dodania - Mesto.
o_state_d nepovinný paramater Adresa dodania - Štát.
o_zip_d nepovinný paramater Adresa dodania - PSČ.
o_custom_key_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - kľúč
o_custom_value_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - hodnota
o_custom_key_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - kľúč
o_custom_value_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - hodnota
Parametre faktúry:
Parameter Atribút Popis
f_number nepovinný paramater Číslo faktúry. Ak nie je vyplnené, číslo sa automaticky zvýši o 1 z posledne vytvorenej faktúry (rozhodujúci je dátum vystavenia, číslo faktúry musí mať numerický formát).
f_vs nepovinný paramater Variabilný symbol.
f_ks nepovinný paramater Konštantný symbol.
f_date_issue nepovinný paramater Dátum vystavenia. Vo formáte RRRR-MM-DD.
Predvolená hodnota: Aktuálny dátum
f_date_delivery nepovinný paramater Dátum dodania. Vo formáte RRRR-MM-DD.
Predvolená hodnota: Aktuálny dátum
f_date_due nepovinný paramater Dátum splatnosti. Vo formáte RRRR-MM-DD.
Predvolená hodnota: 14 dní od aktuálneho dátumu
f_date_payment nepovinný paramater Dátum prijatej platby pre typ faktúry č. 5 vo formáte RRRR-MM-DD.
Predvolená hodnota: Aktuálny dátum
f_issued_by nepovinný paramater Faktúru vystavil.
f_order nepovinný paramater Číslo objednávky.
f_payment nepovinný paramater Typ úhrady.
Možné hodnoty:
Peňažný prevod: prevod
Poštová poukážka: poukazka
Hotovosť: hotovost
Dobierka: dobierka
Registračná pokladňa: pokladna
Internetový platobný poskytovateľ: eprovider
Platobná karta: karta
Zápočet: zapocet
Iná: ina
Predvolená hodnota: prevod
f_note_above nepovinný paramater Poznámka vo faktúre. Zobrazenie poznámky nad fakturačnými položkami.
f_note nepovinný paramater Poznámka vo faktúre. Zobrazenie poznámky pod fakturačnými položkami. V prípade, že je dodávateľ vybraný pomocou parametra d_id a f_note je prázdne, zobrazí sa príslušná uložená poznámka k tomuto dodávateľovi.
f_logo nepovinný paramater Zobrazenie loga.
Možné hodnoty:
Nezobrazí sa: 0
Zobrazí sa: 1 (iba v prípade, že dodávateľ bol načítaný pomocou d_id a logo má uložené)
f_stamp nepovinný paramater Zobrazenie pečiatky.
Možné hodnoty:
Nezobrazí sa: 0
Zobrazí sa: 1 (iba v prípade, že dodávateľ bol načítaný pomocou d_id a pečiatku má uloženú)
f_currency nepovinný paramater Mena na faktúre. Označenie meny. Predvolená hodnota je EUR.
Predvolená hodnota: EUR
f_type nepovinný paramater Typ faktúry.
Možné hodnoty:
1: faktúra
2: zálohová faktúra
3: dobropis
4: ťarchopis
5: doklad k prijatej platbe
Predvolená hodnota: 1
f_original_num povinný pre typ faktúry 3 a 4 / nepovinný paramater V dobropise alebo v ťarchopise je povinné uviesť referenciu na pôvodný doklad.
Predvolená hodnota: 0
f_paid nepovinný paramater Už uhradené nedaňovými zálohami. Hodnota sa neuvádza v doklade k prijatej platbe.
Predvolená hodnota: 0
f_rounding nepovinný paramater Zaokrúhlenie celkovej sumy k úhrade
Možné hodnoty:
0: žiadne zaokrúhlenie
1: zaokrúhlenie na celú časť hore
2: zaokrúhlenie na celú časť dole
3: zaokrúhlenie na 5 stotín (5 centov)
Predvolená hodnota: 0
f_style nepovinný paramater Vizuálny štýl faktúry.
Možné hodnoty:
styl_1
styl_2
styl_3
styl_4
styl_5
styl_6
styl_7 (predvolená šablóna dizajnéra)
Predvolená hodnota: styl_1
f_language nepovinný paramater Jazyk faktúry.
Možné hodnoty:
SK, CS, EN, DE, FR, ES, IT, HU, PL, RU, NO, DK
Predvolená hodnota: SK
f_qr nepovinný paramater Zobraziť QR kód platby.
Možné hodnoty:
0: nezobraziť
1: pay-by-square
2: SPD formát
3: EPC formát
Predvolená hodnota: 1
f_omit_stats nepovinný paramater Vynechať hodnotu zo štatistiky.
Možné hodnoty:
0
1
Predvolená hodnota: 0
f_custom nepovinný paramater Ľubovoľná textová informácia odoslaná cez API. Zobrazí sa ako samostatný stĺpec v excelovskom exporte.
text, max. 50 znakov
f_tags nepovinný paramater Zoznam (pole) tagov, nachádzajúcich sa v zozname Moje označenia / tagy, ktoré sa majú priradiť k dokumentu. Formát:
Array
(
    [0] => Názov tagu 1
    [1] => Názov tagu 2
)
Parametre položiek faktúry:
Parameter Atribút Popis
p_text povinný paramater Text fakturačnej položky.
p_quantity povinný paramater Množstvo. Číslo.
p_unit povinný paramater Merná jednotka. Napríklad kg, ks,...
p_price možnosť 1 / nepovinný paramater Cena za jednu mernú jednotku bez dane. Na základe tejto hodnoty sa vypočíta cena s DPH. V príde, že tento atribút nie je zadaný, musí byť zadaný atribút p_pricevat. Pre neplatiteľov DPH je tento parameter povinný.
p_vat nepovinný paramater Daň v percentách. Vypĺňa sa iba vtedy, ak je dodávateľ platiteľom DPH.
p_pricevat možnosť 2 / nepovinný paramater Cena za jednu mernú jednotku vrátane dane. V prípade, že je tento atribút zadaný, vypočíta sa cena bez dane bez ohľadu, či bol atribút p_price zadaný.
p_custom nepovinný paramater Ľubovoľná textová informácia odoslaná cez API pre položku faktúry. Zobrazí sa ako samostatný stĺpec v excelovskom exporte.
text, max. 50 znakov
Formát dát pred odoslaním:
Array
(
    [key] => dJyMc*53@687*wGhofIWi!WDcEEQUdmj
    [email] => name@example.com
    [apitest] => 1
    [d] => Array
        (
            [d_name] => Moja spoločnosť s.r.o.
            [d_street] => Mostová 56
            [d_city] => Trenčín
            [d_zip] => 843 21
            [d_state] => Slovensko
            [d_ico] => 43226520
            [d_dic] => 2165052345
            [d_icdph] => SK2165052345
            [d_vatpayer] => 1
            [d_viewpayer] => 1
            [d_info] => Zapísaný v OR Trenčín, oddiel: Sro, vl.č.1234/X
            [d_bankaccount] => 1234567890/0200
            [d_bank] => VÚB banka
            [d_iban] => SK6702000000001234567890
            [d_swift] => SUBASKBX
            [d_email] => info@example.com
            [d_web] => www.example.com
            [d_phone] => +421 903 111 111
        )

    [o] => Array
        (
            [o_name] => Andrej Klačanský
            [o_street] => Štefánikova 455/2
            [o_city] => Martin
            [o_zip] => 876 54
            [o_state] => Slovensko
            [o_ico] => 
            [o_dic] => 
            [o_icdph] => 
            [o_email] => client@example.com
        )

    [f] => Array
        (
            [f_number] => 2024099
            [f_vs] => 2024099
            [f_ks] => 308
            [f_date_issue] => 2024-02-14
            [f_date_delivery] => 2024-02-14
            [f_date_due] => 2024-02-28
            [f_issued_by] => Moja spoločnosť s.r.o.
            [f_payment] => prevod
            [f_logo] => 1
            [f_stamp] => 0
            [f_currency] => EUR
            [f_type] => 1
            [f_paid] => 
            [f_rounding] => 0
            [f_style] => standard
            [f_language] => SK
            [f_qr] => 1
            [f_order] => OBJ-2017-514
            [f_tags] => Array
                (
                    [0] => VIP klient
                    [1] => Doprava zdarma
                )

        )

    [p] => Array
        (
            [0] => Array
                (
                    [p_text] => Maliarske práce
                    [p_quantity] => 3
                    [p_unit] => hod
                    [p_price] => 15
                    [p_vat] => 20
                )

            [1] => Array
                (
                    [p_text] => Upratovacie práce
                    [p_quantity] => 2
                    [p_unit] => hod
                    [p_vat] => 20
                    [p_pricevat] => 14.4
                )

        )

)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku, faktúra bola vytvorená
2 Chyba Parameter data nebol odoslaný metódou GET.
3 Chyba API kľúč nie je zadaný alebo nie je platný počet znakov.
4 Chyba API kľúč nie je zadaný správne.
5 Chyba Parameter email nie je zadaný.
6 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
7 Chyba Používateľ neexistuje.
8 Chyba Potrebné zadať ID dodávateľa alebo jeho názov..
9 Chyba Zrušené
10 Chyba Vložené ID dodávateľa nie je správne.
11 Chyba Nie je zadané meno dodávateľa.
12 Chyba Nie je zadané meno odberateľa.
13 Chyba Chýbajú fakturačné údaje.
14 Chyba Chýbajú položky faktúry alebo nie sú zadané správne.
15 Chyba Chyba vo fakturačnej položke chýba povinný údaj.
16 Chyba Množstvo vo fakturačnej položke nie je číslo.
17 Chyba Cena bez dane vo fakturačnej položke nie je číslo.
18 Chyba Daň v percentách nie je zadaná správne.
19 Chyba Vo fakturačnej položke nie je vložená cena bez dane alebo cena vrátane dane.
20 Chyba Nepovolený jazyk vo faktúre.
21 Chyba Vo fakturačnej položke nie je vložená cena bez dane, pričom dodávateľ nie je platiteľom DPH.
22 Chyba Cena vrátane dane vo fakturačnej položke nie je číslo.
23 Chyba Pri dobropise alebo ťarchopise musí byť uvedená referencia na originálny doklad f_original_num.
24 Chyba Pri dobropise musí byť výsledná suma záporná.
25 Chyba Dátum prijatej platby f_date_payment v daňovom doklade k prijatej platbe nie je zadaný správne.
26 Chyba V daňovom doklade k prijatej platbe nesmie byť vložená hodnota prijatých záloh f_paid.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// V prípade, že budeme testovať API, zvolíme hodnotu 1
// Znamená to, že všetky vytvorené faktúry sa automaticky odstránia o 5 - 10 minút od vytvorenia
$data['apitest'] = 1; //hodnota môže byť 1 alebo 0


// Príprava dát dodávateľa
$dodavatel = [];

// Údaje dodávateľa môžeme použiť buď z uložených záznamov v zozname Moje spoločnosti
// alebo údaje dodávateľa vložíme zadaním dát.
// Ak použijeme existujúceho dodávateľa, vložíme iba jeho ID.
// $dodavatel['d_id'] = 123; // ID dodávateľa nájdeme v zozname Moje spoločnosti

// alebo (nie obe):
$dodavatel['d_name'] = "Moja spoločnosť s.r.o."; // Obchodný názov dodávateľa
$dodavatel['d_street'] = "Mostová 56"; // Ulica
$dodavatel['d_city'] = "Trenčín"; // Mesto
$dodavatel['d_zip'] = "843 21"; // PSČ
$dodavatel['d_state'] = "Slovensko"; // Štát
$dodavatel['d_ico'] = "43226520"; // IČO
$dodavatel['d_dic'] = "2165052345"; // DIČ
$dodavatel['d_icdph'] = "SK2165052345"; // IČDPH
$dodavatel['d_vatpayer'] = "1"; // Platiteľ DPH. Pokiaľ je dodávateľ platiteľom DPH ponechajte
// hodnotu 1, ak nie je platiteľom DPH, napíšte 0.
$dodavatel['d_viewpayer'] = "1"; //  Pokiaľ chcete zobraziť informáciu na faktúre,
// že dodávateľ je/nie je platiteľom DPH.
$dodavatel['d_info'] = "Zapísaný v OR Trenčín, oddiel: Sro, vl.č.1234/X"; //Info o dodávateľovi
$dodavatel['d_bankaccount'] = "1234567890/0200"; // Číslo účtu
$dodavatel['d_bank'] = "VÚB banka"; // Názov banky
$dodavatel['d_iban'] = "SK6702000000001234567890"; // IBAN
$dodavatel['d_swift'] = "SUBASKBX"; // SWIFT
$dodavatel['d_email'] = "info@example.com"; // E-mail
$dodavatel['d_web'] = "www.example.com"; // WEB
$dodavatel['d_phone'] = "+421 903 111 111"; // Telefón

// Pridanie dodávateľa k dátam:
$data['d'] = $dodavatel;


// Príprava dát odberateľa
$odberatel = [];
$odberatel['o_name'] = "Andrej Klačanský"; // Názov odberateľa
$odberatel['o_street'] = "Štefánikova 455/2"; // Ulica
$odberatel['o_city'] = "Martin"; // Mesto
$odberatel['o_zip'] = "876 54"; // PSČ
$odberatel['o_state'] = "Slovensko"; // Štát
$odberatel['o_ico'] = ""; // IČO
$odberatel['o_dic'] = ""; // DIČ
$odberatel['o_icdph'] = ""; // IČDPH
$odberatel['o_email'] = "client@example.com"; // Email odberateľa

// Pridanie odberateľa k dátam:
$data['o'] = $odberatel;


// Príprava fakturačných údajov
$faktura = [];

// Číslo faktúry môžeme zadať ručne:
$faktura['f_number'] = "2024099";
// Ak chceme vypočítať číslo faktúry automaticky, toto pole neuvedieme. Odporúča sa však
// mať zapnuté a nastavené automatické číslovanie faktúr pre vybraného dodávateľa.

$faktura['f_vs'] = "2024099"; // Variabilný symbol
$faktura['f_ks'] = "308"; // Konštantný symbol
$faktura['f_date_issue'] = '2024-02-14'; // Dátum vystavenia vo formáte RRRR-MM-DD
$faktura['f_date_delivery'] = '2024-02-14'; // Dátum dodania vo formáte RRRR-MM-DD
$faktura['f_date_due'] = '2024-02-28'; // Dátum splatnosti vo formáte RRRR-MM-DD
$faktura['f_issued_by'] = "Moja spoločnosť s.r.o.";  //Faktúru vystavil
$faktura['f_payment'] = "prevod";   //Druh plaby. Na výber sú "prevod", "poukazka",
// "hotovost", "dobierka", "registracna_pokladna", "ina",  "eprovider"
$faktura['f_logo'] = "1";   // Zobraziť logo dodávateľa. Iba v prípade, že bol
// dodávateľ vybraný pomocou ID a má uložené logo.
$faktura['f_stamp'] = "0";  // Nezobraziť pečiatku
$faktura['f_currency'] = "EUR";  //Mena faktúry
$faktura['f_type'] = "1";  // Faktúra
$faktura['f_paid'] = "";  // Už uhradená suma nedaňovými zálohami
$faktura['f_rounding'] = "0";  // Zaokrúhlenie - žiadne
$faktura['f_style'] = "standard";  // Štýl faktúry. Možnosti sú standard alebo classic
$faktura['f_language'] = "SK";   // Jazyk faktúry: SK, CZ, EN, DE, ES, IT, FR, HU, PL, NO, RU
$faktura['f_qr'] = "1";   // Zobraziť QR kód (PAY by square)
$faktura['f_order'] = "OBJ-2017-514";  //Číslo objednávky
$faktura['f_tags'] = ["VIP klient", "Doprava zdarma"];  //Priradiť označenia k faktúre

// Pridanie fakturačných údajov k dátam:
$data['f'] = $faktura;


// Príprava fakturačných položiek
$polozky = [];
// prvá položka:
$polozka = [];
$polozka['p_text'] = "Maliarske práce"; // Názov služby alebo tovaru
$polozka['p_quantity'] = "3"; // Množstvo
$polozka['p_unit'] = "hod"; // Merná jednotka
$polozka['p_price'] = "15"; // Cena za jednu jednotku bez DPH (Cena s DPH sa vypočíta)
$polozka['p_vat'] = "20"; // Daň v %
// priradenie k položkám:
$polozky[] = $polozka;

// druhá položka:
$polozka = [];
$polozka['p_text'] = "Upratovacie práce"; // Názov služby alebo tovaru
$polozka['p_quantity'] = "2"; // Množstvo
$polozka['p_unit'] = "hod"; // Merná jednotka
$polozka['p_vat'] = "20"; // Daň v %
$polozka['p_pricevat'] = "14.4"; // Cena za jednu jednotku vrátane DPH (Cena bez DPH sa vypočíta)
// priradenie k položkám:
$polozky[] = $polozka;

// priradenie fakturačných položiek k dátam:
$data['p'] = $polozky;

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/nf?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Uložené, nová faktúra má kód: " . $result['code'] . " <br />";
    echo "Číslo faktúry: " . $result['number'] . " <br />";
    echo "Faktúra vytvorená: " . $result['created'] . " <br />";
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}

Odpoveď:
Array
(
    [status] => 1
    [code] => 1a35b89cd48eaf8940a6409ff45a0cc5
    [number] => 2024099
    [created] => 2024-02-15 17:45:12
)

Zobrazenie faktúry

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Volanie API pre zobrazenie faktúry:
https://www.faktury-online.com/api/zf?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
code povinný parameter Kód faktúry (získaný z odpovede API pri vytvorení faktúry)
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [code] => 26915945a67c8b7ba74dac59c5badfbf
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
202 Chyba Parameter data nebol odoslaný metódou GET.
203 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
204 Chyba API kľúč nie je zadaný správne.
205 Chyba Parameter email nie je zadaný.
206 Chyba Nie je vytvorené sedenie
207 Chyba Vytvorené sedenie nie je správne
208 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
209 Chyba Používateľ neexistuje.
210 Chyba Nie je zadaný kód faktúry.
211 Chyba Kód faktúry nie je zadaný správne.
212 Chyba Chyba pri výbere faktúry
213 Chyba Chyba pri zobrazení šablóny faktúry
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
// vytvori subor cookie.txt, pozor na prava na zapis
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);
$result = json_decode($output, true);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Kód faktúry:
$data['code'] = "14915945a66c8b7be74dac59c5badfbf";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/zf?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);
$result = json_decode($output, true);
$url = $result['url'];
$cislo = $result['number'];


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// pre zobrazenie faktúry:
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $cislo . '.pdf"');
header('Cache-Control: private, max-age=0, must-revalidate');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
echo curl_exec($ch);


/*
// pre download faktúry:
header('Content-Type: application/download');
header('Content-Disposition: inline; filename="'.$cislo.'.pdf"');
header('Cache-Control: private, max-age=0, must-revalidate');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
echo curl_exec($ch);
*/

Odpoveď:
Array
(
    [status] => 1
    [url] => https://www.faktury-online.com/faktury/detail-subor?f=26915945a67c8b7ba74dac59c5badfbf
    [number] => FA2019015
)

Úhrada faktúry

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Volanie API pre zobrazenie faktúry:
https://www.faktury-online.com/api/uf?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
code povinný parameter Kód faktúry (získaný z odpovede API pri vytvorení faktúry)
date nepovinný parameter Dátum úhrady faktúry
Predvolená hodnota: 'Aktuálny dátum'
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [code] => 26915945a67c8b7ba74dac59c5badfbf
    [date] => 2019-06-01
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
302 Chyba Parameter data nebol odoslaný metódou GET.
303 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
304 Chyba API kľúč nie je zadaný správne.
305 Chyba Parameter email nie je zadaný.
306 Chyba Nie je vytvorené sedenie
307 Chyba Vytvorené sedenie nie je správne
308 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
309 Chyba Používateľ neexistuje.
310 Chyba Nie je zadaný kód faktúry.
311 Chyba Kód faktúry nie je zadaný správne.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);
$result = json_decode($output, true);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Kód faktúry:
$data['code'] = "14915945a66c8b7be74dac59c5badfbf";
// Dátum úhrady
$data['date'] = "2017-06-01"; // prípadne žiadny záznam pre nastavenie dnešného dňa úhrady

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/uf?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);
$result = json_decode($output, true);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Faktúra bola uhradená";
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}



Odpoveď:
Array
(
    [status] => 1
)

Status a detail faktúry

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Volanie API pre zobrazenie statusu a detailu faktúry:
https://www.faktury-online.com/api/status?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
code povinný parameter Kód faktúry (získaný z odpovede API pri vytvorení faktúry)
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [code] => 26915945a67c8b7ba74dac59c5badfbf
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
402 Chyba Parameter data nebol odoslaný metódou GET.
403 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
404 Chyba API kľúč nie je zadaný správne.
405 Chyba Parameter email nie je zadaný.
406 Chyba Nie je vytvorené sedenie
407 Chyba Vytvorené sedenie nie je správne
408 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
409 Chyba Používateľ neexistuje.
410 Chyba Nie je zadaný kód faktúry.
411 Chyba Kód faktúry nie je zadaný správne.
412 Chyba Chyba pri výbere faktúry
413 Chyba Chyba pri zobrazení šablóny faktúry
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Kód faktúry:
$data['code'] = "14915945a66c8b7be74dac59c5badfbf";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/status?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Dodávateľ: {$result['supplier']} \n";
    echo "Dodávateľ IČO: {$result['supplier_ico']} \n";
    echo "Odberateľ / Zákazník: {$result['customer']} \n";
    echo "Odberateľ / Zákazník IČO: {$result['customer_ico']} \n";
    // Možnosti: faktura, zalohova_faktura, dobropis, danovy_doklad
    echo "Typ faktúry: {$result['invoice_type']} \n";
    echo "Číslo faktúry: {$result['invoice_number']} \n";
    echo "Suma bez DPH: {$result['invoice_amount']} \n";
    if (isset($result['invoice_amount_vat'])){
        echo "Suma s DPH: {$result['invoice_amount_vat']} \n";
    }
    echo "Mena: {$result['invoice_currency']} \n";
    echo "Dátum vystavenia: {$result['invoice_date_issue']} \n";
    echo "Dátum dodania: {$result['invoice_date_delivery']} \n";
    echo "Dátum splatnosti: {$result['invoice_date_due']} \n";
    // Možnosti: ano, nie, ciastocne
    echo "Faktúra uhradená: {$result['invoice_paid']} \n";
    if ($result['invoice_paid'] != 'nie'){
        echo "Uhradená suma: {$result['invoice_paid_amount']} \n";
        echo "Dátum úhrady: {$result['invoice_date_payment']} \n";
    }
    echo "Vlastné dáta z API: {$result['invoice_api_custom']} \n";
    if (isset($result['invoice_tags']) && is_array($result['invoice_tags'])){
        echo "Tagy faktúry: ";
        echo implode(", ",$result['invoice_tags']);
    }
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}



Odpoveď:
Array
(
    [status] => 1
    [supplier] => Moja firma s.r.o.
    [supplier_street] => Mostová 56
    [supplier_city] => Trenčín
    [supplier_zip] => 843 21
    [supplier_state] => Slovenská republika
    [supplier_ico] => 43226520
    [supplier_dic] => 2165052345
    [supplier_icdph] => SK2165052345
    [supplier_info] => Zapísaný v OR Trenčín, oddiel:Sro, vl.č.1234/X
    [supplier_bankaccount] => 
    [supplier_bank] => VÚB
    [supplier_iban] => SK1200000000001234567891
    [supplier_swift] => 
    [supplier_email] => info@example.com
    [supplier_phone] => +421 903 111 111
    [supplier_web] => www.example.com
    [supplier_custom_key_1] => Číslo licencie
    [supplier_custom_value_1] => LIC-6554/2022
    [supplier_custom_key_2] => 
    [supplier_custom_value_2] => 
    [customer] => Andrej Klačanský
    [customer_street] => Štefánikova 455/2
    [customer_city] => Martin
    [customer_zip] => 876 54
    [customer_state] => 
    [customer_ico] => 
    [customer_dic] => 
    [customer_icdph] => 
    [customer_email] => client@example.com
    [customer_info] => 
    [customer_delivery_name] => 
    [customer_delivery_street] => 
    [customer_delivery_city] => 
    [customer_delivery_zip] => 
    [customer_delivery_state] => 
    [customer_custom_key_1] => Telefón
    [customer_custom_value_1] => 5641655465
    [customer_custom_key_2] => 
    [customer_custom_value_2] => 
    [invoice_type] => faktura
    [invoice_number] => 2022-003
    [invoice_vs] => 2022003
    [invoice_ks] => 0308
    [invoice_payment_type] => prevod
    [invoice_currency] => EUR
    [invoice_date_issue] => 2022-01-01
    [invoice_date_delivery] => 2022-03-29
    [invoice_date_due] => 2022-04-12
    [invoice_order] => 
    [invoice_issued_by] => Martin Hrubý
    [invoice_note] => Poznámka pod položkami
    [invoice_note_above] => Poznámka nad položkami
    [invoice_amount] => 198
    [invoice_amount_vat] => 198
    [invoice_vat_reverse_c] => ano
    [invoice_paid_advanced] => 50
    [invoice_total_discount_perc] => 10
    [invoice_to_pay] => 148
    [invoice_paid] => ano
    [invoice_paid_amount] => 148
    [invoice_date_payment] => 2022-04-27
    [invoice_api_custom] => Test custom
    [invoice_language] => sk
    [items] => Array
        (
            [0] => Array
                (
                    [item_name] => Maliarske práce
                    [item_unit] => hod
                    [item_quantity] => 8
                    [item_unit_price] => 20
                    [item_unit_price_total] => 24
                    [item_vat_rate] => 20
                    [item_vat_total] => 32
                    [item_unit_price_vat] => 24
                    [item_unit_price_totla_vat] => 192
                    [item_api_custom] => 
                )

            [1] => Array
                (
                    [item_name] => Upratovacie práce
                    [item_unit] => hod
                    [item_quantity] => 4
                    [item_unit_price] => 15
                    [item_unit_price_total] => 18
                    [item_vat_rate] => 20
                    [item_vat_total] => 12
                    [item_unit_price_vat] => 18
                    [item_unit_price_totla_vat] => 72
                    [item_api_custom] => 
                )

        )

    [invoice_tags] => Array
        (
            [0] => Tag 1
            [1] => Tag 2
        )

)

Zoznam faktúr

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Nasledujúce URL vrátia zoznamy faktúr.
Všetky faktúry vytvorené v období:
https://www.faktury-online.com/api/list/created?data={JSON}
Všetky faktúry s dátumom vystavenia v období:
https://www.faktury-online.com/api/list/issued?data={JSON}
Všetky faktúry s dátumom dodania v období:
https://www.faktury-online.com/api/list/delivered?data={JSON}
Všetky faktúry s dátumom úhrady v období:
https://www.faktury-online.com/api/list/paid?data={JSON}
Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
from nepovinný parameter Dátum hľadania 'Od'
Formát: YYYY-MM-DD
to nepovinný parameter Dátum hľadania 'Do'
Formát: YYYY-MM-DD
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [from] => 2021-01-01
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
502 Chyba Parameter data nebol odoslaný metódou GET.
503 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
504 Chyba API kľúč nie je zadaný správne.
505 Chyba Parameter email nie je zadaný.
506 Chyba Nie je vytvorené sedenie
507 Chyba Vytvorené sedenie nie je správne
508 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
509 Chyba Používateľ neexistuje.
510 Chyba Chybná URL.
511 Chyba Dátum 'Od' je zadaný nesprávne.
512 Chyba Dátum 'Do' je zadaný nesprávne.
513 Chyba Nepodarilo sa identifikovať príslušný zoznam, zrejme chyba v URL.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Dáta v kalendárnom roku 2021
$data['from'] = '2021-01-01';
$data['to'] = '2021-12-31';
// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/list/paid?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    $faktury = $result['invoices'];
    foreach ($faktury as $faktura) {
        echo "Kód: {$faktura['code']} \n";
        echo "Dodávateľ: {$faktura['supplier']} \n";
        echo "Dodávateľ IČO: {$faktura['supplier_ico']} \n";
        echo "Odberateľ / Zákazník: {$faktura['customer']} \n";
        echo "Odberateľ / Zákazník IČO: {$faktura['customer_ico']} \n";
        // Možnosti: faktura, zalohova_faktura, dobropis, danovy_doklad
        echo "Typ faktúry: {$faktura['invoice_type']} \n";
        echo "Číslo faktúry: {$faktura['invoice_number']} \n";
        echo "Suma bez DPH: {$faktura['invoice_amount']} \n";
        if (isset($faktura['invoice_amount_vat'])) {
            echo "Suma s DPH: {$faktura['invoice_amount_vat']} \n";
        }
        echo "Mena: {$faktura['invoice_currency']} \n";
        echo "Dátum vystavenia: {$faktura['invoice_date_issue']} \n";
        echo "Dátum dodania: {$faktura['invoice_date_delivery']} \n";
        echo "Dátum splatnosti: {$faktura['invoice_date_due']} \n";
        // Možnosti: ano, nie, ciastocne
        echo "Faktúra uhradená: {$faktura['invoice_paid']} \n";
        if ($faktura['invoice_paid'] != 'nie') {
            echo "Uhradená suma: {$faktura['invoice_paid_amount']} \n";
            echo "Dátum úhrady: {$faktura['invoice_date_payment']} \n";
        }
        echo "Vlastné dáta z API: {$faktura['invoice_api_custom']} \n";
        echo "Tagy: {$faktura['tags']} \n";
    }
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}



Odpoveď:
Array
(
    [status] => 1
    [invoices] => Array
        (
            [0] => Array
                (
                    [code] => 1a35b89cd48eaf8940a6409ff45a0cc5
                    [supplier] => Moja spoločnosť s.r.o.
                    [supplier_ico] => 43226520
                    [customer] => Andrej Klačanský
                    [customer_ico] => 40436097
                    [invoice_type] => faktura
                    [invoice_number] => 20210400
                    [invoice_amount] => 200
                    [invoice_amount_vat] => 240
                    [invoice_currency] => EUR
                    [invoice_date_issue] => 2021-01-10
                    [invoice_date_delivery] => 2021-01-10
                    [invoice_date_due] => 2021-01-25
                    [invoice_paid] => ano
                    [invoice_paid_amount] => 240
                    [invoice_date_payment] => 2021-01-19
                    [invoice_api_custom] => data z API
                    [tags] => Tag1 ,Tag2
                )

        )

)

Vytvorenie novej cenovej ponuky

Volanie API pre vytvorenie novej cenovej ponuky:
https://www.faktury-online.com/api/ncp?data={JSON}
Nasledujúca tabuľka uvádza zoznam parametrov, pomocou ktorých môžete vytvoriť novú cenovú ponuku.

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
apitest nepovinný parameter Parameter apitest určuje, či vytvorená cenová ponuka slúži na testovacie účely. Tento parameter by mali použiť iba vývojári, ktorí implementujú Faktúry online API. Systém bude brať vytvorenú cenovú ponuku ako testovaciu a v rozmedzí 5 – 10 minút ju odstráni. Odporúčame mať túto hodnotu zapnutú pri testovaní implementácie API. V produkčnej prevádzke túto hodnotu vypnite, inak sa cenové ponuky odstránia automaticky.
Možné hodnoty: 1 alebo 0
Predvolená hodnota: 0
Parametre dodávateľa:
Dodávateľa môžeme vybrať buď pomocou parametra d_id, ktorého máme uloženého v zozname Moje spoločnosti (možnosť 1) alebo všetky potrebné údaje vyplníme v parametroch (možnosť 2).
Parameter Atribút Popis
d_id možnosť 1 / povinný paramater ID dodávateľa (ID nájdete v zozname Moje spoločnosti).
d_name možnosť 2 / povinný paramater Obchodný názov dodávateľa.
d_street možnosť 2 / nepovinný paramater Ulica dodávateľa.
d_city možnosť 2 / nepovinný paramater Mesto dodávateľa.
d_state možnosť 2 / nepovinný paramater Štát dodávateľa.
d_zip možnosť 2 / nepovinný paramater PSČ dodávateľa.
d_ico možnosť 2 / nepovinný paramater IČO dodávateľa.
d_dic možnosť 2 / nepovinný paramater DIČ dodávateľa.
d_icdph možnosť 2 / nepovinný paramater IČDPH dodávateľa.
d_vatpayer možnosť 2 / nepovinný paramater Platiteľ DPH.
Možné hodnoty:
Platiteľ DPH: 1
Neplatiteľ DPH: 0
Predvolená hodnota: 0
d_viewpayer možnosť 2 / nepovinný paramater Zobraziť v ponuke informáciu, či je dodávateľ platiteľom DPH.
Možné hodnoty:
Áno: 1
Nie: 0
Predvolená hodnota: 1
d_info možnosť 2 / nepovinný paramater Info o dodávateľovi.
d_bankaccount možnosť 2 / nepovinný paramater Číslo účtu dodávateľa.
d_bank možnosť 2 / nepovinný paramater Názov banky dodávateľa.
d_iban možnosť 2 / nepovinný paramater IBAN dodávateľa.
d_swift možnosť 2 / nepovinný paramater SWIFT dodávateľa.
d_email možnosť 2 / nepovinný paramater Email dodávateľa.
d_web možnosť 2 / nepovinný paramater Web dodávateľa.
d_phone možnosť 2 / nepovinný paramater Telefón dodávateľa.
d_custom_key_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - kľúč
d_custom_value_1 možnosť 2 / nepovinný paramater Vlastné pole č.1 - hodnota
d_custom_key_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - kľúč
d_custom_value_2 možnosť 2 / nepovinný paramater Vlastné pole č.2 - hodnota
Parametre odberateľa:
Parameter Atribút Popis
o_name povinný paramater Obchodný názov odberateľa.
o_street nepovinný paramater Ulica odberateľa.
o_city nepovinný paramater Mesto odberateľa.
o_state nepovinný paramater Štát odberateľa.
o_zip nepovinný paramater PSČ odberateľa.
o_ico nepovinný paramater IČO odberateľa.
o_dic nepovinný paramater DIČ odberateľa.
o_icdph nepovinný paramater IČDPH odberateľa.
o_email nepovinný paramater Email odberateľa.
o_name_d nepovinný paramater Adresa dodania - Obchodný názov.
o_street_d nepovinný paramater Adresa dodania - Ulica.
o_city_d nepovinný paramater Adresa dodania - Mesto.
o_state_d nepovinný paramater Adresa dodania - Štát.
o_zip_d nepovinný paramater Adresa dodania - PSČ.
o_custom_key_1 nepovinný paramater Vlastné pole č.1 - kľúč
o_custom_value_1 nepovinný paramater Vlastné pole č.1 - hodnota
o_custom_key_2 nepovinný paramater Vlastné pole č.2 - kľúč
o_custom_value_2 nepovinný paramater Vlastné pole č.2 - hodnota
Parametre cenovej ponuky:
Parameter Atribút Popis
po_rounding nepovinný paramater Zaokrúhlenie celkovej sumy k úhrade
Možné hodnoty:
0: žiadne zaokrúhlenie
1: zaokrúhlenie na celú časť hore
2: zaokrúhlenie na celú časť dole
3: zaokrúhlenie na 5 stotín (5 centov)
Predvolená hodnota: 0
po_number nepovinný paramater Číslo cenovej ponuky. Ak nie je vyplnené, číslo sa automaticky zvýši o 1 z posledne vytvorenej ponuky (rozhodujúci je dátum vystavenia, číslo cenovej ponuky musí mať numerický formát).
po_date_issue nepovinný paramater Dátum vystavenia. Vo formáte RRRR-MM-DD.
Predvolená hodnota: Aktuálny dátum
po_date_expiration nepovinný paramater Dátum platnosti cenovej ponuky. Vo formáte RRRR-MM-DD.
po_issued_by nepovinný paramater Cenovú ponuku vystavil.
po_note_above nepovinný paramater Poznámka v cenovej ponuke. Zobrazenie poznámky nad položkami.
po_note nepovinný paramater Poznámka v cenovej ponuke. Zobrazenie poznámky pod položkami. V prípade, že je dodávateľ vybraný pomocou parametra d_id a po_note je prázdne, zobrazí sa príslušná uložená poznámka k tomuto dodávateľovi.
po_logo nepovinný paramater Zobrazenie loga.
Možné hodnoty:
Nezobrazí sa: 0
Zobrazí sa: 1 (iba v prípade, že dodávateľ bol načítaný pomocou d_id a logo má uložené)
po_stamp nepovinný paramater Zobrazenie pečiatky.
Možné hodnoty:
Nezobrazí sa: 0
Zobrazí sa: 1 (iba v prípade, že dodávateľ bol načítaný pomocou d_id a pečiatku má uloženú)
po_currency nepovinný paramater Mena cenovej ponuky.
Predvolená hodnota: EUR
po_language nepovinný paramater Jazyk cenovej ponuky.
Možné hodnoty:
SK, CS, EN, DE, FR, ES, IT, HU, PL, RU, NO, DK
Predvolená hodnota: SK
po_custom nepovinný paramater Ľubovoľná textová informácia odoslaná cez API. Zobrazí sa ako samostatný stĺpec v excelovskom exporte.
text, max. 50 znakov
po_tags nepovinný paramater Zoznam (pole) tagov, nachádzajúcich sa v zozname Moje označenia / tagy, ktoré sa majú priradiť k dokumentu. Formát:
Array
(
    [0] => Názov tagu 1
    [1] => Názov tagu 2
)
Parametre položiek cenovej ponuky:
Parameter Atribút Popis
p_text povinný paramater Text položky cenovej ponuky.
p_quantity povinný paramater Množstvo. Číslo.
p_unit povinný paramater Merná jednotka. Napríklad kg, ks,...
p_price možnosť 1 / nepovinný paramater Cena za jednu mernú jednotku bez dane. Na základe tejto hodnoty sa vypočíta cena s DPH. V príde, že tento atribút nie je zadaný, musí byť zadaný atribút p_pricevat. Pre neplatiteľov DPH je tento parameter povinný.
p_vat nepovinný paramater Daň v percentách. Vypĺňa sa iba vtedy, ak je dodávateľ platiteľom DPH.
p_pricevat možnosť 2 / nepovinný paramater Cena za jednu mernú jednotku vrátane dane. V prípade, že je tento atribút zadaný, vypočíta sa cena bez dane bez ohľadu, či bol atribút p_price zadaný.
p_custom nepovinný paramater Ľubovoľná textová informácia odoslaná cez API pre položku cenovej ponuky. Zobrazí sa ako samostatný stĺpec v excelovskom exporte.
text, max. 50 znakov
Formát dát pred odoslaním:
Array
(
    [key] => dJyMc*53@687*wGhofIWi!WDcEEQUdmj
    [email] => name@example.com
    [apitest] => 1
    [d] => Array
        (
            [d_name] => Moja spoločnosť s.r.o.
            [d_street] => Mostová 56
            [d_city] => Trenčín
            [d_zip] => 843 21
            [d_state] => Slovenská republika
            [d_ico] => 43226520
            [d_dic] => 2165052345
            [d_icdph] => SK2165052345
            [d_vatpayer] => 1
            [d_viewpayer] => 0
            [d_info] => Zapísaný v OR Trenčín,oddiel:Sro, vl.č.1234/X
            [d_bankaccount] => 1234567890/0200
            [d_bank] => VÚB
            [d_iban] => 
            [d_swift] => 
            [d_email] => info@example.com
            [d_web] => www.example.com
            [d_phone] => +421 903 111 111
        )

    [o] => Array
        (
            [o_name] => Andrej Klačanský
            [o_street] => Štefánikova 455/2
            [o_city] => Martin
            [o_zip] => 876 54
            [o_state] => 
            [o_ico] => 
            [o_dic] => 
            [o_icdph] => 
            [o_email] => client@example.com
        )

    [po] => Array
        (
            [po_number] => 2022099
            [po_date_issue] => 2022-01-01
            [po_date_expiration] => 2022-01-15
            [po_issued_by] => Martin Hrubý
            [po_note] => Nezáväzná cenová ponuka platná 15 dní.
            [po_currency] => EUR
            [po_language] => SK
            [po_tags] => Array
                (
                    [0] => VIP klient
                    [1] => Doprava zdarma
                )

        )

    [p] => Array
        (
            [0] => Array
                (
                    [p_text] => Diamantový kotúč na obklady
                    [p_quantity] => 8
                    [p_unit] => ks
                    [p_price] => 15
                    [p_vat] => 20
                    [p_pricevat] => 20
                )

            [1] => Array
                (
                    [p_text] => Sada nylónových drôtených kief
                    [p_quantity] => 10
                    [p_unit] => ks
                    [p_price] => 12.50
                    [p_vat] => 20
                    [p_pricevat] => 15
                )

        )

)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku, cenová ponuka bola vytvorená
602 Chyba Parameter data nebol odoslaný metódou GET.
603 Chyba API kľúč nie je zadaný alebo nie je platný počet znakov.
604 Chyba API kľúč nie je zadaný správne.
605 Chyba Parameter email nie je zadaný.
606 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
607 Chyba Používateľ neexistuje.
608 Chyba Potrebné zadať ID dodávateľa alebo jeho názov..
609 Chyba Vložené ID dodávateľa nie je správne.
610 Chyba Nie je zadané meno dodávateľa.
611 Chyba Nie je zadané meno odberateľa.
612 Chyba Chýbajú údaje cenovej ponuky.
613 Chyba Chýbajú položky ponuky alebo nie sú zadané správne.
614 Chyba Chyba v položke, chýba povinný údaj.
615 Chyba Množstvo v položke cenovej ponuky nie je číslo.
616 Chyba Cena bez dane v položke nie je číslo.
617 Chyba Daň v percentách nie je zadaná správne.
618 Chyba V položke nie je vložená cena bez dane alebo cena vrátane dane.
619 Chyba Nepovolený jazyk v cenovej ponuke.
620 Chyba V položke nie je vložená cena bez dane, pričom dodávateľ nie je platiteľom DPH.
621 Chyba Cena vrátane dane v položke nie je číslo.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// V prípade, že budeme testovať API, zvolíme hodnotu 1
// Znamená to, že všetky vytvorené cenové ponuky sa automaticky odstránia o 5 - 10 minút
$data['apitest'] = 1; //hodnota môže byť 1 alebo 0


// Príprava dát dodávateľa
$dodavatel = [];

// Dodávateľa môžeme použiť už existujúceho (uloženého v zozname Moje spoločnosti)
// alebo dodávateľa vytvoríme ručne vložením dát.
// Ak použijeme existujúceho dodávateľa, vložíme iba jeho ID:
// $dodavatel['d_id'] = 123; // ID dodávateľa nájdeme v zozname Moje spoločnosti

// alebo (nie obe):
$dodavatel['d_name'] = "Moja spoločnosť s.r.o."; // Obchodný názov dodávateľa
$dodavatel['d_street'] = "Mostová 56"; // Ulica
$dodavatel['d_city'] = "Trenčín"; // Mesto
$dodavatel['d_zip'] = "843 21"; // PSČ
$dodavatel['d_state'] = "Slovenská republika"; // Štát
$dodavatel['d_ico'] = "43226520"; // IČO
$dodavatel['d_dic'] = "2165052345"; // DIČ
$dodavatel['d_icdph'] = "SK2165052345"; // IČDPH
$dodavatel['d_vatpayer'] = "1"; // Platca DPH. Pokiaľ je dodávateľ platca DPH ponechajte hodnotu 1,
// ak nie je platca DPH, napíšte 0.
$dodavatel['d_viewpayer'] = "1"; //  Pokiaľ chcete zobraziť informáciu v cenovej ponuke,
// že dodávateľ je platcom/neplatcom DPH.
$dodavatel['d_info'] = "Zapísaný v OR Trenčín, oddiel:Sro, vl.č.1234/X"; //Info o dodávateľovi
$dodavatel['d_bankaccount'] = ""; // Číslo účtu
$dodavatel['d_bank'] = "VÚB"; // Názov banky
$dodavatel['d_iban'] = "SK1200000000001234567891"; // IBAN
$dodavatel['d_swift'] = ""; // SWIFT
$dodavatel['d_email'] = "info@example.com"; // E-mail
$dodavatel['d_web'] = "www.example.com"; // WEB
$dodavatel['d_phone'] = "+421 903 111 111"; // Telefón

// Pridanie dodávateľa k dátam:
$data['d'] = $dodavatel;


// Príprava dát odberateľa
$odberatel = [];
$odberatel['o_name'] = "Andrej Klačanský"; // Názov odberateľa
$odberatel['o_street'] = "Štefánikova 455/2"; // Ulica
$odberatel['o_city'] = "Martin"; // Mesto
$odberatel['o_zip'] = "876 54"; // PSČ
$odberatel['o_state'] = ""; // Štát
$odberatel['o_ico'] = ""; // IČO
$odberatel['o_dic'] = ""; // DIČ
$odberatel['o_icdph'] = ""; // IČDPH
$odberatel['o_email'] = "client@example.com"; // Email odberateľa

// Pridanie odberateľa k dátam:
$data['o'] = $odberatel;


// Príprava údajov cenovej ponuky
$cenovaPonuka = [];

// Číslo cenovej ponuky môžeme zadať ručne:
$cenovaPonuka['po_number'] = "2022099";
// Ak chceme vypočítať číslo automaticky, toto pole neuvedieme
$cenovaPonuka['po_date_issue'] = '2022-01-01'; // Dátum vystavenia vo formáte RRRR-MM-DD
$cenovaPonuka['po_date_expiration'] = '2022-01-15'; // Dátum platnosti vo formáte RRRR-MM-DD
$cenovaPonuka['po_issued_by'] = "Martin Hrubý";  //Ponuku vystavil
$cenovaPonuka['po_logo'] = "1";  // Zobraziť logo dodávateľa. Iba v prípade, že bol dodávateľ
// vybraný pomocou ID a má priradené logo
$cenovaPonuka['po_stamp'] = "1";  // Zobraziť pečiatku dodávateľa. Iba v prípade, že bol
// dodávateľ vybraný pomocou ID a má priradenú pečiatku
$cenovaPonuka['po_currency'] = "EUR";  // Mena cenovej ponuky
$cenovaPonuka['po_language'] = "SK";   // Jazyk cenovej ponuky
$cenovaPonuka['po_tags'] = ["VIP klient", "Doprava zdarma"];  // Priradiť označenia k ponuke

// Pridanie údajov ponuky k dátam:
$data['po'] = $cenovaPonuka;


// Príprava položiek ponuky
$polozky = [];
// prvá položka:
$polozka = [];
$polozka['p_text'] = "Diamantový kotúč na obklady"; // Názov služby alebo tovaru
$polozka['p_quantity'] = "8"; // Množstvo
$polozka['p_unit'] = "ks"; // Merná jednotka
$polozka['p_price'] = "15"; // Cena za jednu jednotku bez DPH (Cena s DPH sa vypočíta)
$polozka['p_vat'] = "20"; // Daň v %
// priradenie k položkám:
$polozky[] = $polozka;

// druhá položka:
$polozka = [];
$polozka['p_text'] = "Sada nylónových drôtených kief"; // Názov služby alebo tovaru
$polozka['p_quantity'] = "10"; // Množstvo
$polozka['p_unit'] = "ks"; // Merná jednotka
$polozka['p_vat'] = "20"; // Daň v %
$polozka['p_pricevat'] = "15"; // Cena za jednu jednotku vrátane DPH (Cena bez DPH sa vypočíta)
// priradenie k položkám:
$polozky[] = $polozka;

// priradenie položiek k dátam:
$data['p'] = $polozky;


// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/ncp?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Uložené, nová cenová má kód: " . $result['code'] . " <br />";
    echo "Číslo cenovej ponuky: " . $result['number'] . " <br />";
    echo "Cenová ponuka vytvorená: " . $result['created'] . " <br />";
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}

Odpoveď:
Array
(
    [status] => 1
    [code] => ca9658a5448a945059f44658bac985e5
    [number] => 2022099
    [created] => 2022-01-01 09:49:05
)

Zobrazenie cenovej ponuky

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Volanie API pre zobrazenie cenovej ponuky:
https://www.faktury-online.com/api/zcp?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
code povinný parameter Kód cenovej ponuky (získaný z odpovede API pri vytvorení ponuky)
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [code] => aa9025bc0094c88445daa22b90eff3b
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
702 Chyba Parameter data nebol odoslaný metódou GET.
703 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
704 Chyba API kľúč nie je zadaný správne.
705 Chyba Parameter email nie je zadaný.
706 Chyba Nie je vytvorené sedenie
707 Chyba Vytvorené sedenie nie je správne
708 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
709 Chyba Používateľ neexistuje.
710 Chyba Nie je zadaný kód cenovej ponuky.
711 Chyba Kód cenovej ponuky nie je zadaný správne.
712 Chyba Chyba pri výbere cenovej ponuky
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
// vytvori subor cookie.txt, pozor na prava na zapis
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);
$result = json_decode($output, true);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Kód cenovej ponuky:
$data['code'] = "14915945a66c8b7be74dac59c5badfbf";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/zcp?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);
$result = json_decode($output, true);
$url = $result['url'];
$cislo = $result['number'];


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// pre zobrazenie cenovej ponuky:
header('Content-Type: application/pdf');
header('Content-Disposition: inline; filename="' . $cislo . '.pdf"');
header('Cache-Control: private, max-age=0, must-revalidate');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
echo curl_exec($ch);


/*
// pre download cenovej ponuky:
header('Content-Type: application/download');
header('Content-Disposition: inline; filename="'.$cislo.'.pdf"');
header('Cache-Control: private, max-age=0, must-revalidate');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
echo curl_exec($ch);
*/

Odpoveď:
Array
(
    [status] => 1
    [url] => https://www.faktury-online.com/cenove-ponuky/detail-subor?cp=26915945a67c8b7ba74dac59c5badfbf
    [number] => 2022099
)

Status a detail cenovej ponuky

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Volanie API pre zobrazenie statusu a detailu cenovej ponuky:
https://www.faktury-online.com/api/cp-status?data={JSON}

Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
code povinný parameter Kód cenovej ponuky (získaný z odpovede API pri vytvorení ponuky)
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [code] => ae47ece062b0021144d768446b071fee
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
802 Chyba Parameter data nebol odoslaný metódou GET.
803 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
804 Chyba API kľúč nie je zadaný správne.
805 Chyba Parameter email nie je zadaný.
806 Chyba Nie je vytvorené sedenie
807 Chyba Vytvorené sedenie nie je správne
808 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
809 Chyba Používateľ neexistuje.
810 Chyba Nie je zadaný kód cenovej ponuky.
811 Chyba Kód cenovej ponuky nie je zadaný správne.
812 Chyba Chyba pri výbere cenovej ponuky
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "vJyMc*4@2754*wGhofIWi!QDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);

// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Kód cenovej ponuky:
$data['code'] = "ae47ece062b0021144d768446b071fee";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/cp-status?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    echo "Dodávateľ: {$result['supplier']} \n";
    echo "Dodávateľ IČO: {$result['supplier_ico']} \n";
    echo "Odberateľ / Zákazník: {$result['customer']} \n";
    echo "Odberateľ / Zákazník IČO: {$result['customer_ico']} \n";
    echo "Číslo cenovej ponuky: {$result['offer_number']} \n";
    echo "Suma bez DPH: {$result['offer_amount']} \n";
    if (isset($result['offer_amount_vat'])){
        echo "Suma s DPH: {$result['offer_amount_vat']} \n";
    }
    echo "Mena: {$result['offer_currency']} \n";
    echo "Dátum vystavenia: {$result['offer_date_issue']} \n";
    echo "Dátum platnosti: {$result['offer_date_expiration']} \n";
    echo "Vlastné dáta z API: {$result['offer_api_custom']} \n";
    if (isset($result['offer_tags']) && is_array($result['offer_tags'])){
        echo "Tagy cenovej ponuky: ";
        echo implode(", ",$result['offer_tags']);
    }
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}



Odpoveď:
Array
(
    [status] => 1
    [supplier] => Moja firma s.r.o.
    [supplier_street] => Uličná 123
    [supplier_city] => Bratislava
    [supplier_zip] => 811 05
    [supplier_state] => Slovensko
    [supplier_ico] => 12345678
    [supplier_dic] => 2131154505
    [supplier_icdph] => 
    [supplier_info] => Spol. zapísaná v OR Okresného súdu Bratislava I, Oddiel: Sro, Vložka č. 11111/B
    [supplier_bankaccount] => 2100501234/8330
    [supplier_bank] => Fio banka, a.s.
    [supplier_iban] => SK6583300000002100501234
    [supplier_swift] => FIOZSKBAXXX
    [supplier_email] => email@moja-spolocnost.sk
    [supplier_phone] => 0911 111 222
    [supplier_web] => www.moja-spolocnost.sk
    [supplier_custom_key_1] => 
    [supplier_custom_value_1] => 
    [supplier_custom_key_2] => 
    [supplier_custom_value_2] => 
    [customer] => Môj klient, s.r.o.
    [customer_street] => Krátka 123
    [customer_city] => Trenčín
    [customer_zip] => 911 01
    [customer_state] => 
    [customer_ico] => 12345678
    [customer_dic] => 2020301111
    [customer_icdph] => SK2020301111
    [customer_email] => info@isset.sk
    [customer_info] => 
    [customer_custom_key_1] => ID klienta
    [customer_custom_value_1] => 156516
    [customer_custom_key_2] => 
    [customer_custom_value_2] => 
    [offer_number] => 2022002
    [offer_amount] => 183.69
    [offer_amount_vat] => 215.75
    [offer_total_discount_perc] => 10
    [offer_currency] => EUR
    [offer_date_issue] => 2021-10-01
    [offer_date_expiration] => 2021-10-25
    [offer_note] => Poznámka pod položkami
    [offer_note_above] => Poznámka nad položkami
    [offer_api_custom] => 
    [offer_language] => sk
    [items] => Array
        (
            [0] => Array
                (
                    [item_name] => Položka 1
                    [item_unit] => ks
                    [item_quantity] => 1
                    [item_unit_price] => 100.3
                    [item_unit_price_total] => 120.36
                    [item_vat_rate] => 20
                    [item_vat_total] => 20.06
                    [item_unit_price_vat] => 120.36
                    [item_unit_price_totla_vat] => 120.36
                    [item_api_custom] => 
                )

            [1] => Array
                (
                    [item_name] => Popis druhej položky
                    [item_unit] => ks
                    [item_quantity] => 5
                    [item_unit_price] => 15.5645
                    [item_unit_price_total] => 18.67
                    [item_vat_rate] => 20
                    [item_vat_total] => 15.56
                    [item_unit_price_vat] => 18.67
                    [item_unit_price_totla_vat] => 93.38
                    [item_api_custom] => 
                )

            [2] => Array
                (
                    [item_name] => Popis tretej položky
                    [item_unit] => ks
                    [item_quantity] => 2
                    [item_unit_price] => 12.99
                    [item_unit_price_total] => 12.99
                    [item_vat_rate] => 0
                    [item_vat_total] => 0
                    [item_unit_price_vat] => 12.99
                    [item_unit_price_totla_vat] => 25.98
                    [item_api_custom] => 
                )

        )

    [offer_tags] => Array
        (
            [0] => Tag 1
            [1] => Tag 2
        )

)

Zoznam cenových ponúk

Pred týmto volaním je potrebné inicializovať sedenie (viď vyššie). Nasledujúce URL vrátia zoznamy cenových ponúk.
Všetky cenové ponuky vytvorené v období:
https://www.faktury-online.com/api/cp-list/created?data={JSON}
Všetky cenové ponuky s dátumom vystavenia v období:
https://www.faktury-online.com/api/cp-list/issued?data={JSON}
Základné parametre:
Parameter Atribút Popis
key povinný parameter API kľúč.
email povinný parameter Email (alebo používateľské meno), ktorým sa prihlasujete do Faktúr online.
from nepovinný parameter Dátum hľadania 'Od'
Formát: YYYY-MM-DD
to nepovinný parameter Dátum hľadania 'Do'
Formát: YYYY-MM-DD
Základné parametre:
Array
(
    [key] => vJyMc*4@2754*wGhofIWi!QDcEEQUdmj
    [email] => name@example.com
    [from] => 2022-01-01
    [to] => 2022-01-31
)


Zoznam návratových kódov:
Status ID Význam Popis
1 OK Všetko prebehlo v poriadku
902 Chyba Parameter data nebol odoslaný metódou GET.
903 Chyba API kľúč nie je zadaný alebo nie je platný počet reťazcov.
904 Chyba API kľúč nie je zadaný správne.
905 Chyba Parameter email nie je zadaný.
906 Chyba Nie je vytvorené sedenie
907 Chyba Vytvorené sedenie nie je správne
908 Chyba Používateľské meno alebo API kľúč nie sú uvedené správne.
909 Chyba Používateľ neexistuje.
910 Chyba Chybná URL.
911 Chyba Dátum 'Od' je zadaný nesprávne.
912 Chyba Dátum 'Do' je zadaný nesprávne.
913 Chyba Nepodarilo sa identifikovať príslušný zoznam, zrejme chyba v URL.
Ukážka zdrojového kódu:
<?php

// Príprava základných dát:
$data = [];

// Váš API kľúč:
$data['key'] = "dJyMc*53@687*wGhofIWi!WDcEEQUdmj";

// Váš email (príp. používateľské meno):
$data['email'] = "name@example.com";

// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);

// Inicializácia sedenia
$url = 'https://www.faktury-online.com/api/init?data=' . urlencode($data_json);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);


// Výsledok:
$result = json_decode($output, true);
if ($result['status'] != 1) {
    throw new Exception("Vyskytla sa chyba č. " . $result['status']);
}

// Dáta v kalendárnom roku 2022
$data['from'] = '2022-01-01';
$data['to'] = '2022-12-31';
// Dáta sa uložia do formátu JSON:
$data_json = json_encode($data);


// Dáta sa odošlú:
$url = 'https://www.faktury-online.com/api/cp-list/issued?data=' . urlencode($data_json);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);



// Výsledok:
$result = json_decode($output, true);
if ($result['status'] == 1) {
    $cenovePonuky = $result['offers'];
    foreach ($cenovePonuky as $cenovaPonuka) {
        echo "Kód: {$cenovaPonuka['code']} \n";
        echo "Dodávateľ: {$cenovaPonuka['supplier']} \n";
        echo "Dodávateľ IČO: {$cenovaPonuka['supplier_ico']} \n";
        echo "Odberateľ / Zákazník: {$cenovaPonuka['customer']} \n";
        echo "Odberateľ / Zákazník IČO: {$cenovaPonuka['customer_ico']} \n";
        echo "Číslo cenovej ponuky: {$cenovaPonuka['offer_number']} \n";
        echo "Suma bez DPH: {$cenovaPonuka['offer_amount']} \n";
        if (isset($cenovaPonuka['offer_amount_vat'])) {
            echo "Suma s DPH: {$cenovaPonuka['offer_amount_vat']} \n";
        }
        echo "Mena: {$cenovaPonuka['offer_currency']} \n";
        echo "Dátum vystavenia: {$cenovaPonuka['offer_date_issue']} \n";
        echo "Dátum platnosti: {$cenovaPonuka['offer_date_expiration']} \n";
        echo "Vlastné dáta z API: {$cenovaPonuka['offer_api_custom']} \n";
        echo "Tagy: {$cenovaPonuka['tags']} \n";
    }
} else {
    echo "Vyskytla sa chyba č." . $result['status'];
}



Odpoveď:
Array
(
    [status] => 1
    [offers] => Array
        (
            [0] => Array
                (
                    [code] => ae47ece062b0021144d768446b071fee
                    [supplier] => Moja spoločnosť s.r.o.
                    [supplier_ico] => 43226520
                    [customer] => Andrej Klačanský
                    [customer_ico] => 40436097
                    [offer_number] => 20220123
                    [offer_amount] => 200
                    [offer_amount_vat] => 240
                    [offer_currency] => EUR
                    [offer_date_issue] => 2022-01-10
                    [offer_date_expiration] => 2021-01-25
                    [offer_api_custom] => data z API
                    [tags] => Tag1 ,Tag2
                )

        )

)