Uputstvo za instalaciju

Integracija i konfiguracija cloud ESIR sistema

Namena proizvoda

Isključivo za web shopove i daljinsku prodaju

VAŽNO: Ovaj ESIR softver je namenjen isključivo obveznicima koji obavljaju daljinsku prodaju putem interneta (e-commerce, web shopovi). Nije predviđen za maloprodaju sa fizičkim POS terminalima i ne podržava L-PFR uređaje.

Verzija: 1.2.0

Datum: Januar 2026

Proizvođač: Infogram d.o.o. Beograd

Kneza Višeslava 63, 11000 Beograd, Srbija

eFiskalizacija.cloud — Uputstvo za instalaciju

Sadržaj

1. Preduslovi za instalaciju

1.1 Tip obveznika

Pre instalacije, uverite se da vaš poslovni model odgovara nameni ovog ESIR sistema:

Podržani poslovni modeli:
NIJE podržano:

1.2 Tehnički preduslovi

Zahtev Opis
Internet konekcija Stabilna internet veza za komunikaciju sa API-jem
HTTPS podrška SSL/TLS za bezbednu komunikaciju
Programski jezik Bilo koji jezik sa HTTP/HTTPS i HMAC-SHA256 podrškom
Web browser Za pristup admin panelu (Chrome, Firefox, Safari, Edge)

1.3 Potrebna dokumentacija

Za registraciju pripremite:

eFiskalizacija.cloud — Uputstvo za instalaciju

2. Registracija i aktivacija naloga

1

Kontakt sa dobavljačem

Pošaljite zahtev za registraciju na: info@efiskalizacija.cloud

Ili pozovite: +381 62 173 1079

2

Dostavljanje dokumentacije

Dostavite kopije potrebnih dokumenata (PIB, rešenje o registraciji).

3

Potpisivanje ugovora

Nakon verifikacije, dobijate ugovor o korišćenju na potpis.

4

Aktivacija naloga

Po potpisu ugovora, nalog se aktivira u roku od 24h.

Dobijate email sa pristupnim podacima.

3. Preuzimanje kredencijala

3.1 Pristup Admin panelu

Nakon aktivacije, pristupite admin panelu:

https://efiskalizacija.cloud/admin/

Unesite korisničko ime i lozinku iz aktivacionog email-a.

3.2 API kredencijali

U sekciji Bezbednost pronađite vaše API kredencijale:

Kredencijal Opis Gde se koristi
API Key Javni ključ za identifikaciju Header: X-Api-Key
API Secret Tajni ključ za potpisivanje HMAC-SHA256 kalkulacija
BEZBEDNOST: API Secret se prikazuje samo jednom! Sačuvajte ga na sigurnom mestu. Nikada ga ne čuvajte u izvornom kodu - koristite environment varijable.

3.3 Regeneracija kredencijala

Ako izgubite API Secret ili sumnjate na kompromitaciju:

  1. Pristupite Bezbednost sekciji
  2. Kliknite Regeneriši kredencijale
  3. Potvrdite akciju
  4. Sačuvajte novi API Secret
  5. Ažurirajte vašu aplikaciju sa novim kredencijalima
eFiskalizacija.cloud — Uputstvo za instalaciju

4. Konfiguracija API integracije

4.1 API Endpoints

Okruženje Base URL
Sandbox (test) https://sandbox.efiskalizacija.cloud/api/multitenant.php
Produkcija https://efiskalizacija.cloud/api/multitenant.php

4.2 Konfiguracija autentifikacije

Svaki API zahtev mora sadržati sledeće HTTP header-e:

X-Api-Key: vaš_api_key
X-Timestamp: unix_timestamp_u_sekundama
X-Signature: hmac_sha256_potpis

4.3 Generisanje potpisa (HMAC-SHA256)

PHP primer:

<?php
$apiKey = getenv('EFISK_API_KEY');
$apiSecret = getenv('EFISK_API_SECRET');

$timestamp = time();
$body = json_encode($data);

// String za potpisivanje: timestamp + body
$stringToSign = $timestamp . $body;

// HMAC-SHA256 potpis
$signature = hash_hmac('sha256', $stringToSign, $apiSecret);

// HTTP headers
$headers = [
    'Content-Type: application/json',
    'X-Api-Key: ' . $apiKey,
    'X-Timestamp: ' . $timestamp,
    'X-Signature: ' . $signature
];

JavaScript/Node.js primer:

const crypto = require('crypto');

const apiKey = process.env.EFISK_API_KEY;
const apiSecret = process.env.EFISK_API_SECRET;

