Za razvijalce

Quibi lahko enostavno povežete s spletnimi trgovinami!

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: http://si.quibi.net ali https://si.quibi.net (priporočeno)

Odgovor

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

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

Opis parametrov:

Š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

Stranke

Seznam strank

Metoda: GET
URL: /api2/stranka

Posamezna stranka

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

Dodajanje nove stranke

Metoda: POST
URL: /stranka/form

Parametri (označeni z * so obvezni):

Urejanje obstoječe stranke

Metoda: POST
URL: /stranka/form/ID_STRANKE

Parametri (označeni z * so obvezni):

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):

Urejanje obstoječega artikla

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

Parametri (označeni z * so obvezni):

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, v nasprotnem primeru, jo posodobi, tako da imate vedno zadnje podatke iz spletne trgovine. 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):

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:

Prenos dokumenta (pdf)

Metoda: POST
URL: /api2/glavadokumenta/pdf

Parametri (označeni z * so obvezni):

Vnos plačila

Metoda: POST
URL: /api2/delnaplacila/placilo

Parametri (označeni z * so obvezni):

Primeri (PHP)

Vnos novega dokumenta

<?php
$url = "http://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 = "http://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));