API Dokumentacija

Libri REST API — Dokumentacija

Libri API omogoča partnerjem integracijo dodeljevanja, porabe in poizvedovanja zlatnikov v lastne sisteme. Vsi klici zahtevajo API ključ, ki ga najdete v Partner portalu → Nastavitve.

Avtentikacija

Vsak zahtevek mora vsebovati glavo X-API-Key: VAŠ_API_KLJUČ. Ključ ne sme biti del URL-ja. API ključ najdete in regenerirate v Partner portalu.

curl -X GET https://libri.one/wp-json/libri/v1/[email protected]   -H X-API-Key: vaš_api_ključ

Osnovna URL

https://libri.one/wp-json/libri/v1/

Endpointov pregled

MetodaEndpointOpis
GET/balanceStanje zlatnikov kupca
POST/earnDodeli zlatnike po nakupu
POST/spendPorabi zlatnike kupca
POST/awardRočno dodeli zlatnike
GET/transactionsZgodovina transakcij
GET/profileProfil kupca
GET/user/lookupPoizvedba po emailu ali LBR-ID

GET /balance

Vrne stanje zlatnikov za podanega kupca.

GET /wp-json/libri/v1/[email protected]
X-API-Key: vaš_api_ključ

// Odgovor 200:
{
  or: 1500,
  libri: 1.5,
  eur_value: 37.5
}

POST /earn

Dodeli zlatnike kupcu po zaključenem nakupu. Sistem samodejno izračuna višino dodelitve glede na earn rate partnerja.

POST /wp-json/libri/v1/earn
X-API-Key: vaš_api_ključ
Content-Type: application/json

{
  email: [email protected],
  amount_eur: 49.90,
  order_id: ORD-12345
}

// Odgovor 200:
{
  success: true,
  earned_or: 50,
  new_balance_or: 1550,
  libri: 1.55
}

POST /spend

Porabi zlatnike kupca kot popust pri nakupu. Preden izvedete ta klic, preverite stanje z /balance.

POST /wp-json/libri/v1/spend
X-API-Key: vaš_api_ključ
Content-Type: application/json

{
  email: [email protected],
  amount_or: 500,
  order_id: ORD-12345
}

// Odgovor 200:
{
  success: true,
  spent_or: 500,
  eur_discount: 12.5,
  new_balance_or: 1000
}

// Odgovor 400 (nezadostno stanje):
{
  code: insufficient_balance,
  message: Insufficient balance,
  data: { balance: 300 }
}

POST /award

Ročno dodelite zlatnike kupcu — za nagrade, akcije, kompenzacije. Odbitku iz kvote sledi neposredno.

POST /wp-json/libri/v1/award
X-API-Key: vaš_api_ključ
Content-Type: application/json

{
  email: [email protected],
  amount_or: 200,
  note: Nagrada za anketo
}

GET /transactions

GET /wp-json/libri/v1/[email protected]&limit=10
X-API-Key: vaš_api_ključ

// Odgovor 200:
[
  {
    id: 42,
    type: earn,
    amount_or: 50,
    balance_after: 1550,
    merchant_name: Moja Trgovina,
    ref_order_id: ORD-12345,
    created_at: 2026-04-26 14:00:00
  }
]

GET /user/lookup

Poiščite uporabnika po emailu ali LBR-ID pred izvedbo transakcije.

GET /wp-json/libri/v1/user/[email protected]
// ali: ?q=LBR-AB12CD34

// Odgovor:
{
  exists: true,
  first_name: Ana,
  lbr_id: LBR-AB12CD34,
  email: [email protected]
}

Kode napak

HTTPKodaPomen
401no_api_keyManjka glava X-API-Key
403invalid_api_keyNeveljaven API ključ
404user_not_foundKupec z navedenim emailom ne obstaja
400insufficient_balancePremalo zlatnikov za spend
400invalid_amountNeveljaven znesek

Varnostna priporočila

  • API ključ nikoli ne vključujte v JavaScript na strani odjemalca — klice izvedite z backend strežnika.
  • Ključ shranite v okoljsko spremenljivko ali secrets manager, ne v izvorno kodo.
  • Pri sumu kompromitacije takoj regenerirajte ključ v Partner portalu.
  • Vsak klic /spend preverite z /balance preden sprejmete plačilo.
  • Shranite order_id za vsak klic — prepreča podvojene transakcije.

Vprašanja glede integracije: [email protected]

Prenos zlatnikov (Wallet-to-Wallet)

Omogoča prenos zlatnikov med Libri računi. Zahteva prijavljenega uporabnika (WP nonce auth).

Preveri prejemnika

GET /libri/v1/transfer/[email protected]
Authorization: X-WP-Nonce: {nonce}

Response 200:
{
  "email": "[email protected]",
  "lbr_id": "LBR-A1B2C3D4",
  "tier": "premium"
}

Izračun provizije

GET /libri/v1/transfer/fee?amount_or=5000
Authorization: X-WP-Nonce: {nonce}

Response 200:
{
  "flat": 10,
  "pct": 100,
  "total": 110,
  "tier": "standard",
  "rate": "2%"
}

Izvedi prenos

POST /libri/v1/transfer
Authorization: X-WP-Nonce: {nonce}
Content-Type: application/json

{
  "email": "[email protected]",
  "amount_or": 500,
  "note": "Hvala za pogostitev"
}

Response 200:
{
  "success": true,
  "sent": 500,
  "fee": 20,
  "deducted": 520,
  "tier": "standard"
}

Tabela provizij

StatusFlat%Maks. %
Standard10 or2 %
Premium10 or1 %
Partner10 or0,5 %100 or
Boss10 or0,5 %100 or
VIP10 or0 %

Omejitve: Min. 140 or · Max. 100.000 or/dan · Merchant redemption fee: 1 or (iz merchant kvote)