const timestamp = Math.floor(Date.now() / 1000);
const body = JSON.stringify(data);

const stringToSign = timestamp + body;
const signature = crypto
    .createHmac('sha256', apiSecret)
    .update(stringToSign)
    .digest('hex');

const headers = {
    'Content-Type': 'application/json',
    'X-Api-Key': apiKey,
    'X-Timestamp': timestamp,
    'X-Signature': signature
};

4.4 Environment varijable

Preporučena konfiguracija:

# .env fajl (NE UKLJUČIVATI U GIT!)
EFISK_API_KEY=vaš_api_key
EFISK_API_SECRET=vaš_api_secret
EFISK_API_URL=https://efiskalizacija.cloud/api/multitenant.php
eFiskalizacija.cloud — Uputstvo za instalaciju

5. Test konekcije (Sandbox)

5.1 Status endpoint

Testirajte konekciju pozivom status endpoint-a:

GET /status

Očekivani odgovor:

{
    "success": true,
    "data": {
        "status": "operational",
        "version": "1.2.0",
        "tenant": "Naziv vašeg tenanta"
    }
}

5.2 Test fiskalizacije

Pošaljite test račun u sandbox okruženju:

POST /fiskalizacija

{
    "tip_racuna": "prodaja",
    "nacin_placanja": "kartica",
    "stavke": [
        {
            "naziv": "Test artikal",
            "kolicina": 1,
            "cena": 100.00,
            "pdv_stopa": 20
        }
    ]
}

5.3 Verifikacija odgovora

Uspešan odgovor sadrži:

{
    "success": true,
    "data": {
        "pfr_broj": "XXXXXXXX-XXXXXXXX-12345",
        "broj_racuna": "1/2026",
        "ukupan_iznos": 100.00,
        "qr_url": "https://...",
        "pdf_url": "https://..."
    }
}
Sandbox napomena: Računi kreirani u sandbox okruženju nisu pravi fiskalni računi i ne šalju se Poreskoj upravi.

6. Prelazak na produkciju

6.1 Checklist pre produkcije

6.2 Promena URL-a

Zamenite sandbox URL sa produkcijskim:

# Sandbox (test)
EFISK_API_URL=https://sandbox.efiskalizacija.cloud/api/multitenant.php

# Produkcija
EFISK_API_URL=https://efiskalizacija.cloud/api/multitenant.php
VAŽNO: API Key i API Secret su ISTI za sandbox i produkciju. Ne menjajte kredencijale pri prelasku na produkciju.
eFiskalizacija.cloud — Uputstvo za instalaciju

7. Verifikacija instalacije

7.1 Funkcionalni testovi

Test Očekivani rezultat
Status API Vraća status: operational
Promet - Prodaja Vraća PFR broj i QR kod
Promet - Refundacija Uspešna refundacija sa referencom
PDF preuzimanje Validan PDF fajl
QR kod skeniranje Otvara stranicu za verifikaciju

7.2 Provera u Admin panelu

  1. Prijavite se na admin panel
  2. Otvorite sekciju Računi
  3. Proverite da li se prikazuju fiskalizovani računi
  4. Otvorite detalje računa i proverite PDF

8. Česta pitanja pri instalaciji

Greška: "Invalid signature"

Uzrok: Neispravan HMAC potpis.

Rešenje:

Greška: "Timestamp expired"

Uzrok: Timestamp zahteva je stariji od 5 minuta.

Rešenje: Sinhronizujte sistemsko vreme sa NTP serverom.

Greška: "Rate limit exceeded"

Uzrok: Previše zahteva u kratkom periodu.

Rešenje: Implementirajte exponential backoff. Limit je 60 zahteva po minutu.

Greška: "VSDC unavailable"

Uzrok: VSDC servis Poreske uprave nije dostupan.

Rešenje: Sačekajte i pokušajte ponovo. Implementirajte retry sa backoff-om.

eFiskalizacija.cloud — Uputstvo za instalaciju

Prilog A: Checklist za instalaciju

Pre instalacije

Registracija

Konfiguracija

Integracija

Produkcija

Prilog B: Kontakt podrška

Tehnička podrška

Email: info@efiskalizacija.cloud
Telefon: +381 62 173 1079
Radno vreme: Pon-Pet 09:00-17:00

Dokumentacija

API dokumentacija https://efiskalizacija.cloud/docs/
OpenAPI/Swagger https://efiskalizacija.cloud/docs/swagger-ui/

Proizvođač

Infogram d.o.o. Beograd
Kneza Višeslava 63
11000 Beograd, Srbija
PIB: 107026577
MB: 20476061