Integracija i konfiguracija cloud ESIR sistema
Isključivo za web shopove i daljinsku prodaju
Pre instalacije, uverite se da vaš poslovni model odgovara nameni ovog ESIR sistema:
| 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) |
Za registraciju pripremite:
Pošaljite zahtev za registraciju na: info@efiskalizacija.cloud
Ili pozovite: +381 62 173 1079
Dostavite kopije potrebnih dokumenata (PIB, rešenje o registraciji).
Nakon verifikacije, dobijate ugovor o korišćenju na potpis.
Po potpisu ugovora, nalog se aktivira u roku od 24h.
Dobijate email sa pristupnim podacima.
Nakon aktivacije, pristupite admin panelu:
https://efiskalizacija.cloud/admin/
Unesite korisničko ime i lozinku iz aktivacionog email-a.
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 |
Ako izgubite API Secret ili sumnjate na kompromitaciju:
| Okruženje | Base URL |
|---|---|
| Sandbox (test) | https://sandbox.efiskalizacija.cloud/api/multitenant.php |
| Produkcija | https://efiskalizacija.cloud/api/multitenant.php |
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
<?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
];
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
};
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
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"
}
}
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
}
]
}
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://..."
}
}
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
| 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 |
Uzrok: Neispravan HMAC potpis.
Rešenje:
timestamp + bodyUzrok: Timestamp zahteva je stariji od 5 minuta.
Rešenje: Sinhronizujte sistemsko vreme sa NTP serverom.
Uzrok: Previše zahteva u kratkom periodu.
Rešenje: Implementirajte exponential backoff. Limit je 60 zahteva po minutu.
Uzrok: VSDC servis Poreske uprave nije dostupan.
Rešenje: Sačekajte i pokušajte ponovo. Implementirajte retry sa backoff-om.
| Email: | info@efiskalizacija.cloud |
| Telefon: | +381 62 173 1079 |
| Radno vreme: | Pon-Pet 09:00-17:00 |
| API dokumentacija | https://efiskalizacija.cloud/docs/ |
| OpenAPI/Swagger | https://efiskalizacija.cloud/docs/swagger-ui/ |
Infogram d.o.o. Beograd
Kneza Višeslava 63
11000 Beograd, Srbija
PIB: 107026577
MB: 20476061