Navodila za uporabo programa Quibi
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode

Za razvijalce

Quibi omogoča izdelavo računov in predračunov iz zunanjih programov (spletnih trgovin). V ta namen je izdelan API. Če katerega klica ni na razpolago, nam sporočite in ga bomo dodali.

Klicanje API-ja in prijava

Vsi klici zahtevajo prijavo, ki je dodana v glavo zahtevka (http header). Podatki za api so enaki, kot prijavni podatki Quibi-ja:

username: vase@uporanbisko.ime
password: VaseVarnoGeslo
Content-Type: application/json

Api kličemo preko GET ali POST (dodajanje in urejanje podatkov) metode. Vse parametre podajamo v JSON formatu.

API url: https://si.quibi.net

Odgovor

Vsi klici vračajo odgovor v sledeči obliki:

{
   "error":false,
   "message":"",
   "errors":{
      "SEZNAMNAPAK"
   },
   "data":{
      "IMEPODATKA":[
         "VREDNOSTI"
      ]
   }

Opis parametrov:

  • error – true/false – ali je prišlo do napake
  • message – sporočilo ob napaki
  • errors – polja, katera so napačna in napaka
  • data – podatki, ki smo jih zahtevali

Šifranti

Seznam ddv-jev

Metoda: GET
URL: /api2/ddv

Seznam držav

Metoda: GET
URL: /api2/drzava

Seznam enot

Metoda: GET
URL: /api2/enota

Seznam plačil

Metoda: GET
URL: /api2/glavadokumenta/placila

Seznam skladišč

Metoda: GET
URL: /api2/skladisca
Opomba: samo v primeru, da imamo vključeno materialno poslovanje.

Seznam davčnih blagajn

Metoda: GET
URL: /api2/spaces
Opomba: samo v primeru, če imate vključene davčne blagajne.

Številčenje

Metoda: GET
URL: /api2/stevilcenje

Stroškovna mesta

Metoda: GET
URL: /api2/stroskovnamesta

Vrste naslovov

Metoda: GET
URL: /api2/addresstype

Ceniki

Metoda: GET
URL: /api2/cenik

Kategorije

Metoda: GET
URL: /api2/kategorije

Vnos nove kategorije

Metoda: POST
URL: /api2/kategorije/form

Parametri (označeni z * so obvezni):

  • Kategorije:
    • naziv*

Dokumenti

Seznam dokumentov

Metoda: POST

Parametri:

  • Filtriraj:
    • leto – int – primer: 2019
    • stranka – int – id stranke iz šifranta
    • datod – date – v formatu Y-m-d
    • datdo – date – v formatu Y-m-d
    • sklic: iskanje po sklicu

URL klica za različne vrste dokumentov:

  • Fakture – /api2/fakture
  • Predračuni – /api2/predracuni
  • Dobavnice – /api2/dobavnice
  • Prevzemnice – /api2/prevzemnice
  • Dobropisi – /api2/dobropisi
  • Naročilnice – /api2/narocilnice
  • Avansni računi – /api2/predplacila
  • Prenos med skladišči – /pi2/prenosmedskladi
  • VKR – /api2/vkr
  • Delovni nalogi – /api2/dn
  • Naročila kupcev – /api2/narocilakupcev
  • Izdajnice – /api2/izdajnice

Klic posameznega dokumenta

Metoda: GET
URL: /api2/glavadokumenta/view/ID_DOKUMENTA

Delna plačila dokumenta

Metoda: GET
URL: /api2/delnaplacila/placiladokumenta/ID_DOKUMENTA

Stranke

Seznam strank

Metoda: GET
URL: /api2/stranka

Posamezna stranka

Metoda: GET
URL: /api2/stranka/view/ID_STRANKE

Dodajanje nove stranke

Metoda: POST
URL: /api2/stranka/form

Parametri (označeni z * so obvezni):

  • Stranka:
    • remote_id – id stranke v vašem programu
    • drzava_id – id države iz šifranta držav, če pustimo prazno, je privzeto izbrana Slovenija
    • naziv* – obvezen podatek
    • naslov
    • posta
    • postnaSt
    • davcna
    • davcniZav – ali je davčni zavezanec 0/1
    • maticna
    • iban
    • bic
    • emajl – elektronski naslov stranke
    • dniZapadlosti
    • opomba
    • telst
    • pu – ali je proračunski uporabnik 0/1
    • pravnafizicna – (1 = Pravna oseba, 2 = Fizična oseba)

Urejanje obstoječe stranke

Metoda: POST
URL: /api2/stranka/form/ID_STRANKE

Parametri (označeni z * so obvezni):

  • Stranka:
    • remote_id – id stranke v vašem programu
    • drzava_id – id države iz šifranta držav, če pustimo prazno, je privzeto izbrana Slovenija
    • naziv* – obvezen podatek
    • naslov
    • posta
    • postnaSt
    • davcna
    • davcniZav – ali je davčni zavezanec 0/1
    • maticna
    • iban
    • bic
    • emajl – elektronski naslov stranke
    • dniZapadlosti
    • opomba
    • telst
    • pu – ali je proračunski uporabnik 0/1

Naslovi stranke

Metoda: GET
URL: /api2/address/index/ID_STRANKE

Dodajanje novega naslova stranki

Metoda: POST
URL: /api2/address/form

Parametri (označeni z * so obvezni):

  • Address
    • stranka_id*
    • naslov*
    • posta
    • postnaSt
    • drzava_id*
    • addresstype_id*

Urejanje obstoječega naslova stranke

Metoda: POST
URL: /api2/address/form/ID_NASLOVA

Parametri (označeni z * so obvezni):

  • Address
    • stranka_id*
    • naslov*
    • posta
    • postnaSt
    • drzava_id*
    • addresstype_id*

Artikli

Seznam artiklov

Metoda: GET
URL: /api2/sifranti

Posamezni artikel

Metoda: GET
URL: /api2/sifranti/view/ID_ARTIKLA

Stanje zaloge

Metoda: GET
URL: /api2/sifranti/trenutnazaloga/ID_SKLADIŠČA

Dodajanje novega artikla

Metoda: POST
URL: /api2/sifranti/form

Parametri (označeni z * so obvezni):

  • Sifranti:
    • sifra* – SKU koda oz. kot imate šifro v spletni trgovini. Mora biti unikatna za vsak izdelek.
    • naziv*
    • enota_id* – iz šifranta enot
    • cenaBrezDDV*
    • nabavnaCena – samo če je označeno polje vodiZalogo z 1
    • ddv_id* – id ddv-ja iz šifranta ddv-ja
    • vodiZalogo – ali vodim zalogo za artikel (samo če imam omogočeno materialno poslovanje) 0/1
    • odo – obrnjena davčna obveznost
    • teza – teža, v kg
    • kategorije_id

Urejanje obstoječega artikla

Metoda: POST
URL: /api2/sifranti/form/ID_ARTIKLA

Parametri (označeni z * so obvezni):

  • Sifranti:
    • sifra* – SKU koda oz. kot imate šifro v spletni trgovini. Mora biti unikatna za vsak izdelek.
    • naziv*
    • enota_id* – iz šifranta enot
    • cenaBrezDDV*
    • nabavnaCena – samo če je označeno polje vodiZalogo z 1
    • ddv_id* – id ddv-ja iz šifranta ddv-ja
    • vodiZalogo – ali vodim zalogo za artikel (samo če imam omogočeno materialno poslovanje) 0/1
    • odo – obrnjena davčna obveznost
    • teza – teža, v kg

Vnos novega dokumenta (računa, predračuna)

Metoda: POST
URL: /api2/glavadokumenta/form

V dokumentu mora biti obvezno podana tudi stranka. Če Quibi ne najde stranke jo ustvari. Stranko išče po polju id, remote_id oz. emajl. Stranko išče v naštetem vrstnem redu. Podan mora biti vsaj 1 parameter.

Postavke na dokumentu naštevamo. Cene in ostalih parametrov ne podajamo, saj se pobirajo direktno iz šifranta v Quibiju.

Parametri (označeni z * so obvezni):

  • Stranka:
    • remote_id – id stranke v vašem programu
    • drzava_id – id države iz šifranta držav, če pustimo prazno, je privzeto izbrana Slovenija
    • stranka_id – id stranke iz šifranta strank. Če podamo to polje, ni potrebno podati ostalih polj od stranke.
    • naziv* – obvezen podatek
    • naslov
    • posta
    • postnaSt
    • davcna
    • davcniZav – ali je davčni zavezanec 0/1
    • maticna
    • iban
    • bic
    • emajl – elektronski naslov stranke
    • dniZapadlosti
    • opomba
    • telst
    • pu – ali je proračunski uporabnik 0/1
  • Dostava
    • naziv
    • naslov
    • posta
    • postnaTs
  • Glavadokumenta
    • stevilcenje_id – id iz šifranta številčenj – glede na številčenje določimo vrsto dokumenta (račun, predračun)
    • stranka_id – če je podano to polje iz šifranta strank, potem ni potrebno podati polja Stranka, saj ga ne upošteva.
    • dobavnica – če želimo razknjižit (pomanjšati) zalogo v skladišču, naredi skupaj z računom še dobavnico, v kolikor imamo materialno poslovanje – 0/1
    • datIzdRac – datum izdaje dokumenta, podan v formatu Y-m-d (če ne izpolnite tega polja, bo vneslo današnji datum)
    • datValute – datum valute, podan v formatu Y-m-d (če ne izpolnite tega polja, bo vneslo današnji datum)
    • datstod – datum storitve od, če je dokument račun, mora biti podano to polje – datum je podan v formatu Y-m-d
    • datstdo – če se gre za obdobje, izpolnimo še to polje – datum je podan v formatu Y-m-d
    • kraj – kraj izdaje dokumenta
    • nacinPlacila – način plačila iz šifranta način plačila
    • space_id – v kolikor uporabljamo davčne blagajne, mora biti tukaj id davčne blagajne iz šifranta davčne blagajne
    • skladisca_id – če uporabljamo materialno poslovanje, moramo vnesti id skladišča iz šifranta skladišč
    • stroskovnamesta_id – stroškovno mesto iz šifranta stroškovnih mest
    • vrstaPosla – STORITEV ali BLAGO
    • domacituji – DOMACI ali TUJI
  • Postavkedokumenta
    • 1
      • sifra – šifra artikla
      • kolicina – količina
      • popust – v kolikor je popust
      • ddv_id – iz šifranta DDV

Pri postavki dokumenta so obvezna polja sifra in kolicina. Če vodimo zalogo, lahko samo popust in ddv_id podate, v kolikor se razlikuje od original stopnje. Če se ne vodi zaloga artikla, potem so dovoljena polja še opis in cena.

Artikel seveda lahko dodate, tudi če ga nimate v šifrantu. V ta namen je potrebno podati vsa našteta polja:

  • enota_id
  • ddv_id
  • opis
  • kolicina
  • popust
  • cenaZDDV (cena je za enoto brez ddv)

Prenos dokumenta (pdf)

Metoda: POST
URL: /api2/glavadokumenta/pdf

Parametri (označeni z * so obvezni):

  • Glavadokumenta
    • id* – id dokumenta
    • natisni* – (1 – prikaz uporabniku, 3 – prenesi pdf)
    • jezik – (sl – Slovenski, en – Angleški, it – Italjanski)

Vnos plačila

Metoda: POST
URL: /api2/delnaplacila/placilo

Parametri (označeni z * so obvezni):

  • Delnaplacila
    • model_id* – id dokumenta
    • placilo* – znesek
    • datumplacila* – datum placila
    • nacinplacila* – iz šifranta plačil

Primeri (PHP)

Vnos novega dokumenta

<?php

$url = "https://si.quibi.net";
$username = "uporabniški@ime.si";
$password = "geslo";
$formdata = array(
    "Stranka" => array(
        "id" => 1,
        "naziv" => "Testna stranka"
    ) ,
    "Glavadokumenta" => array(
        "stevilcenje_id" => 1,
        "kraj" => "Kraj"
    ) ,
    "Postavkedokumenta" => array(
        1 => array(
            "sifra" => "test"
        )
    )
);
$opts = array(
    'http' => array(
        'method' => "POST",
        "content" => json_encode($formdata) ,
        'header' => "Content-Type: application/json\r\n" . "username: {$username}\r\n" . "password: {$password}\r\n"
    )
);
$ret = file_get_contents("$url/api2/glavadokumenta/form", false, stream_context_create($opts));
print_r(json_decode($ret));

Izpis šifranta številčenj

<?php 

$url = "https://si.quibi.dev";
$username = "uporabniški@ime.si";
$password = "geslo";
$opts = array(
    'http' => array(
        'method' => "GET",
        'header' => "Content-Type: application/json\r\n" . "username: {$username}\r\n" . "password: {$password}\r\n"
    )
);

$ret = file_get_contents("$url/api2/stevilcenje", false, stream_context_create($opts));

print_r(json_decode($ret));