Kako povezati Google Sheets z Quibijem in avtomatsko ustvarjati naročila kupcev

Google Sheets ni samo orodje za preglednice – lahko ga tudi nadgradimo z lastnimi “programi” oziroma skriptami. To omogoča dvosmerno komunikacijo s Quibijem:

  • iz Quibija lahko uvozimo podatke v preglednico,
  • ali pa iz Google Sheets ustvarimo nove dokumente v Quibiju.

Ena najpogostejših uporab je avtomatska izdelava naročil kupcev neposredno iz preglednice.

👉 Uradna API dokumentacija Quibija je dostopna tukaj: https://navodila.quibi.net/za-razvijalce/

Priprava preglednice

Za delovanje potrebujemo dva lista v Google Sheets:

  1. Nastavitve – vsebuje podatke za dostop do Quibija.
    • Stolpec A: naziv polja
    • Stolpec B: vrednost (URL, uporabniško ime, geslo, številčenje, skladišče)
  2. Podatki – seznam naročil, ki jih želimo poslati v Quibi.

Delovanje

Ko vnesemo podatke v preglednico, enostavno kliknemo na gumb Pošlji izbrane.
Skripta nato:

  • pregleda označene vrstice,
  • ustvari naročila kupcev v Quibiju,
  • in zapiše nazaj ID dokumenta ter sporočilo o uspehu.

Skripta za Google Apps Script

Celotno skripto dodamo v Google Sheets prek menija Extensions → Apps Script.

/***** KONFIG *****/
const SETTINGS_SHEET = 'Nastavitve'; // A1: URL, A2: Username, A3: Password, A4: Številčenje, A5: Skladišče

function getSettings_() {
const sh = SpreadsheetApp.getActive().getSheetByName(SETTINGS_SHEET);
const url = sh.getRange('B1').getValue();
const username = sh.getRange('B2').getValue();
const password = sh.getRange('B3').getValue();
const stevilcenje = sh.getRange('B4').getValue();
const skladisce = sh.getRange('B5').getValue();

if (!url || !username || !password || !stevilcenje) {
throw new Error('Manjkajo URL / username / password / številčenje v listu "Nastavitve" (B1–B4).');
}
return { url, username, password, stevilcenje, skladisce };
}

/***** API KLICI *****/
function createInvoice(data) {
return makePrivateCallPost_('api2/glavadokumenta/form', data);
}

function makePrivateCallPost_(path, data) {
const { url, username, password } = getSettings_();
if (!path || !data) return {};

const fullUrl = `${url.replace(/\/+$/,'')}/${path.replace(/^\/+/,'')}`;
const payload = JSON.stringify(data);

const options = {
method: 'post',
contentType: 'application/json',
payload,
headers: {
'username': String(username),
'password': String(password)
},
muteHttpExceptions: true
};

const res = UrlFetchApp.fetch(fullUrl, options);
const text = res.getContentText();
let json;
try {
json = JSON.parse(text);
} catch (e) {
throw new Error(`API ni vrnil veljavnega JSON. Status ${res.getResponseCode()}. Odgovor: ${text}`);
}
return json;
}

/***** GUMB ZA OZNAČENE VRSTICE *****/
function sendRowToApi(rowIndex) {
const { stevilcenje } = getSettings_();
const sheet = SpreadsheetApp.getActive().getSheetByName('Podatki');
const lastCol = sheet.getLastColumn();
const row = sheet.getRange(rowIndex, 1, 1, lastCol).getValues()[0];

const payload = {
"Glavadokumenta": {
"stevilcenje_id": stevilcenje,
"kraj": "Kraj",
"stranka_id": Number(row[1]),
"nacinPlacila": "Bančno nakazilo",
},
"Postavkedokumenta": {
"1": {
"sifra_id": Number(row[2]),
"kolicina": Number(row[3])
}
}
};

const resp = createInvoice(payload);
if (resp && typeof resp === 'object') {
sheet.getRange(rowIndex, 5).setValue(resp.id || '');
sheet.getRange(rowIndex, 6).setValue(resp.ZapSt || '');
sheet.getRange(rowIndex, 7).setValue(resp.message || '');
}
}

function sendCheckedRows() {
const sheet = SpreadsheetApp.getActive().getSheetByName('Podatki');
const data = sheet.getDataRange().getValues();
for (let i = 1; i < data.length; i++) {
const checked = data[i][0] === true; // A stolpec = checkbox
if (checked) {
sendRowToApi(i + 1);
}
}
}

Kako dodati gumb

  1. V Google Sheets narišemo obliko (Insert → Drawing).
  2. Dodamo napis Pošlji izbrane.
  3. Z desnim klikom na gumb izberemo Assign script.
  4. Vpišemo ime funkcije:
sendCheckedRows

Zaključek

S tem postopkom lahko povežemo Google Sheets s Quibijem in iz preglednice enostavno ustvarjamo naročila kupcev. To je priročno za podjetja, ki delajo z večjimi seznami naročil, uvozom podatkov iz drugih sistemov ali pa preprosto želijo hitrejši način za ustvarjanje dokumentov v Quibiju.

Scroll to Top